Build agentic MCP servers by composing existing MCP tools.
MCPC is the SDK for building agentic MCP (Model Context Protocol) Servers. You can use it to:
- Create Powerful Agentic MCP Tools: Simply describe your vision in text and reference tools from the expanding MCP community. As standard MCP tools, your agents work everywhere and collaborate seamlessly.
- Fine-Tune Existing Tools: Flexibly modify existing tool descriptions and parameters, or wrap and filter results to precisely adapt them to your specific business scenarios.
- Build Multi-Agent Systems: By defining each agent as a MCP tool, you can compose and orchestrate them to construct sophisticated, collaborative multi-agent systems.
- Portability and agent interoperability: Build once, run everywhere as MCP tools - agents work across all MCP clients and can discover and collaborate with each other through standard MCP interfaces
- Simple composition and fine-tuning: Compose MCP servers as building blocks, select and customize tools, or modify their descriptions and parameters
- Two agentic tool modes: Interactive (agentic) or autonomous (sampling)
- Logging and tracing: Built-in MCP logging and OpenTelemetry tracing support
Visit mcpc.tech to browse servers from the official MCP registry, discover tools, and generate ready-to-use agents.
Let AI help you discover servers and build agents:
Add to your MCP client:
{
  "mcpServers": {
    "mcpc-builder-agent": {
      "command": "npx",
      "args": ["-y", "@mcpc-tech/builder", "mcpc-builder-agent"]
    }
  }
}Use the SDK directly for complete customization. See examples below.
# npm (from npm registry)
npm install @mcpc-tech/core
# npm (from jsr)
npx jsr add @mcpc/core
# deno
deno add jsr:@mcpc/core
# pnpm (from npm registry)
pnpm add @mcpc-tech/core
# pnpm (from jsr)
pnpm add jsr:@mcpc/coreOr run directly with the CLI (no installation required):
# Run with remote configuration
npx -y @mcpc-tech/cli --config-url \
  "https://raw.githubusercontent.com/mcpc-tech/mcpc/main/packages/cli/examples/configs/codex-fork.json"Build your own Codex or Claude Code fork in minutes:
import { type ComposeDefinition, mcpc } from "@mcpc/core";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
// 1. Define MCP server dependencies
const deps: ComposeDefinition["deps"] = {
  mcpServers: {
    "desktop-commander": {
      command: "npx",
      args: ["-y", "@wonderwhy-er/desktop-commander@latest"],
      transportType: "stdio",
    },
    lsmcp: {
      command: "npx",
      args: ["-y", "@mizchi/lsmcp", "-p", "tsgo"],
      transportType: "stdio",
    },
    github: {
      transportType: "streamable-http",
      url: "https://api.githubcopilot.com/mcp/",
      headers: {
        Authorization: `Bearer ${process.env.GITHUB_PERSONAL_ACCESS_TOKEN}`,
      },
    },
  },
};
// 2. Write agent description with tool references
const description = `
You are a coding assistant with advanced capabilities.
Your capabilities include:
- Reading and writing files
- Searching the codebase using language server features  
- Executing terminal commands to build, test, and run projects
- Interacting with GitHub to create pull requests and manage issues
To perform these actions, you must use the following tools:
- To execute a shell command: <tool name="desktop-commander.execute_command" />
- To read a file's content: <tool name="desktop-commander.read_file" />
- To write content to a file: <tool name="desktop-commander.write_file" />
- To find symbol definitions: <tool name="lsmcp.definition" />
- To create a GitHub pull request: <tool name="github.create_pull_request" />
`;
// 3. Create and start the server
const server = await mcpc(
  [
    {
      name: "coding-agent",
      version: "0.1.0",
    },
    { capabilities: { tools: {}, sampling: {} } },
  ],
  [
    {
      name: "coding-agent",
      options: {
        mode: "agentic",
      },
      description,
      deps,
    },
  ],
);
const transport = new StdioServerTransport();
await server.connect(transport);💡 Complete Example: See the full Codex fork tutorial for a step-by-step walkthrough.
Three simple steps:
- Define dependencies - List the MCP servers you want to use
- Write agent description - Describe what your agent does and reference tools
- Create server - Use mcpc()to build and connect your server
Agentic Mode (default) - Interactive tool calls step by step
{
  mode: "agentic";
} // LLM calls tools interactively and repeatedly with different actionsSampling Mode - Autonomous execution in compatible clients
{ options: { mode: "agentic", sampling: true } }  // Runs autonomously in VS Code- Getting Started - Installation and first steps
- Creating Your First Agent - Complete tutorial
- CLI Usage Guide - Using the MCPC CLI
- Logging and Tracing - MCP logging and OpenTelemetry tracing
- Examples - Real-world use cases
- FAQ - Common questions and answer
See working examples in the examples directory or check out the Codex fork tutorial.
We welcome contributions! See CONTRIBUTING.md for details.
MIT License - see LICENSE for details.