feat: default to complete tool config and add server instructions#73
feat: default to complete tool config and add server instructions#73devondragon merged 3 commits intomainfrom
Conversation
Change default MOTION_MCP_TOOLS from "essential" (7 tools) to "complete" (10 tools). With only 10 consolidated tools and MCP clients now supporting deferred tool loading, gating 3 useful tools behind opt-in provides no practical benefit. - Update default in mcp-server.ts, worker.ts, and ToolConfigurator.ts - Add SERVER_INSTRUCTIONS constant for MCP tool discovery - Sync version strings to 2.4.0 in both entry points - All existing config values (minimal, essential, custom:) still work Closes #71
Reframe tool configuration section now that complete is the default. Remove MOTION_MCP_TOOLS from primary setup examples since users no longer need to set it. Replace "MCP clients have tool limits" framing with guidance on reducing tool noise when running multiple servers.
PR Review: feat: default to complete tool config and add server instructionsOverall this is a clean, well-scoped PR. The changes are logically coherent and the PR description clearly explains the rationale. Here is my detailed feedback: Default Config Change (
|
| Area | Status |
|---|---|
| Default config change | ✅ Well-reasoned |
| Constants extraction | ✅ Good separation of concerns |
| Version sync | ✅ Needed housekeeping |
| Documentation | ✅ Consistent and accurate |
| Breaking changes | ✅ None |
| Security | ✅ No concerns |
| Performance | ✅ No impact |
One actionable suggestion: Reconsider the Keywords: label at the end of SERVER_INSTRUCTIONS — integrating those terms into natural prose would read better and be less likely to look odd in clients that surface instructions text.
Otherwise this is ready to merge. The changes are low-risk, improve discoverability, and clean up accumulated inconsistencies.
There was a problem hiding this comment.
Pull request overview
This pull request changes the default tool configuration for the Motion MCP server from essential (7 tools) to complete (10 tools), based on the rationale that modern MCP clients now support deferred tool loading which eliminates the context budget constraints that originally motivated the tiered configuration system. The PR also adds server instructions to improve tool discovery and syncs version strings to 2.4.0.
Changes:
- Default tool configuration changed from
essentialtocompleteacross both entry points - Added
SERVER_INSTRUCTIONSconstant with comprehensive capability descriptions and keywords - Version strings updated from
2.0.0/2.3.0to2.4.0in both entry points - Documentation updated to reflect new default and reframe tool configuration purpose
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/constants.ts | New file containing SERVER_INSTRUCTIONS with comprehensive capability descriptions and keywords |
| src/worker.ts | Updated McpServer constructor to include instructions, changed default to "complete", version to 2.4.0 |
| src/mcp-server.ts | Updated Server constructor to include instructions, changed default to "complete", version to 2.4.0 |
| src/tools/ToolConfigurator.ts | Updated error handling to default to "complete" instead of "essential" |
| README.md | Updated documentation to reflect new default and removed MOTION_MCP_TOOLS from example configs |
| CLAUDE.md | Updated tool configuration section to show "complete" as default |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Update two test assertions that still expected the old "essential" fallback for invalid configs — they now correctly assert "complete". Also fix .env.example: the active MOTION_MCP_TOOLS=essential line was overriding the new code default for anyone who copied the file. Replaced with a commented-out example and updated the default note to "complete".
Summary
essential(7 tools) tocomplete(10 tools). With only 10 consolidated tools and MCP clients now supporting deferred tool loading (defer_loading), gating 3 useful tools behind opt-in provides no practical benefit.SERVER_INSTRUCTIONSto the MCP server handshake — a keyword-rich description of all capabilities, improving tool discovery for clients that support it.mcp-server.ts,worker.ts) to2.4.0to matchpackage.json.All existing
MOTION_MCP_TOOLSvalues (minimal,essential,complete,custom:) continue to work — no breaking changes.Closes #71
Test plan
npm run build— TypeScript compiles cleanlynpm run worker:type-check— Worker types passMOTION_MCP_TOOLSset)MOTION_MCP_TOOLS=essential— backward compat, 7 toolsMOTION_MCP_TOOLS=minimal— backward compat, 3 tools