·Updated

MCP Server for Makerkit: AI-Assisted SaaS Development

Makerkit ships with an MCP Server that gives AI coding assistants like Claude Code, Cursor, and Windsurf direct access to your component library, scripts, and PRD management.

Makerkit now ships with an MCP Server that gives AI coding assistants direct access to your codebase structure, UI components, and development scripts.

MCP (Model Context Protocol) is an open standard that allows AI assistants to call external tools and access structured data. Instead of relying on context windows and file reading, AI assistants call specific tools to get exactly what they need. Makerkit's MCP Server exposes component discovery, script management, and PRD tracking to Claude Code, Cursor, and Windsurf, reducing hallucination by giving AI agents real-time access to your actual component APIs and project structure.

Available Kits

The MCP Server ships with:

Setup

Each kit includes a preconfigured .mcp.json file. Build the server once, and AI tools detect it automatically. Requires Node.js 18+ to run the MCP server.

Build the MCP Server

pnpm --filter "@kit/mcp-server" build

This creates the server at tooling/mcp-server/build/index.js. Verify the build succeeded:

ls tooling/mcp-server/build/index.js

If the file exists, you're ready to connect your AI tool.

Automatic Detection

Claude Code, Cursor, and Windsurf automatically detect the .mcp.json file in your project root. After building, restart your AI session to pick up the server.

The .mcp.json configuration:

{
"mcpServers": {
"makerkit": {
"type": "stdio",
"command": "node",
"args": ["tooling/mcp-server/build/index.js"]
}
}
}

Manual Configuration

If automatic detection fails, add the config manually.

Cursor - Add to your MCP settings:

{
"makerkit": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/project/tooling/mcp-server/build/index.js"]
}
}

Claude Code - Run:

claude mcp add makerkit node /absolute/path/to/project/tooling/mcp-server/build/index.js

Available Tools

The MCP Server provides three tool categories:

UI Component Tools

Tools for discovering and inspecting the @kit/ui component library:

  • get_components - List all components with categories and descriptions
  • get_component_content - Get the full source code of a component
  • components_search - Search by keyword in name, description, or category
  • get_component_props - Extract props, interfaces, and CVA variants

Script Tools

Tools for understanding available pnpm scripts:

  • get_scripts - List scripts sorted by importance with usage guidance
  • get_script_details - Get detailed info about a specific script
  • get_healthcheck_scripts - Get critical scripts to run after code changes (typecheck, lint, format, test)

PRD Management Tools

Tools for creating and tracking Product Requirements Documents:

  • list_prds - List all PRD files in the .prds directory
  • get_prd - Retrieve contents of a specific PRD
  • create_prd - Create a structured PRD with title, problem, solution, and metrics
  • add_user_story - Add user stories with acceptance criteria
  • update_story_status - Track story progress (not_started, research, in_progress, review, completed, blocked)
  • export_prd_markdown - Export PRD as markdown for sharing
  • get_implementation_prompts - Generate implementation tasks from user stories
  • get_improvement_suggestions - Get suggestions to improve the PRD
  • get_project_status - Get progress overview, next steps, and blockers

Common Pitfalls

  • Server not detected - Restart your AI tool session after building. Most tools cache MCP config at startup.
  • Forgot to rebuild - After modifying the MCP server source, run the build command again.
  • Wrong path in manual config - Use absolute paths. Relative paths fail when the AI tool runs from a different directory.
  • Tools not appearing - Verify the build completed successfully. Check that tooling/mcp-server/build/index.js exists.

Why MCP Matters for SaaS Development

AI coding assistants work better when they understand your codebase structure. Without MCP, they guess at file locations, component APIs, and project conventions.

Before MCP: Ask the AI to add a loading state. It creates a new Spinner component from scratch, missing the existing @kit/ui spinner with size variants and proper styling.

With MCP: The AI calls components_search({ query: "spinner" }), finds the existing component, checks its props with get_component_props, and uses it correctly.

With MCP, the AI:

  • Finds the right component instead of suggesting you create one that already exists
  • Knows your healthcheck scripts and runs them after making changes
  • Tracks requirements through structured PRDs instead of ad-hoc instructions

When to Use MCP

Use MCP when:

  • Working with unfamiliar parts of the codebase
  • Onboarding new team members who use AI assistants
  • Managing multi-feature projects with PRDs
  • You want the AI to follow your existing patterns

Skip MCP setup when:

  • Making quick fixes to code you wrote
  • Your AI tool doesn't support MCP yet
  • Working on a simple script outside the monorepo

Frequently Asked Questions

Does MCP work with VS Code?
MCP works with AI tools that support the Model Context Protocol. Currently, Claude Code, Cursor, and Windsurf support MCP. Standard VS Code doesn't have MCP support, but Cursor (which is VS Code-based) does.
Do I need to rebuild after kit updates?
Yes. After pulling kit updates that modify the MCP server source code in tooling/mcp-server/src, run pnpm --filter @kit/mcp-server build again. Then restart your AI session.
Can I add custom MCP tools?
Yes. Add new tool files in tooling/mcp-server/src/tools/ and register them in index.ts. Rebuild the server after changes. The existing tools provide a template for the MCP SDK patterns.
Does MCP work offline?
The MCP server runs locally and doesn't require internet access. However, your AI assistant (Claude Code, Cursor, etc.) still needs internet to communicate with its AI backend.
What Node.js version is required?
Node.js 18 or later is required to run the MCP server. The kits use modern JavaScript features that aren't available in older Node versions.

Documentation

Get Started