mcp-server-cantrip
Cantrip helps technical founders find their first customers with structured GTM workflows.
- Nail your ICP — define ideal customer profiles, buyer pains, and value props
- Research competitors — map the landscape and find where you can win
- Get next actions — gap analysis tells you exactly what to work on, then does it for you
Works with Claude Code / Claude Desktop / Cursor — any MCP-compatible agent.
Quick start
- Get your API key at cantrip.ai (settings)
- Add the server:
claude mcp add cantrip -e CANTRIP_API_KEY=your-api-key -- npx -y mcp-server-cantrip- Try this prompt:
"Initialize a Cantrip project for my product: [describe yours in one sentence]"
Configuration
The Quick start command above covers Claude Code. Verify it worked with claude mcp list or the /mcp command inside a session.
Claude Desktop / Cursor / manual JSON
All MCP clients use the same JSON block. Add it to the appropriate config file:
| Client | Config file |
|---|---|
| Claude Code (manual) | ~/.claude.json |
| Claude Code (project-scoped) | .mcp.json in project root |
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | .cursor/mcp.json (project) or ~/.cursor/mcp.json (global) |
{
"mcpServers": {
"cantrip": {
"command": "npx",
"args": ["-y", "mcp-server-cantrip"],
"env": {
"CANTRIP_API_KEY": "your-api-key"
}
}
}
}Note: The
-yflag is required — without it,npxprompts for confirmation which hangs over stdio.
Windows (not WSL): Use
"command": "cmd"with"args": ["/c", "npx", "-y", "mcp-server-cantrip"].
Project-scoped with teams: Use
"${CANTRIP_API_KEY}"in the env value so each developer sets the key in their shell profile.
Project Context (.cantrip.json)
Each project directory contains a .cantrip.json file that tells Cantrip which project to target:
{
"project": "my-saas"
}This file is created automatically by cantrip_init (new project) or cantrip_connect (existing project). The agent manages it — you don't need to create it manually.
Multiple projects on the same machine? Each project directory gets its own .cantrip.json. The agent switches context by working in the right directory.
Examples of How to use Cantrip
After connecting Cantrip, try these prompts in order:
- "Initialize a Cantrip project for my product: [one sentence about what you're building]"
- "Find my likely ICP and top 3 buyer pains."
- "Research 5 competitors and tell me where I can win."
- "Give me a one-week GTM plan."
Troubleshooting
Server not found / no tools appear:
- Run
claude mcp list(Claude Code) or/mcpinside a session to check connection status. - Make sure the config is in the right file — Claude Code uses
~/.claude.jsonor.mcp.json, not~/.claude/mcp.json.
Server hangs on startup:
- Ensure you have
-yin the npx args. Without it, npx waits for interactive confirmation that can never arrive over stdio.
"Cannot reach Cantrip API" errors:
- Verify
CANTRIP_API_KEYis set in theenvblock of your MCP config. - Check that
https://api.cantrip.aiis reachable from your network.
Windows "Connection closed" errors:
- Use
"command": "cmd"with"args": ["/c", "npx", "-y", "mcp-server-cantrip"].
Architecture
Agent (Claude, etc.) ── MCP protocol (stdio) ──> mcp-server-cantrip ── HTTPS POST ──> https://api.cantrip.ai
The MCP server is a thin translation layer. It converts MCP tool calls into {command, args, flags} JSON envelopes and POSTs them to the Cantrip API. Zero business logic — identical contract to the CLI and React UI.
Tools (17)
Setup
| Tool | Description |
|---|---|
cantrip_connect |
Connect workspace to a project (reads/writes .cantrip.json) |
cantrip_status |
Check if the daemon is running |
cantrip_init |
Create a new project and auto-connect |
Core Commands
| Tool | Description |
|---|---|
cantrip_snapshot |
Project overview, drill into entity types |
cantrip_next |
List gap-analysis opportunities |
cantrip_next_prompt |
Generate a context-rich LLM prompt for an opportunity |
cantrip_next_run |
Spawn a background agent for an opportunity |
cantrip_history |
Query the audit trail |
Review
| Tool | Description |
|---|---|
cantrip_review |
List items pending review |
cantrip_review_accept |
Accept an inferred entity |
cantrip_review_reject |
Reject an inferred entity |
cantrip_review_resolve |
Resolve an escalation |
cantrip_review_dismiss |
Dismiss an escalation |
Entity CRUD (generic)
| Tool | Description |
|---|---|
cantrip_entity_list |
List entities of a type |
cantrip_entity_show |
Show entity detail |
cantrip_entity_add |
Create a new entity |
cantrip_entity_edit |
Edit an existing entity |
Supported entity types: icp, pain_point, value_prop, experiment, channel, competitor, contact
License
MIT