MCPify MCP Server

$git clone https://github.com/raghav-misra/mcpify.git && cd mcpify && pip install -e .
README.md

Point it at API docs, get an MCP server.

MCPify

Point it at API docs, get an MCP server.

MCPify scrapes API documentation, uses Gemini to figure out the endpoints/auth/params, and spits out a config file. The runtime reads that config and runs an MCP server that Claude (or any MCP client) can use to call the API.

Installation

git clone https://github.com/yourusername/mcpify.git
cd mcpify
pip install -e .

Needs Python 3.11+ and a Gemini API key.

Usage

export GEMINI_API_KEY="your-api-key"

# Parse docs into a config file
mcpify parse https://api.example.com/docs -o my-api.json

# Run the server
mcpify serve my-api.json --auth "your-api-token"

# Or do both at once
mcpify quickstart https://api.example.com/docs --auth "token"

To use with Claude Desktop, add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "my-api": {
      "command": "mcpify",
      "args": ["serve", "/path/to/my-api.json", "--auth", "your-token"]
    }
  }
}

CLI

mcpify parse <url> - Scrape docs and generate config

mcpify parse https://docs.github.com/en/rest -o github.json --max-pages 15
Option Description
-o, --output Output file (default: mcpify-config.json)
-m, --max-pages Max pages to scrape (default: 10)
--no-follow Don't follow links
-k, --api-key Gemini API key (or use env var)
--model Gemini model (default: gemini-2.0-flash)

mcpify serve <config> - Run MCP server

mcpify serve my-api.json --auth "Bearer token" --transport stdio
Option Description
-a, --auth Auth token for API calls
-t, --transport stdio, sse, or http (default: stdio)

mcpify show <config> - Print config as table

mcpify quickstart <url> - Parse and serve in one shot

Config Format

The generated JSON looks like this:

{
  "name": "my-api",
  "description": "Description of the API",
  "base_url": "https://api.example.com/v1",
  "version": "1.0.0",
  "auth": {
    "type": "bearer",
    "header_name": "Authorization",
    "prefix": "Bearer "
  },
  "tools": [
    {
      "name": "get_users",
      "description": "Retrieve a list of users",
      "method": "GET",
      "path": "/users",
      "parameters": [
        {
          "name": "limit",
          "type": "integer",
          "description": "Max results to return",
          "required": false,
          "location": "query",
          "default": 10
        }
      ],
      "response": {
        "description": "Array of user objects"
      },
      "tags": ["users"]
    }
  ]
}

Auth types: none, api_key, bearer, oauth2

Parameter locations: query, path, header, body

Python API

from mcpify.scraper import scrape_documentation
from mcpify.parser import parse_documentation
from mcpify.runtime import create_mcp_server

# Scrape docs
docs = await scrape_documentation("https://api.example.com/docs")

# Parse with Gemini
config = await parse_documentation(docs)

# Save config
config_path = "my-api.json"
with open(config_path, "w") as f:
    f.write(config.to_json())

# Create and run server
server = create_mcp_server(config, auth_token="your-token")
server.run()

Examples

# GitHub
mcpify parse https://docs.github.com/en/rest/users -o github.json
mcpify serve github.json --auth "ghp_your_token"

# Stripe
mcpify parse https://stripe.com/docs/api -o stripe.json
mcpify serve stripe.json --auth "sk_test_your_key"

License

MIT

Tools (1)

get_usersRetrieve a list of users from the generated API server

Environment Variables

GEMINI_API_KEYrequiredRequired to parse documentation using Gemini models

Configuration

claude_desktop_config.json
{"mcpServers": {"my-api": {"command": "mcpify", "args": ["serve", "/path/to/my-api.json", "--auth", "your-token"]}}}

Try it

Generate an MCP server for the GitHub Users API documentation at https://docs.github.com/en/rest/users
Run a local MCP server using the stripe.json config file with my API key
Scrape the documentation at https://api.example.com/docs and show me the detected endpoints as a table
Quickstart an MCP server for this API documentation URL and use Bearer token authentication

Frequently Asked Questions

What are the key features of MCPify?

Scrapes API documentation and uses Gemini to extract endpoints, auth, and parameters. Generates a portable JSON configuration file for any REST API. Built-in runtime to serve the generated config as an MCP-compatible server. Supports multiple auth types including API Key, Bearer, and OAuth2. Provides a CLI for parsing, serving, and inspecting API configurations.

What can I use MCPify for?

Developers who want to quickly interact with a new REST API through Claude Desktop. Automating the creation of MCP tools for internal company APIs without manual coding. Prototyping integrations by pointing the tool at public documentation like Stripe or GitHub. Converting legacy REST documentation into functional Model Context Protocol tools.

How do I install MCPify?

Install MCPify by running: git clone https://github.com/raghav-misra/mcpify.git && cd mcpify && pip install -e .

What MCP clients work with MCPify?

MCPify works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use MCPify with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free