DevForge

Turn any Click CLI into an MCP server in one command

If you have a Python CLI built with Click or Typer, you can expose it to AI agents in a single step. No boilerplate, no manual JSON schema, no keep-in-sync headache.

pip install click-to-mcp
click-to-mcp serve your-cli-name

That is it. Your CLI is now an MCP server. Claude Code, Cursor, and VS Code can call every command and option as native MCP tools.

What it actually does

click-to-mcp introspects your CLI at runtime. It maps Click concepts directly to MCP tool definitions:

You do not write schema files. You do not annotate your CLI. The existing Click app becomes the MCP server.

Two transport modes

1 Stdio

Best for local agents like Claude Code, Cursor, and Cline. No extra dependencies.

click-to-mcp serve your-cli
2 HTTP+SSE

Best for web-based MCP clients. Requires the http extra.

pip install "click-to-mcp[http]" click-to-mcp serve-http your-cli --port 8000

Works with DevForge CLIs out of the box

We use it internally for api-contract-guardian, json2sql, deploydiff, and configdrift. Each of those has 10+ commands and options. Without this tool, each would need a hand-written MCP wrapper that breaks every time the CLI changes.

With click-to-mcp, the wrapper is zero lines of code.

Try it

# Discover installed Click/typer CLIs
click-to-mcp discover

# Preview tools without starting a server
click-to-mcp list-tools api-contract-guardian

# Serve it
click-to-mcp serve api-contract-guardian

# Generate client config
click-to-mcp config api-contract-guardian --client vscode

MIT/Apache 2.0, no account, no telemetry. Install from PyPI or Homebrew.

View on GitHub