SKILL.md
MCP Server Spec Skill
Every SaaS is shipping an MCP server; most dump their REST API as forty tools and wonder why agents flail. This skill designs the server as what it actually is: a user interface for a non-human user — few tools, task-shaped, with descriptions written for a model deciding under uncertainty.
What This Skill Produces
- A toolset design: 3-10 tools mapped to agent tasks, not API endpoints
- Per-tool specs: name, description (the routing surface), parameters, returns, error behaviour
- Auth & scoping decisions: how credentials flow, what a token can never do
- An explicit not-exposed list with reasons — the most load-bearing section
- A test plan: the agent-eval loop that proves the toolset works
Required Inputs
Ask for (if not already provided):
- The product and what users hire it for (the top 5 jobs, not the feature list)
- The existing API surface (endpoints or capability list) if one exists
- Who the agent acts for — the end user's own account? a service account? multi-tenant?
- The riskiest actions the product supports (deletes, sends, payments, permission changes)
Design Method
- Start from agent tasks, not endpoints. List the 5-8 things an agent will actually be asked to do with this product ("file an expense", "find last quarter's report", "summarise ticket history"). Each becomes one tool — even if it spans four API calls internally. An endpoint-mirrored toolset makes the agent do your orchestration; a task-shaped one does it for them.
- Keep the toolset small. Every tool dilutes selection accuracy on every call. Target ≤10; past ~15, split into separately-loadable servers by workflow. Merge list/get/search variants behind one tool with parameters where natural.
- Write descriptions as routing surfaces. The description is all the model sees when choosing. Formula per tool: what it does (one clause) · when to use it · what it returns. Test: could a model pick correctly between your two closest tools from descriptions alone?
