Skip to main content

add-mcp-tool

Add a new MCP tool to the Envoy server (Embody development)

Source facts

Repository
dylanroscover/Embody
Last source activity
August 29, 2026 at 06:02
Detected SKILL.md language
English
Stars
182
Forks
11

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
add-mcp-tool
description
Add a new MCP tool to the Envoy server (Embody development)
disable-model-invocation
true
# Add MCP Tool to Envoy Steps for adding a new MCP tool: 1. **Add the tool function** inside `_register_tools()` in `EnvoyExt.py` - Function signature and docstring define the MCP schema (parameter names, types, descriptions) - Treat these as API contracts - changes break client integrations - The tool function queues the operation for main-thread execution 2. **Add a handler case** in `_onRefresh()` for the TD operation - This is where the actual TouchDesigner operations execute (on the main thread) - Wrap TD operations in try/except, return `{'error': str(e)}` dicts on failure - Validate all inputs before passing to TD 3. **Update `EXPECTED_ENVOY_TOOLS`** in `dev/embody/unit_tests/test_agent_contract.py` - The Tier-1 agent contract test fails on inventory drift in either direction -- same commit as the tool change - Tools register on the MCPServer instance at Envoy START -- restart Envoy before believing a mismatch 4. **Update the MCP tools reference** - Update the `/mcp-tools-reference` skill in `.claude/skills/mcp-tools-reference/SKILL.md` - Update the corresponding template DAT if it exists 5. **Update documentation** - Add to the root CLAUDE.md if the tool is significant - Update `text_claude.md` template DAT for user projects 6. **Test via MCP Inspector or Claude Code** - Verify the tool appears in the tool list - Test with valid and invalid inputs - Check error handling
View on GitHub