{"_id":"@airmcp-dev/gateway","_rev":"7-97591c59732a13e2634f42155fe7a463","name":"@airmcp-dev/gateway","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@airmcp-dev/gateway","version":"0.1.0","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/gateway@0.1.0","maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"homepage":"https://airmcp.dev","bugs":{"url":"https://github.com/airmcp-dev/air/issues"},"dist":{"shasum":"93d8f042a40fb6176ef0b51cf8dbfda454c68c7b","tarball":"https://registry.npmjs.org/@airmcp-dev/gateway/-/gateway-0.1.0.tgz","fileCount":54,"integrity":"sha512-HOTOSNiVSfFFGNfgnAZqGdR2n4qwMkmA5V8CmGXaMTXT1STcMj9wsc9B152FVzD3V7aZ1J0nyD0GhsjMEKcXlQ==","signatures":[{"sig":"MEYCIQD/nCrSRh6YtHQDshXOp2d/CrERGLHFG7w4ffMXquxzCAIhAO4uJFc4+qMUveSvs8IWyo6EmK+hNS4tARahlaDX8448","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65157},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc"},"_npmUser":{"name":"airmcp","email":"labs@codepedia.kr"},"repository":{"url":"git+https://github.com/airmcp-dev/air.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"MCP reverse proxy, server registry, and request router","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gateway_0.1.0_1775831350386_0.3293089347080851","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@airmcp-dev/gateway","version":"0.1.1","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/gateway@0.1.1","maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"homepage":"https://airmcp.dev","bugs":{"url":"https://github.com/airmcp-dev/air/issues"},"dist":{"shasum":"2ac295f35f3147b90d7cf5e5b94dd17c1b206746","tarball":"https://registry.npmjs.org/@airmcp-dev/gateway/-/gateway-0.1.1.tgz","fileCount":54,"integrity":"sha512-kHHJgmf7gNG8uLbcKRClKMKp0lipZfmd6DdYraZ53zbBbWlQJJk0qj/uRfIQ3OGeNOZUp1PIHIDJGJwE+qlyUA==","signatures":[{"sig":"MEYCIQC2mo1Iu9v28F4Hl3Fqq8TebwImg1sa3AIdTL7Ehx3WywIhAKgjil5cuwNdUJb/1p2gowVxIOZ54V2mvRG5qOhgIcK9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64195},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc"},"_npmUser":{"name":"airmcp","email":"labs@codepedia.kr"},"repository":{"url":"git+https://github.com/airmcp-dev/air.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"MCP reverse proxy, server registry, and request router","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.1","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gateway_0.1.1_1775832272075_0.3724047015203489","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@airmcp-dev/gateway","version":"0.1.2","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/gateway@0.1.2","maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"homepage":"https://airmcp.dev","bugs":{"url":"https://github.com/airmcp-dev/air/issues"},"dist":{"shasum":"2a9549ae10e976a9af367a69a2dd7b6b23e9e657","tarball":"https://registry.npmjs.org/@airmcp-dev/gateway/-/gateway-0.1.2.tgz","fileCount":54,"integrity":"sha512-AsG7ELae2zPUM2MZ5oyPYhW9tvGKxR7BhL0JUGCfS/x/dyrIzumUJi583hdjoUya8UYzAQeXN7peprJ5XX21ow==","signatures":[{"sig":"MEUCIQCxyTHzOBESwSpfe3n0zTFMdxE9TVqu6igLqAb9qkRZwwIgMUHzygwRHt+0BCifw5n+zoBfiGQXa+ytHWsQVqsPgj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64195},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"5b87080e9fb9685f18e4b46febb6c335c04eb110","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc"},"_npmUser":{"name":"airmcp","email":"labs@codepedia.kr"},"repository":{"url":"git+https://github.com/airmcp-dev/air.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"MCP reverse proxy, server registry, and request router","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.2","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gateway_0.1.2_1775833414265_0.12918970204985003","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@airmcp-dev/gateway","version":"0.1.3","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/gateway@0.1.3","maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"homepage":"https://airmcp.dev","bugs":{"url":"https://github.com/airmcp-dev/air/issues"},"dist":{"shasum":"13fc7333ad8385e36992143772f818491e688819","tarball":"https://registry.npmjs.org/@airmcp-dev/gateway/-/gateway-0.1.3.tgz","fileCount":54,"integrity":"sha512-bf0U3k458yg1CP9SeaJcmZ3lB+uw4PIykdjJDfOxGP/uef6sAEeDVoLFqgkYVI2cmincQuxu1CXAzQ3rhcyh3g==","signatures":[{"sig":"MEUCIQDdW1piex6YnLi6qIyyLlpxuZ/PlqYT2kPqufNpCdlsLAIgOpMzaoH1Vp2HhQVYdy4hEbMhjs6pmwsPGkYWoHoGhxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68552},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"c503db8d6b62ba615329164df4bcadc520413398","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc"},"_npmUser":{"name":"airmcp","email":"labs@codepedia.kr"},"repository":{"url":"git+https://github.com/airmcp-dev/air.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"MCP reverse proxy, server registry, and request router","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.3","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gateway_0.1.3_1775833739592_0.5983441433921253","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@airmcp-dev/gateway","version":"0.1.4","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/gateway@0.1.4","maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"homepage":"https://airmcp.dev","bugs":{"url":"https://github.com/airmcp-dev/air/issues"},"dist":{"shasum":"64505b5f14f3984ee6de04aca8e17cc1977fdf11","tarball":"https://registry.npmjs.org/@airmcp-dev/gateway/-/gateway-0.1.4.tgz","fileCount":55,"integrity":"sha512-wJFuTd/9gI/vwXbd1sxJ6PHHlvm0+JukP4vCWHWklCo2m6lARkUNjm3Mk7rDs8OyoKs9wtMxU+nW/vm5031ydw==","signatures":[{"sig":"MEUCIQCkJGyPUwL//KdgekcIXgA3Uv6IvyRslERLYbRkE7dwEAIgW8+vbcPVEtudciX0PEeGCXcq5I63gjN5vqxuAtwao1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69728},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"adb007cddb70b9805fc9b10c24a57b012e477167","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc"},"_npmUser":{"name":"airmcp","email":"labs@codepedia.kr"},"repository":{"url":"git+https://github.com/airmcp-dev/air.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"MCP reverse proxy, server registry, and request router","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.4","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gateway_0.1.4_1775910835515_0.26225687486019345","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@airmcp-dev/gateway","version":"0.1.5","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/gateway@0.1.5","maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"homepage":"https://airmcp.dev","bugs":{"url":"https://github.com/airmcp-dev/air/issues"},"dist":{"shasum":"30898b1e536a7b446ad8979cc6990aafd768a141","tarball":"https://registry.npmjs.org/@airmcp-dev/gateway/-/gateway-0.1.5.tgz","fileCount":55,"integrity":"sha512-hfFdmymmtpPSbyKG89lN46OyNlA/PSmXxfDe8xnwrgS0+K1liZpmpzFiVxqWWqOUktWh94HgCXuKQiNjdBn2qw==","signatures":[{"sig":"MEQCIBbMxukXvFGiCrmnnOfYsE9g5d7y0EfZykh1ORenHcquAiBKpi+K6WswJF3YaicpqqdmxbAtqcjw/4LNZZZqf3b/dA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69948},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b648ce14bf3486b9169467e0d55f027931a11ab6","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsc"},"_npmUser":{"name":"airmcp","email":"labs@codepedia.kr"},"repository":{"url":"git+https://github.com/airmcp-dev/air.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"MCP reverse proxy, server registry, and request router","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.4","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gateway_0.1.5_1775922750557_0.06943352609598774","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@airmcp-dev/gateway","version":"0.2.0","description":"MCP reverse proxy, server registry, and request router","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","dev":"tsc --watch","test":"vitest run","lint":"tsc --noEmit"},"dependencies":{"@airmcp-dev/core":"^0.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"devDependencies":{"typescript":"^5.5.0","vitest":"^2.0.0","@types/node":"^20.0.0"},"author":{"name":"CodePedia Labs"},"homepage":"https://airmcp.dev","bugs":{"url":"https://github.com/airmcp-dev/air/issues"},"repository":{"type":"git","url":"git+https://github.com/airmcp-dev/air.git","directory":"packages/gateway"},"keywords":["mcp","ai","agent","air"],"license":"Apache-2.0","_id":"@airmcp-dev/gateway@0.2.0","gitHead":"3449bcf3994edeb761fc2de46d647880b758cbd5","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-eWRBiprbFRqpqD39p88gbJXqg2Sl5LgkhrH0xzVWv7cHaXKW57bhv37qQQ2UJBw8XagIeYXcPh1CV24OMs0W5g==","shasum":"76480810871feb7fa16f97ec3c69b88d383327d9","tarball":"https://registry.npmjs.org/@airmcp-dev/gateway/-/gateway-0.2.0.tgz","fileCount":55,"unpackedSize":69948,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC7FdAQkOJyzBF2pd8xJSkeCAqweXajfPt1d62QX1EH3AIgereQ9cNc4NiEfcyXkh0mEwOHjyHgoGkNEvo1162vpY8="}]},"_npmUser":{"name":"airmcp","email":"labs@codepedia.kr"},"directories":{},"maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gateway_0.2.0_1781402057684_0.12590225510958075"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T14:29:10.290Z","modified":"2026-06-14T01:54:17.945Z","0.1.0":"2026-04-10T14:29:10.532Z","0.1.1":"2026-04-10T14:44:32.219Z","0.1.2":"2026-04-10T15:03:34.425Z","0.1.3":"2026-04-10T15:08:59.747Z","0.1.4":"2026-04-11T12:33:55.660Z","0.1.5":"2026-04-11T15:52:30.699Z","0.2.0":"2026-06-14T01:54:17.823Z"},"bugs":{"url":"https://github.com/airmcp-dev/air/issues"},"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","homepage":"https://airmcp.dev","keywords":["mcp","ai","agent","air"],"repository":{"type":"git","url":"git+https://github.com/airmcp-dev/air.git","directory":"packages/gateway"},"description":"MCP reverse proxy, server registry, and request router","maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"readme":"# @airmcp-dev/gateway\n\nReverse proxy for multiple MCP servers. Route tool calls, balance load, auto-failover.\n\n## Install\n\n```bash\nnpm install @airmcp-dev/gateway\n```\n\n## Quick Example\n\n```typescript\nimport { Gateway } from '@airmcp-dev/gateway';\n\nconst gateway = new Gateway({\n  port: 4000,\n  healthCheckInterval: 15_000,\n  balancer: 'round-robin',\n});\n\ngateway.register({\n  id: 'search-1',\n  name: 'search',\n  transport: 'sse',\n  connection: { type: 'sse', url: 'http://localhost:3510' },\n});\n\ngateway.register({\n  id: 'search-2',\n  name: 'search',\n  transport: 'sse',\n  connection: { type: 'sse', url: 'http://localhost:3511' },\n});\n\nawait gateway.start();\n```\n\n## Features\n\n- **Tool routing** — auto-discover tools from registered servers\n- **Load balancing** — round-robin, least-connections, weighted, random\n- **Health checks** — periodic checks, auto-exclude/restore unhealthy servers\n- **Multi-transport** — SSE and stdio servers behind one endpoint\n\n## Documentation\n\nFull docs: **[docs.airmcp.dev](https://docs.airmcp.dev)**\n\n## License\n\nApache-2.0 — [GitHub](https://github.com/airmcp-dev/air)\n","readmeFilename":"README.md"}