MCP Integration

Bootspring uses the Model Context Protocol (MCP) to communicate with AI assistants. This open standard enables secure, standardized tool access across different AI platforms.

What is MCP?#

The Model Context Protocol (MCP) is an open protocol developed by Anthropic that enables AI assistants to securely access external tools and data sources.

┌─────────────────────────────────────────────────────────────────────────┐ │ MCP Architecture │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ AI │ MCP │ MCP │ Tools │ Bootspring │ │ │ │ Assistant │◄──────►│ Server │◄──────►│ Features │ │ │ │ (Claude) │Protocol │ (Bootspring)│ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ The AI assistant uses MCP to access Bootspring tools without │ │ direct integration - the protocol handles all communication. │ │ │ └─────────────────────────────────────────────────────────────────────────┘

Why MCP?#

BenefitDescription
StandardizedWorks with any MCP-compatible AI assistant
SecureControlled capability exposure
ExtensibleEasy to add new tools
PortableWorks across platforms (Claude, Cursor, etc.)

Bootspring MCP Server#

Bootspring runs as an MCP server, exposing 19 tools for AI assistants:

Core Tools#

ToolPurpose
bootspring_assistGeneral development assistance
bootspring_contextProject context access
bootspring_agentSpecialized agent invocation
bootspring_skillCode pattern generation
bootspring_qualityQuality gate execution

Generation Tools#

ToolPurpose
bootspring_generateContext file generation
bootspring_seedProject seeding/scaffolding
bootspring_prdPRD document generation
bootspring_mvpMVP planning
bootspring_contentContent generation

Workflow Tools#

ToolPurpose
bootspring_orchestratorWorkflow management
bootspring_loopAutonomous execution
bootspring_todoTask tracking
bootspring_dashboardDashboard integration

Configuration Tools#

ToolPurpose
bootspring_pluginPlugin management
bootspring_capabilitiesFeature discovery
bootspring_telemetryUsage analytics
bootspring_memoryPersistent memory
bootspring_autopilotAutopilot mode

Setting Up MCP#

Configuration File#

Create .mcp.json in your project root:

1{ 2 "mcpServers": { 3 "bootspring": { 4 "command": "npx", 5 "args": ["bootspring", "mcp"], 6 "env": { 7 "BOOTSPRING_API_KEY": "${BOOTSPRING_API_KEY}" 8 } 9 } 10 } 11}

Environment Variables#

Set your API key:

# .env.local BOOTSPRING_API_KEY=bsk_your_api_key_here

Verifying Connection#

Test the MCP connection:

bootspring mcp --test

Expected output:

✓ MCP server running ✓ 19 tools registered ✓ Authentication valid ✓ Ready for connections

How Tools Work#

Tool Invocation Flow#

┌─────────────────────────────────────────────────────────────────────────┐ │ Tool Invocation Flow │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 1. User Request │ │ "Help me add authentication" │ │ │ │ │ ▼ │ │ 2. AI Determines Tool │ │ → bootspring_agent with auth-expert │ │ │ │ │ ▼ │ │ 3. MCP Protocol │ │ AI ──► MCP Server ──► Bootspring │ │ │ │ │ ▼ │ │ 4. Tool Execution │ │ Bootspring processes request │ │ │ │ │ ▼ │ │ 5. Response │ │ Bootspring ──► MCP Server ──► AI ──► User │ │ │ └─────────────────────────────────────────────────────────────────────────┘

Tool Schema#

Each tool has a defined schema:

1// Example: bootspring_agent tool schema 2{ 3 name: "bootspring_agent", 4 description: "Invoke a specialized expert agent", 5 inputSchema: { 6 type: "object", 7 properties: { 8 agent: { 9 type: "string", 10 description: "Agent name (e.g., 'frontend-expert')" 11 }, 12 task: { 13 type: "string", 14 description: "Task or question for the agent" 15 }, 16 context: { 17 type: "string", 18 description: "Additional context" 19 }, 20 outputFormat: { 21 type: "string", 22 enum: ["guidance", "code", "review", "plan"] 23 } 24 }, 25 required: ["agent", "task"] 26 } 27}

Tool Responses#

Tools return structured responses:

1{ 2 "success": true, 3 "data": { 4 "agent": "frontend-expert", 5 "response": { 6 "summary": "Here's how to create...", 7 "code": [...], 8 "recommendations": [...] 9 } 10 }, 11 "meta": { 12 "duration": 1234, 13 "tokensUsed": 500 14 } 15}

Compatible Platforms#

Claude Desktop#

Native MCP support:

1// ~/Library/Application Support/Claude/claude_desktop_config.json 2{ 3 "mcpServers": { 4 "bootspring": { 5 "command": "npx", 6 "args": ["bootspring", "mcp"] 7 } 8 } 9}

Claude Code (CLI)#

Automatic detection via .mcp.json:

# In your project directory claude # Automatically connects to Bootspring MCP

Cursor IDE#

Configure in settings:

1// .cursor/mcp.json 2{ 3 "mcpServers": { 4 "bootspring": { 5 "command": "npx", 6 "args": ["bootspring", "mcp"] 7 } 8 } 9}

VS Code (Copilot Chat)#

Coming soon with MCP support in Copilot.

Security Model#

Capability Exposure#

Bootspring only exposes safe operations:

┌─────────────────────────────────────────────────────────────────────────┐ │ Security Model │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ Exposed (Safe) │ Not Exposed (Protected) │ │ ───────────────────── │ ──────────────────────── │ │ • Read project context │ • Direct file system access │ │ • Generate code │ • Shell command execution │ │ • Run quality checks │ • Network requests │ │ • Access documentation │ • Environment variables │ │ • Invoke agents │ • Sensitive credentials │ │ │ │ └─────────────────────────────────────────────────────────────────────────┘

API Key Scoping#

API keys have scoped permissions:

Key TypePermissions
DevelopmentFull access in local environment
CI/CDQuality checks only
Read-onlyContext and documentation

Request Validation#

All tool requests are validated:

  1. Schema validation: Input matches expected format
  2. Permission check: API key has required access
  3. Rate limiting: Prevents abuse
  4. Audit logging: All requests logged

Advanced Configuration#

Custom Tool Parameters#

Override default tool behavior:

1// bootspring.config.js 2module.exports = { 3 mcp: { 4 tools: { 5 'bootspring_agent': { 6 defaultVerbosity: 'detailed', 7 timeout: 30000, 8 }, 9 'bootspring_quality': { 10 enabled: true, 11 autoRun: ['pre-commit'], 12 }, 13 }, 14 }, 15};

Tool Filtering#

Enable/disable specific tools:

1module.exports = { 2 mcp: { 3 // Only expose these tools 4 enabledTools: [ 5 'bootspring_assist', 6 'bootspring_agent', 7 'bootspring_skill', 8 'bootspring_quality', 9 ], 10 11 // Or disable specific tools 12 // disabledTools: ['bootspring_autopilot'], 13 }, 14};

Custom Server Port#

Run on a specific port:

1module.exports = { 2 mcp: { 3 port: 3100, // Default: auto-assigned 4 host: 'localhost', 5 }, 6};

Debugging#

Enable Debug Logging#

DEBUG=bootspring:mcp npx bootspring mcp

View Tool Calls#

bootspring mcp --verbose

Output:

[MCP] Tool call: bootspring_agent [MCP] Input: { agent: "frontend-expert", task: "..." } [MCP] Duration: 1234ms [MCP] Output: { success: true, data: {...} }

Test Individual Tools#

bootspring mcp --test-tool bootspring_agent

Troubleshooting#

Connection Issues#

Symptom: AI assistant can't connect to Bootspring

Solutions:

  1. Verify .mcp.json exists and is valid JSON
  2. Check BOOTSPRING_API_KEY is set
  3. Run bootspring mcp --test
  4. Restart the AI assistant

Tool Not Found#

Symptom: "Tool bootspring_xyz not found"

Solutions:

  1. Check tool name spelling
  2. Verify tool is enabled in config
  3. Check tier access (some tools require Pro/Team)

Slow Responses#

Symptom: Tools take a long time to respond

Solutions:

  1. Check network connectivity
  2. Reduce context size
  3. Use more specific queries
  4. Check server status at status.bootspring.com

Authentication Errors#

Symptom: "Invalid API key" errors

Solutions:

  1. Verify API key is correct
  2. Check key hasn't expired
  3. Ensure key has required permissions
  4. Regenerate key in dashboard

Protocol Details#

Message Format#

MCP uses JSON-RPC 2.0:

1// Request 2{ 3 "jsonrpc": "2.0", 4 "id": 1, 5 "method": "tools/call", 6 "params": { 7 "name": "bootspring_agent", 8 "arguments": { 9 "agent": "frontend-expert", 10 "task": "Create a button component" 11 } 12 } 13} 14 15// Response 16{ 17 "jsonrpc": "2.0", 18 "id": 1, 19 "result": { 20 "content": [ 21 { 22 "type": "text", 23 "text": "Here's a button component..." 24 } 25 ] 26 } 27}

Transport#

Bootspring MCP supports:

  • stdio: Default for local development
  • HTTP: For remote/CI environments
module.exports = { mcp: { transport: 'stdio', // or 'http' }, };