{"_id":"@apicurio/data-models-mcp","name":"@apicurio/data-models-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@apicurio/data-models-mcp","version":"1.0.0","description":"MCP server wrapping @apicurio/data-models for AI-assisted OpenAPI and AsyncAPI editing","type":"module","main":"dist/index.js","bin":{"apicurio-data-models-mcp":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","test":"vitest run","test:watch":"vitest","lint":"biome check src test","lint:fix":"biome check --fix src test"},"keywords":["mcp","openapi","asyncapi","apicurio","data-models"],"license":"Apache-2.0","dependencies":{"@apicurio/data-models":"2.5.2","@modelcontextprotocol/sdk":"1.27.1","js-yaml":"4.1.1","zod":"4.3.6"},"devDependencies":{"@biomejs/biome":"2.4.5","@types/js-yaml":"4.0.9","@types/node":"22.19.13","typescript":"5.9.3","vitest":"4.0.18"},"_id":"@apicurio/data-models-mcp@1.0.0","gitHead":"dfaf73fc675cd30f87f9fd0f397231c0479c90f2","types":"./dist/index.d.ts","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-7ROWqTJRllTtsCPm7nG+WbXnMV33kANQaU2X+GpYH8ZPYqiZqVLlukR4LhbaGa0UE3iVOaIbmS9/w7dwlE142g==","shasum":"a6b104f103d666fc028bbae6e9338d52c495f8b4","tarball":"https://registry.npmjs.org/@apicurio/data-models-mcp/-/data-models-mcp-1.0.0.tgz","fileCount":95,"unpackedSize":388742,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAOY/+awsttgkIw3HcTUA6api2SBppDV4UAereOV38LhAiEA7fD+pG8hK82eiK3Z4KCO+STodYe+OqE4QpGoZ6ldTY8="}]},"_npmUser":{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},"directories":{},"maintainers":[{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},{"name":"eric.wittmann","email":"eric.wittmann@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/data-models-mcp_1.0.0_1773227357487_0.11054704165309914"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-11T11:09:17.370Z","1.0.0":"2026-03-11T11:09:17.655Z","modified":"2026-03-11T11:09:17.875Z"},"maintainers":[{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},{"name":"eric.wittmann","email":"eric.wittmann@gmail.com"}],"description":"MCP server wrapping @apicurio/data-models for AI-assisted OpenAPI and AsyncAPI editing","keywords":["mcp","openapi","asyncapi","apicurio","data-models"],"license":"Apache-2.0","readme":"# apicurio-data-models-mcp\n\nAn MCP (Model Context Protocol) server that wraps the `@apicurio/data-models` library, making it\neasy for AI coding agents to query, validate, and edit OpenAPI and AsyncAPI documents.\n\n## Supported Specifications\n\n- OpenAPI 2.0 (Swagger)\n- OpenAPI 3.0.x\n- AsyncAPI 2.x\n\n## Quick Start\n\n```bash\nnpm install\nnpm run build\n```\n\n### Configure in Claude Code\n\nAdd to your MCP settings (`~/.claude/settings.json` or project `.claude/settings.json`):\n\n```json\n{\n    \"mcpServers\": {\n        \"apicurio-data-models\": {\n            \"command\": \"node\",\n            \"args\": [\"/path/to/apicurio-data-models-mcp/dist/index.js\"]\n        }\n    }\n}\n```\n\n## Tool Catalog\n\nThe server provides **102 tools** across 5 categories: session management (7), document\nquerying (16), document editing (76), validation (1), and transformation (2).\n\nSee the [full tools reference](docs/Tools.md) for detailed documentation on every tool and\nits parameters.\n\n## MCP Resources\n\n| URI Pattern | Description |\n|-------------|-------------|\n| `api://{session}/info` | Document metadata |\n| `api://{session}/paths` | List of paths/channels |\n| `api://{session}/schemas` | List of schema definitions |\n\n## Usage Examples\n\n### Load and inspect an existing API\n\n```\n> Load /path/to/petstore.yaml into session \"petstore\"\n> What paths does the petstore API have?\n> Show me the GET /pets operation\n> Validate the document\n```\n\n### Create a new API from scratch\n\n```\n> Create a new OpenAPI 3.0 document called \"widgets\"\n> Set the title to \"Widget API\" and version to \"1.0.0\"\n> Add a path /widgets with GET and POST operations\n> Add a Widget schema with id, name, and color properties\n> Save it to ./widget-api.yaml as YAML\n```\n\n### Transform a Swagger document\n\n```\n> Load my swagger.json as \"legacy\"\n> Transform it to OpenAPI 3.0\n> Validate the transformed document\n> Save it to openapi3.json\n```\n\n## Development\n\n```bash\nnpm install          # Install dependencies\nnpm run build        # Compile TypeScript\nnpm test             # Run tests\nnpm run test:watch   # Run tests in watch mode\n```\n","readmeFilename":"README.md","_rev":"1-fbdd44de967cc34e1037905f344668cb"}