A repository with an OpenAPI or GraphQL definition produces properly typed tools; one with only source code gets whatever function extraction can recover, which is a weaker result. The playground exists for exactly that reason — execute a generated tool with real parameters before you register the server, rather than discovering the gap in a conversation.
A generator that turns a GitHub repository into an MCP server. It classifies the repository — API, library, CLI tool, MCP server or documentation — then parses whatever interface definitions it finds (OpenAPI and Swagger, GraphQL schemas, gRPC and Protobuf service definitions, AsyncAPI specifications) and analyses source code to extract functions, producing tools from them. The output is a `server.mjs` you register with any MCP client. A hosted MCP endpoint alongside it answers repository questions directly.
- A generated MCP server from a GitHub URL, three ways: the web UI, `npx @nirholas/github-to-mcp <url>`, or the `generateFromGithub` function which reports how many tools it produced and saves the server to a directory
- Repository classification into API, library, CLI tool, MCP server or documentation, so the generation strategy matches what the repo actually is
- Interface definitions parsed into tools: OpenAPI and Swagger, GraphQL schemas turned into query and mutation tools, gRPC and Protobuf services, AsyncAPI for event-driven APIs, and function extraction from source
- A generated server that speaks stdio — JSON-RPC on stdin, responses on stdout — so it works with Claude Desktop, Cursor, the Continue extension and any other MCP client
- An interactive playground in the web application: pick a generated tool, fill in the parameters and execute it before wiring anything up
- A hosted endpoint at `https://modelcontextprotocol.name/mcp/github-to-mcp` with two tools of its own — `get_repo_info`, `search_repos`
For generation, nothing beyond Node — the CLI runs through `npx`. `GITHUB_TOKEN` is optional and only needed for repository access beyond what anonymous requests allow; the registry entry marks it not required and secret. The generated server is a plain `server.mjs` you run with `node`, registering it in your client with an absolute path and passing `GITHUB_TOKEN` in the `env` block when the repository needs it. Restart your client after editing the configuration. The project is registered as `io.github.nirholas/github-to-mcp`; the hosted endpoint needs no credentials.
One command plus a key — npx @nirholas/github-to-mcp https://github.com/stripe/stripe-node, then supply credentials
