{"_id":"@abumalick/openapi-mcp","_rev":"4-d8389e62b3d2c24a2670bf884a781030","name":"@abumalick/openapi-mcp","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@abumalick/openapi-mcp","version":"1.0.0","keywords":["mcp","openapi","swagger","api","claude"],"author":{"name":"abumalick"},"license":"MIT","_id":"@abumalick/openapi-mcp@1.0.0","maintainers":[{"name":"abumalick","email":"abdullah.hilson@gmail.com"}],"homepage":"https://github.com/abumalick/openapi-mcp#readme","bugs":{"url":"https://github.com/abumalick/openapi-mcp/issues"},"bin":{"openapi-mcp":"dist/index.js"},"dist":{"shasum":"d8bcb44079e671cc75b82dbfa8f4fc8389e30344","tarball":"https://registry.npmjs.org/@abumalick/openapi-mcp/-/openapi-mcp-1.0.0.tgz","fileCount":28,"integrity":"sha512-1h/d3OLN5eZeC5367uppzEMR0ElsXLhSTRE9nbRbpd/jTWatNpgIDbah2qNkggTQTAqymKUnKFZRlxpgc2hWGQ==","signatures":[{"sig":"MEYCIQCSkaDOn9FOybnAtT39VKykCByvFbpbOsZC+GF6G94ORAIhAM4+9uX689zprCKQown2VBDoS+68AUM29p5YyS82f3jD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160936},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"abumalick","email":"abdullah.hilson@gmail.com"},"repository":{"url":"git+https://github.com/abumalick/openapi-mcp.git","type":"git"},"_npmVersion":"11.6.1","description":"MCP server for exploring OpenAPI specifications","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","@apidevtools/swagger-parser":"^10.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-mcp_1.0.0_1764499314553_0.6270426763047201","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@abumalick/openapi-mcp","version":"1.0.1","keywords":["mcp","openapi","swagger","api","claude"],"author":{"name":"abumalick"},"license":"MIT","_id":"@abumalick/openapi-mcp@1.0.1","maintainers":[{"name":"abumalick","email":"abdullah.hilson@gmail.com"}],"homepage":"https://github.com/abumalick/openapi-mcp#readme","bugs":{"url":"https://github.com/abumalick/openapi-mcp/issues"},"bin":{"openapi-mcp":"dist/index.js"},"dist":{"shasum":"4f5bbc1ec8453c22ccdef653b60f25f21d794e58","tarball":"https://registry.npmjs.org/@abumalick/openapi-mcp/-/openapi-mcp-1.0.1.tgz","fileCount":28,"integrity":"sha512-lndHhgoXszBNalQGElnDxoAp6QTy/WKpd6Jab/sWp9aP9sXt6BrNND0nBohsf3kyrcjeDaXJTGIaU6d+fooyMA==","signatures":[{"sig":"MEUCIEuiFeuzDJn/zQogGDr55d/ytFocNccJGB+/CBg1JB9TAiEAywXATWTBJnXGSSnLHUZ9eqFvatJdMyzCpu0Y773hpkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161365},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"abumalick","email":"abdullah.hilson@gmail.com"},"repository":{"url":"git+https://github.com/abumalick/openapi-mcp.git","type":"git"},"_npmVersion":"11.6.1","description":"MCP server for exploring OpenAPI specifications","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","@apidevtools/swagger-parser":"^10.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-mcp_1.0.1_1764499388286_0.6499052307517954","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@abumalick/openapi-mcp","version":"1.1.0","keywords":["mcp","openapi","swagger","api","claude"],"author":{"name":"abumalick"},"license":"MIT","_id":"@abumalick/openapi-mcp@1.1.0","maintainers":[{"name":"abumalick","email":"abdullah.hilson@gmail.com"}],"homepage":"https://github.com/abumalick/openapi-mcp#readme","bugs":{"url":"https://github.com/abumalick/openapi-mcp/issues"},"bin":{"openapi-mcp":"dist/index.js"},"dist":{"shasum":"7ed24af5eef17a479148e81f82683188fd1c2283","tarball":"https://registry.npmjs.org/@abumalick/openapi-mcp/-/openapi-mcp-1.1.0.tgz","fileCount":28,"integrity":"sha512-MVU6V98ypukrweAqiYrRI/fgT21w0cBLUeCtPvv+5n/8IBbAFh+Ggmd1+cxK4hm9g55y7D0D7J8YbtjbyWu+qA==","signatures":[{"sig":"MEUCIH/0PTAoZa6UYypvVbJwBpgHueadWvCVqyLMyeXK5fFGAiEA/neln5A6lgaRB+xc4v8qEYvvzv1zBWKyAjiMBXGsRzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166813},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"abumalick","email":"abdullah.hilson@gmail.com"},"repository":{"url":"git+https://github.com/abumalick/openapi-mcp.git","type":"git"},"_npmVersion":"11.6.1","description":"MCP server for exploring OpenAPI specifications","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","@apidevtools/swagger-parser":"^10.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-mcp_1.1.0_1764499698470_0.4098876008500696","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@abumalick/openapi-mcp","version":"1.2.0","description":"MCP server for exploring OpenAPI specifications","type":"module","main":"dist/index.js","bin":{"openapi-mcp":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch","test":"vitest run","test:watch":"vitest","prepublishOnly":"bun run build"},"keywords":["mcp","openapi","swagger","api","claude"],"author":{"name":"abumalick"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/abumalick/openapi-mcp.git"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"dependencies":{"@apidevtools/swagger-parser":"^10.1.0","@modelcontextprotocol/sdk":"^1.0.0"},"devDependencies":{"@types/node":"^20.10.0","typescript":"^5.3.0","vitest":"^1.0.0"},"types":"./dist/index.d.ts","_id":"@abumalick/openapi-mcp@1.2.0","bugs":{"url":"https://github.com/abumalick/openapi-mcp/issues"},"homepage":"https://github.com/abumalick/openapi-mcp#readme","_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-d8pvBak1vTDeiLgVEi8uLSdprs4+Ug2tJL28l9yA9xVDepqGYTL1VxhvEPshu1SF6kgqJHLPp3dw4nh4Ashohg==","shasum":"2543539de2d15e215dbbe76893dabdc5c5affb03","tarball":"https://registry.npmjs.org/@abumalick/openapi-mcp/-/openapi-mcp-1.2.0.tgz","fileCount":28,"unpackedSize":172796,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHy1lS6ON0ZioHA4elYvsAMo/U6TbuQ1wDJhez9/LYz+AiB5t5NRhGFWNhWL1eFR+yNZk7lJ7Bjde+XfOv+oR2XL6A=="}]},"_npmUser":{"name":"abumalick","email":"abdullah.hilson@gmail.com"},"directories":{},"maintainers":[{"name":"abumalick","email":"abdullah.hilson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openapi-mcp_1.2.0_1764500177963_0.28880465875333594"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-30T10:41:54.484Z","modified":"2025-11-30T10:56:18.352Z","1.0.0":"2025-11-30T10:41:54.771Z","1.0.1":"2025-11-30T10:43:08.472Z","1.1.0":"2025-11-30T10:48:18.656Z","1.2.0":"2025-11-30T10:56:18.166Z"},"bugs":{"url":"https://github.com/abumalick/openapi-mcp/issues"},"author":{"name":"abumalick"},"license":"MIT","homepage":"https://github.com/abumalick/openapi-mcp#readme","keywords":["mcp","openapi","swagger","api","claude"],"repository":{"type":"git","url":"git+https://github.com/abumalick/openapi-mcp.git"},"description":"MCP server for exploring OpenAPI specifications","maintainers":[{"name":"abumalick","email":"abdullah.hilson@gmail.com"}],"readme":"# @abumalick/openapi-mcp\n\nMCP (Model Context Protocol) server that enables LLMs to explore OpenAPI specifications. Load any OpenAPI spec and query its endpoints, parameters, request bodies, and response schemas through natural conversation.\n\n## Installation\n\n```bash\nnpm install -g @abumalick/openapi-mcp\n```\n\n## Configuration\n\nYou can pre-load OpenAPI specs at startup using the `--spec` or `-s` flag with format `alias=url`.\n\n### OpenCode\n\nAdd to your OpenCode config (`~/.opencode/config.json`):\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"openapi\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"-y\", \"@abumalick/openapi-mcp\"],\n      \"enabled\": true\n    }\n  }\n}\n```\n\nWith pre-loaded specs:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"openapi\": {\n      \"type\": \"local\",\n      \"command\": [\n        \"npx\", \"-y\", \"@abumalick/openapi-mcp\",\n        \"--spec\", \"petstore=https://petstore3.swagger.io/api/v3/openapi.yaml\",\n        \"--spec\", \"myapi=https://api.example.com/openapi.json\"\n      ],\n      \"enabled\": true\n    }\n  }\n}\n```\n\nLearn more about [configuring MCP servers in OpenCode](https://opencode.ai/docs/mcp-servers).\n\n### Claude Desktop\n\nAdd to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"openapi\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@abumalick/openapi-mcp\"]\n    }\n  }\n}\n```\n\nWith pre-loaded specs:\n\n```json\n{\n  \"mcpServers\": {\n    \"openapi\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\", \"@abumalick/openapi-mcp\",\n        \"--spec\", \"petstore=https://petstore3.swagger.io/api/v3/openapi.yaml\"\n      ]\n    }\n  }\n}\n```\n\n## Example Workflow\n\nWith pre-loaded specs, the LLM can immediately query them:\n\n```\nUser: What specs are available?\nAssistant: [calls openapi_list_specs] -> shows petstore is loaded\n\nUser: What endpoints are available for pets?\nAssistant: [calls openapi_list_endpoints with alias=\"petstore\", tag=\"pet\"]\n\nUser: Show me details about the GET /pet/{petId} endpoint\nAssistant: [calls openapi_get_endpoint with alias=\"petstore\", method=\"GET\", path=\"/pet/{petId}\"]\n```\n\nWithout pre-loading, first load the spec:\n\n```\nUser: Load the Petstore API spec\nAssistant: [calls openapi_load with source=\"https://petstore3.swagger.io/api/v3/openapi.yaml\", alias=\"petstore\"]\n```\n\n## Tools\n\n### openapi_list_specs\n\nList all currently loaded OpenAPI specs. Use this to see what's available.\n\n```json\n{}\n```\n\nReturns:\n```json\n{\n  \"specs\": [\n    { \"alias\": \"petstore\", \"title\": \"Swagger Petstore\", \"version\": \"1.0.0\", \"endpointCount\": 19 }\n  ]\n}\n```\n\n### openapi_load\n\nLoad an OpenAPI spec from URL or file path. Only needed if spec is not pre-loaded.\n\n```json\n{\n  \"source\": \"https://api.example.com/openapi.yaml\",\n  \"alias\": \"example\"\n}\n```\n\n### openapi_list_endpoints\n\nList endpoints with optional filtering.\n\n```json\n{\n  \"alias\": \"example\",\n  \"tag\": \"users\",\n  \"search\": \"create\"\n}\n```\n\n### openapi_get_endpoint\n\nGet detailed endpoint information.\n\n```json\n{\n  \"alias\": \"example\",\n  \"method\": \"POST\",\n  \"path\": \"/users\"\n}\n```\n\n## Supported OpenAPI Versions\n\n- OpenAPI 3.0.x\n- OpenAPI 3.1.x\n\nNote: Swagger 2.0 specs should be converted to OpenAPI 3.x format first.\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run tests\nnpm test\n\n# Development mode\nnpm run dev\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}