Model Context Protocol
SpecPilot MCP Server
Generate a complete .specs/ bundle from inside your AI client. Add one URL, then ask for it in plain English.
Server endpoint
https://init.specpilot.dev/mcpAdd the server
The same URL works in every client. Only the place you paste it changes.
Claude Code
CLIOne command, run it anywhere.
Claude Desktop & Cowork
ConnectorAdded once, then available in every chat.
- Open Settings → Connectors
- Choose Add custom connector
- Paste
https://init.specpilot.dev/mcpas the URL
Cursor, VS Code & others
MCP configAny client that speaks MCP over HTTP works. Add the same URL as an HTTP (streamable) server wherever that client keeps its MCP configuration. We deliberately do not print menu paths here, since those move between versions and a stale path is worse than none.
How to use it
Once the server is added, this is the whole interface.
Works in every client
Just ask: “Onboard this project with SpecPilot”
MCP prompts are surfaced differently by each client, so there is no universal slash command. Plain English is the one invocation that always works.
Then, to answer by picking rather than typing
“Can you ask this as a question prompt?”
Your client then offers each question as numbered options you select, instead of waiting for you to describe the answer in prose.
SpecPilot reads your repo and infers what it can, asks only what it cannot, then writes the .specs/ bundle, reading your existing code to fill it in, or drafting from your answers if the project is new.
/mcp__specpilot__onboard. The mcp__specpilot__ prefix is added by the client and cannot be shortened..specs/: your IDE rules file lands at the repository root too, as CLAUDE.md, .cursor/rules/, .github/copilot-instructions.md or whichever your client uses.Two tips worth knowing
Neither of these is discoverable from the client. Both came out of real use.
Answer the project-description question with a chip label, verbatim
When SpecPilot asks what your project is, it offers a set of labels. Reply with one of them exactly as written:
SpecPilot matches those labels exactly to infer your project category. Free prose infers nothing, and silently loses every downstream question-gating rule. Nothing warns you, so the specs simply come back thinner than they should have.
Want the numbered chooser instead of typing prose?
Ask: “Can you ask this as a question prompt?”
The interactive numbered picker is a client-rendered affordance. MCP gives a server no way to request it, so the client only offers it when you ask. Pairs well with the tip above, since picking a numbered option gets the chip label exactly right for you.
What the server offers
Two tools and eight prompts. No prefix on the prompt names.
Tools
| Tool | What it does |
|---|---|
| specpilot_next_questions | Returns the next batch of onboarding questions for your project. |
| specpilot_generate_specs | Turns your answers into the complete spec bundle. |
Prompts
Note there is no specpilot- prefix. Older names such as specpilot-onboard were removed and no longer resolve.
Output
The full .specs/ set plus IDE rules: 14 files with no IDE selected, 24 to 25 with one.
New project or existing one
Same questions, same files either way. SpecPilot works out which kind of repo it is and adapts the final step, so there is nothing for you to choose.
New project
An empty repo, or scaffolding with no real code yet.
Drafts the specs from your answers and marks anything it had to assume, so you can review the guesses before they harden.
Existing codebase
Anything with real source and a history behind it.
Reads the code and writes down what is actually implemented, flagging gaps rather than inventing features that are not there.
FAQs
Questions? Answers.
No. The server never sees your repository. Any reading of your code happens locally, by your own IDE, when it runs the generated .specs/development/onboarding.md.
Prefer not to add a server?
The web wizard generates the same bundle in your browser, and the CLI does it from your terminal.
Open the wizard