Reduce MCP tool description token usage by ~18-20% (est. 4-5k tokens)
to comply with Anthropic's guideline: "MCP servers should be frugal
with their use of tokens" while following official MCP conventions.
Changes:
- Create operation/params package with 39 reusable parameter constants
- Update all 30 MCP tool definitions across 10 files
- Follow patterns from official MCP servers (GitHub MCP, spec examples)
- Standardize pagination parameters to use "limit" consistently
Parameter descriptions now match industry standards:
- "Repository owner" (not "Owner") - per GitHub official MCP
- "Repository name" (not "Repo") - per GitHub official MCP
- "Page number (1-based)" - added context
- "After time (RFC3339)" - MCP spec pattern
- "Sort order", "Username", "Organization name" - descriptive phrases
Token optimization techniques:
- Compress enum descriptions using pipe syntax: "(open|closed|all)"
- Remove filler words: "Name of the X" → "X name"
- Use concise but contextual phrases per MCP best practices
Benefits:
- 18-20% reduction in tool definition token usage (19.7k → ~16k tokens)
- Improved maintainability through shared parameter constants
- Better compliance with Anthropic MCP Directory Policy
- Consistent with official MCP server conventions
Technical details:
- Replaced 200+ string literals with constants from params package
- Updated function implementations to use "limit" instead of "pageSize"
- Removed unused constants (PageSize, Assignees)
- Maintained backward compatibility and full functionality
- All tools build successfully and retain original behavior
References:
- Anthropic MCP Directory Policy on token efficiency
- github.com/github/github-mcp-server (official patterns)
- modelcontextprotocol.io/specification (spec examples)
- github.com/modelcontextprotocol/servers (reference implementations)