{"id":28768540,"url":"https://github.com/JacerOmri/openapi-mcp-proxy","last_synced_at":"2025-06-17T13:09:49.825Z","repository":{"id":289170332,"uuid":"970360441","full_name":"JacerOmri/openapi-mcp-proxy","owner":"JacerOmri","description":"CLI tool to create an MCP server exposing services from an OpenAPI specification","archived":false,"fork":false,"pushed_at":"2025-04-27T23:11:06.000Z","size":87,"stargazers_count":4,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-09T15:23:10.613Z","etag":null,"topics":["cli","mcp","openapi","proxy","rest","server"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/openapi-mcp-proxy","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JacerOmri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-21T22:34:06.000Z","updated_at":"2025-05-13T11:16:00.000Z","dependencies_parsed_at":"2025-04-21T23:11:24.819Z","dependency_job_id":"6a4f802b-08b8-4b4f-ac37-f975e0df5f28","html_url":"https://github.com/JacerOmri/openapi-mcp-proxy","commit_stats":null,"previous_names":["jaceromri/openapi-mcp-proxy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JacerOmri/openapi-mcp-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacerOmri%2Fopenapi-mcp-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacerOmri%2Fopenapi-mcp-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacerOmri%2Fopenapi-mcp-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacerOmri%2Fopenapi-mcp-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JacerOmri","download_url":"https://codeload.github.com/JacerOmri/openapi-mcp-proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacerOmri%2Fopenapi-mcp-proxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260364931,"owners_count":22998023,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","mcp","openapi","proxy","rest","server"],"created_at":"2025-06-17T13:03:10.431Z","updated_at":"2025-06-17T13:09:49.808Z","avatar_url":"https://github.com/JacerOmri.png","language":"TypeScript","funding_links":[],"categories":["APIs and HTTP Requests"],"sub_categories":[],"readme":"# 🤖 OpenAPI MCP Server\n\n[![asciicast](https://asciinema.org/a/716593.svg)](https://asciinema.org/a/716593)\n\nA command-line tool that transforms any OpenAPI service into a Model Context Protocol (MCP) server, enabling seamless integration with AI agents and tools that support the MCP specification.\n\n\u003e [!NOTE]\n\u003e This tool is still in early development stage.\n\u003e Roadmap [is here](https://github.com/users/JacerOmri/projects/1/views/2)\n\n## What is Model Context Protocol (MCP)?\n\nModel Context Protocol (MCP) is a standardized protocol for AI agents to interact with external tools and services. It provides a consistent way for AI models to discover, understand, and utilize various capabilities through a unified interface, making it easier to build AI-powered applications that can interact with multiple services.\n\n## What is OpenAPI?\n\nOpenAPI (formerly known as Swagger) is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services. It allows both humans and computers to discover and understand the capabilities of a service without needing to access the source code or additional documentation.\n\n## About This Project\n\nThis middleware acts as a bridge between OpenAPI services and MCP clients. It:\n\n1. Takes an OpenAPI specification file as input\n2. Automatically generates an MCP-compliant server\n3. Proxies incoming requests to the actual OpenAPI service\n4. Translates between MCP and REST conventions\n\nThis enables any existing REST API with an OpenAPI specification to be immediately accessible to AI agents that understand MCP, without requiring any modifications to the original service.\n\n## Installation\n\n```sh\nnpm install -g openapi-mcp-proxy\n```\n\n## Usage\n\n```sh\nnpx openapi-mcp-proxy --spec ./path/to/openapi.yml --target http://your-api.com --port 3000\n```\n\n### Options\n\n- `-s, --spec \u003cpath\u003e` (required): Path to your OpenAPI specification file (env: `OMP_OPENAPI_SPEC_FILE`)\n- `-t, --target \u003curl\u003e` (optional): Target URL of the API service (default: \"http://localhost:8080\", env:`OMP_TARGET_BASE_URL`)\n- `-p, --port \u003cnumber\u003e` (optional): Port to run the MCP server on (default: \"3000\", env: `PORT`)\n- `-V, --version`: Display version number\n- `-h, --help`: Display help for command\n\n### Example\n\nStart an MCP server for the Petstore API\n```sh\nnpx openapi-mcp-proxy --spec resources/petstore.openapi.yml --target https://petstore.swagger.io/v2\n```\n\n### Testing\n\n#### MCP Inspector\nTo test your MCP server, you can use the Model Context Protocol:\n\n1. Install the MCP Inspector:\n```sh\nnpx @modelcontextprotocol/inspector\n```\n2. Start your MCP server\n3. Navigate to the inspector's UI and fill in the correct server path **ending with `/mcp`** like\n`http://localhost:3000/mcp`\n4. Now you can interact with your MCP server. The MCP Inspector will show you detailed information about the requests and responses.\n\n\n#### with VS Code \n\nIt's easier to use this with VS Code's built-in agent mode:\n\n1. Open VS Code and enable agent mode:\n   - Press `Cmd/Ctrl + Shift + P`\n   - Type \"Toggle GitHub Copilot Agent Mode\"\n   - Select \"Enable\"\n2. Add your MCP server:\n   - Press `Cmd/Ctrl + Shift + P`\n   - Type \"MCP: add Server\"\n   - type your MCP server URL like `http://localhost:3000/mcp` **ending with `/mcp`**\n3. Your github copilot chat should pick up on the new tools it has!\n4. Now you can interact with your MCP server through VS Code's agent interface. Try asking it \"how many pets are available right now?\"\n\nfor more information on how to use MCP servers with VS code, [see this](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_use-mcp-tools-in-agent-mode)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\nRoadmap [is here](https://github.com/users/JacerOmri/projects/1/views/2)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJacerOmri%2Fopenapi-mcp-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJacerOmri%2Fopenapi-mcp-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJacerOmri%2Fopenapi-mcp-proxy/lists"}