Skip to main content
Glama

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.

Related MCP server: Swagger MCP

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Automatically generates MCP servers from OpenAPI/Swagger specifications, enabling users to interact with any REST API through natural language with flexible endpoint filtering and authentication support.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Automatically converts Swagger/OpenAPI specifications into MCP servers, enabling AI agents to interact with any REST API through natural language by exposing endpoints as AI-friendly tools.
    3
    -
  • A
    license
    A
    quality
    D
    maintenance
    A generic MCP server that dynamically exposes any OpenAPI-documented REST API to LLMs by auto-discovering endpoints. It provides tools for exploring API capabilities and making authenticated requests directly through natural language interfaces.
    2
    5 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Transforms OpenAPI specs into an MCP server, enabling dynamic API interaction through natural language with automatic authentication and endpoint discovery.
    131 npm
    MIT