LabscoMCP early access ↗
nirholasMCP SERVER

Github to MCP

Point it at any GitHub repository and get a working MCP server back — tools generated from the repo's OpenAPI, GraphQL, gRPC or AsyncAPI definitions and its source code.

by nirholas ↗MCP Plumbing: Proxies, Registries & InspectorsCommunity

LABSCO SUMMARY

What it can generate depends entirely on what the repository publishes.

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.

What it is

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.

What you get

  • 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

Requirements

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.

Setup effort

One command — npx @nirholas/github-to-mcp https://github.com/stripe/stripe-node