AU

Automcp

⭐ 50•Python•Agent Tooling

Library that converts existing agent projects (CrewAI, LangGraph, Pydantic AI, etc.) into MCP servers with minimal code changes.

PythonMCPDeploymentMigrationFramework-Agnostic

Overview

Automcp is a library from Naptha AI that converts existing agent projects — built on CrewAI, LangGraph, LlamaIndex, OpenAI Agents SDK, Pydantic AI, or MCP-Agent — into MCP servers with minimal code changes. You add it as a dependency, run 'automcp init', and it generates a run_mcp.py entrypoint that wraps your existing agent code as MCP tools. The hosted deployment platform (Naptha Labs) takes a GitHub URL and produces a hosted SSE MCP endpoint, described as 'Vercel for MCP servers.' This solves the universal problem of exposing prototyped agents to MCP clients (Claude Desktop, Cursor, Zed) without rewriting them.

Features

  • ✓Drop-in library for existing agent projects
  • ✓CLI generator for run_mcp.py entrypoint
  • ✓Six supported frameworks: CrewAI, LangGraph, LlamaIndex, OpenAI Agents SDK, Pydantic AI, MCP-Agent
  • ✓Hosted deployment platform at Naptha Labs
  • ✓Framework-agnostic MCP server wrapping
  • ✓Local-only mode for development
  • ✓Custom tool wrapping via decorator

Installation

pip install automcp

Pros

  • +Saves real work converting existing agents
  • +Wide framework coverage
  • +Local and hosted modes
  • +Preserves existing agent code
  • +Standard MCP protocol
  • +Open-source Apache 2.0

Cons

  • −Manual tool declaration required
  • −No automatic tool inference
  • −Hosted platform is a beta
  • −Python-only
  • −Small community
  • −Adapter version lag

Alternatives

Documentation

Automcp

Overview

Automcp is a library from Naptha AI that converts existing agent projects — built on CrewAI, LangGraph, LlamaIndex, OpenAI Agents SDK, Pydantic AI, or MCP-Agent — into MCP servers with minimal code changes.

The problem it solves is unglamorous but universal: you prototyped an agent in CrewAI, it works, now you need to expose it to Cursor, Claude Desktop, and other MCP clients. Rewriting it as an MCP server means either (a) re-implementing the orchestration in a MCP-server-only language, or (b) duct-taping a REST server. Automcp offers option (c): a 2-line dependency that reads your existing agent code and generates an MCP-compliant run_mcp.py.

The project gained 22 points on Show HN and describes itself as "Vercel for MCP servers" — you paste a GitHub URL and it deploys the agent as a hosted SSE MCP endpoint.

Features

  • Drop-in library: add as a dependency to any supported framework's project
  • CLI generator: automcp init produces a run_mcp.py entrypoint
  • Six supported frameworks: CrewAI, LangGraph, LlamaIndex, OpenAI Agents SDK, Pydantic AI, MCP-Agent
  • Hosted deployment: paste a GitHub URL, get a hosted SSE MCP server
  • Framework-agnostic server: one MCP server can expose multiple agents and tools
  • Local mode: run entirely locally for development, no hosted platform required

Installation

# Python 3.10+
pip install automcp

# Install to an existing CrewAI project
pip install "automcp[crewai]"

# Install to an existing LangGraph project
pip install "automcp[langgraph]"

# Install to an existing Pydantic AI project
pip install "automcp[pydantic-ai]"

Configuration

Automcp generates a run_mcp.py:

from automcp import MCPAgentServer
from my_project.agents import research_crew

server = MCPAgentServer(
    name="research-agent",
    description="Multi-agent research pipeline",
    entrypoint=research_crew,   # your existing CrewAI Crew or LangGraph graph
    tools=[
        {"name": "run_research", "description": "Execute the research pipeline"},
        {"name": "get_status", "description": "Return current pipeline state"},
    ]
)

if __name__ == "__main__":
    server.run(transport="sse", port=8765)

Quick Start: Expose a CrewAI Crew

# crew.py (existing code, unchanged)
from crewai import Crew, Agent, Task

researcher = Agent(role="Researcher", goal="Find sources", backstory="Expert")
writer = Agent(role="Writer", goal="Write articles", backstory="Pro writer")

crew = Crew(agents=[researcher, writer], tasks=[Task(description="...", agent=writer)])
# Generate an MCP server wrapper
automcp init --framework crewai --entrypoint crew.py:crew

# Edit the generated run_mcp.py to declare tools
vim run_mcp.py

# Run locally
python run_mcp.py

Deploy as Hosted SSE Server

# From the Naptha deployment platform
curl -X POST https://labs.naptha.ai/deploy \
  -H "Content-Type: application/json" \
  -d '{"github": "https://github.com/your-org/your-agent"}'

This returns a hosted SSE URL you can point Claude Desktop or Cursor at:

{
  "mcpServers": {
    "your-agent": {
      "url": "https://your-agent.labs.naptha.ai/sse"
    }
  }
}

Supported Frameworks

FrameworkAdapterNotes
CrewAIautomcp.crewai_adapterCrew → MCP tools
LangGraphautomcp.langgraph_adapterCompiled graph → MCP tools
LlamaIndexautomcp.llamaindex_adapterWorkflow → MCP tools
OpenAI Agents SDKautomcp.openai_agents_adapterAgent → MCP tools
Pydantic AIautomcp.pydantic_adapterAgent → MCP tools
MCP-Agentautomcp.mcp_agent_adapterAugmentedLLM → MCP tools

Custom Tool Wrapping

Wrap a Python function as an MCP tool:

from automcp import MCPTool

@MCPTool(
    name="search_web",
    description="Search the web for a query and return top 5 results",
    input_schema={
        "type": "object",
        "properties": {
            "query": {"type": "string"},
            "limit": {"type": "integer", "default": 5}
        },
        "required": ["query"]
    }
)
def search_web(query: str, limit: int = 5):
    return web_search(query, limit)

Pros

  • ✅ Saves real work: converting a CrewAI crew to an MCP server is a 2-line change, not a rewrite
  • ✅ Wide framework coverage: six major frameworks already supported
  • ✅ Two deployment modes: local-only or hosted SSE
  • ✅ Preserves your code: your existing agent is unchanged, automcp wraps it
  • ✅ Standard MCP protocol: works with Claude Desktop, Cursor, and any MCP client
  • ✅ Open-source: fully Apache 2.0 licensed

Cons

  • ❌ Manual tool declaration: you must declare each tool's name, description, and schema
  • ❌ No automatic tool inference: the CLI generates a stub but doesn't introspect your Crew
  • ❌ Hosted platform is a beta: Naptha Labs deployment is not yet production-grade
  • ❌ Python-only agents: you can't wrap a TypeScript LangGraph agent today
  • ❌ Small community: ~50 GitHub stars, small contributor base
  • ❌ Version lag: adapters can trail framework releases by a few weeks

When to Use

Use Automcp when:

  • You already have a working agent in CrewAI, LangGraph, or Pydantic AI and want to expose it as an MCP server
  • You want to share agents across clients (Claude Desktop, Cursor, Zed) without re-building them per client
  • You want Vercel-style deployment for MCP servers (GitHub URL → hosted endpoint)
  • You're onboarding a legacy agent codebase to the MCP ecosystem

Prefer alternatives when:

  • You're starting fresh and MCP is the primary interface — build with MCP-Agent directly
  • You need automatic tool inference — no current tool does this well
  • You want a fully hosted platform — Databricks Agent Orchestration or LangGraph Platform are more mature

Resources