Use mcp-pairing
Recommend which MCP servers to connect for a loop, workflow or task, stage by stage, with the narrowest access that works
Recommend which MCP servers to connect for a loop, workflow or task, stage by stage, with the narrowest access that works — what outside context or action each stage needs, the server that provides it (only ones the user named or the vendor officially publishes), the scopes to grant (read-only by default, never write on a review or gate stage), what it must not be able to do, the export-file fallback that keeps the stage running without it, and which stages need no server at all.
Reach for it when the user asks "which MCP servers should we hook up for this loop", "what should our agent connect to", "what token scopes does this stage need", "is this MCP setup too broad", or wants to wire GitHub, GitLab, Jira, Linear, Slack, Sentry, Grafana or a database into an agent workflow.
Install it
npx skilldrop-cli install mcp-pairing # Claude Code, your user folder
npx skilldrop-cli install mcp-pairing --project # Claude Code, this repo
npx skilldrop-cli install mcp-pairing --ide cursor # or kiro, codex, antigravity, copilot
It is part of the AI engineering pack: --pack ai-engineering installs it with its neighbours.
Ask for it
Say it the way you would to a colleague. Requests like these route to it:
- "Which MCP servers should we hook up for our release loop? We use GitLab, Linear and Grafana"
- "What token scopes does each stage of our build loop need for the GitHub MCP server?"
- "Here's our .mcp.json — is this too much access for a weekly status report?"
- "We want the on-call agent to read Sentry and Slack. What should we connect and with what permissions?"
- "Should our research workflow get a web browsing server and write access to Notion?"
Requests like these belong to a different skill, so it shouldn't answer them:
- "Threat-model this agent: it reads support tickets, queries our customer DB and can send email"
- "Design an agent loop that keeps our runbooks up to date, with exit criteria and a human gate"
- "How should I split this code migration across parallel subagents?"
If another skill answers instead, ask for this one by name: "use mcp-pairing".
Check what you get
A good result:
- Every stage has a row, including the ones that get None. A plan that lists only servers hides which stages hold nothing.
- No verify or gate stage holds a write scope. Not comment, not approve, not label.
- Every write grant names the stage whose output it is and sits on its own credential.
- No invented names. Every server, package, URL and scope in the plan came from the user or is a vendor's own server with the confirm step written beside it.
- Every grant is narrower than "read-only": a scope, a project or repository, a role.
- Every stage that reads untrusted content is checked against write, exec and network tools in the same session, and the combination is split or dropped.
- Every stage has an export-file fallback a person can produce today.
- At least one server is argued against or the plan says why each one earns its place.
- No token value appears anywhere, and the config placement keeps tokens out of git.
See a worked example
Use something else when
- Threat-modelling a finished agent's tools and data for exfiltration paths —
agent-threat-model - Designing the loop itself: stages, exit criteria, caps, human gates —
agent-loop-design - Deciding how to split work across subagents and what each one is told —
subagent-design - Writing the organization's rules for which AI tools and data are allowed —
ai-usage-policy - Setting up one tracker step by step (Jira, Linear, GitHub Projects) — that is the per-tracker integration guide in the skilldrop docs, not a plan
Next
- SKILL.md, the instructions the agent reads
- Its page on the site
- Related: agent-loop-design, agent-threat-model, ai-usage-policy, subagent-design