{"_id":"@airmcp-dev/meter","_rev":"7-708a5e64fefac3d35c8e99b686218bd7","name":"@airmcp-dev/meter","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@airmcp-dev/meter","version":"0.1.0","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/meter@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":"69964f9927c4195d9a7d80780bcbeee576cc269b","tarball":"https://registry.npmjs.org/@airmcp-dev/meter/-/meter-0.1.0.tgz","fileCount":66,"integrity":"sha512-qZU88P1yLnWw9GmsmhRQ4NzXtDdpDNa195H29I0mwZhn0thOmMqJTRL5s99HU+0AjCivVPDi6pLYsz7z79DDqA==","signatures":[{"sig":"MEUCIAYxGz02CUVhjO3UnZepenCUIul4h3aclKKGDjPmmA8OAiEA+TZNlyeC1BoLGZy4RWn0gK+g9nG2/EgH5YEuoSKvSlc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58223},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"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/meter"},"_npmVersion":"10.9.4","description":"MCP performance metering — 7-Layer classification, token cost tracking, metrics export","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/meter_0.1.0_1775831348384_0.0000257146884334869","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@airmcp-dev/meter","version":"0.1.1","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/meter@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":"b74b718056868392bbeb36fd7f6ec39fb2f68a53","tarball":"https://registry.npmjs.org/@airmcp-dev/meter/-/meter-0.1.1.tgz","fileCount":66,"integrity":"sha512-zQbWp//OAomNuNM7YVCEPf07EvSdz0HtctQq/BaqqK3JCmtHbqez3vmDUlYy2VHxIriAMgzR6KgKfUch6fSN0w==","signatures":[{"sig":"MEUCIQDEONGJzBgsb5R7iwpK6ImbReRTMClvaSW4uUKJ4yuArgIgEYeaClrHLc2dHt+ZmMoSc4vKPuLFh06BeHtWumNVCCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57039},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"scripts":{"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/meter"},"_npmVersion":"10.9.4","description":"MCP performance metering — 7-Layer classification, token cost tracking, metrics export","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/meter_0.1.1_1775832270203_0.24372397560381653","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@airmcp-dev/meter","version":"0.1.2","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/meter@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":"a99a9494063f289921619f38a820776d4de3580c","tarball":"https://registry.npmjs.org/@airmcp-dev/meter/-/meter-0.1.2.tgz","fileCount":66,"integrity":"sha512-lfuX/li5FJGhjGbOp+oxRbRyN2jNRX/FUtLOf2rrTa9leH5zQvvhe3zfu43cZd3Y/FV49xPSKPqw3gMcEhiVyA==","signatures":[{"sig":"MEUCIG5uY6Jxr42dkjOlLpZpu348Plaeids8FSt2Qa1aFZYDAiEAgILPQhTcENUCyYQgxeySvB3iMmBKTjjH63e8x9zhEnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57039},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"5b87080e9fb9685f18e4b46febb6c335c04eb110","scripts":{"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/meter"},"_npmVersion":"10.9.4","description":"MCP performance metering — 7-Layer classification, token cost tracking, metrics export","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/meter_0.1.2_1775833412689_0.5894628014081817","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@airmcp-dev/meter","version":"0.1.3","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/meter@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":"02620c33e679ff677d5927e045f25b4d09e52d3b","tarball":"https://registry.npmjs.org/@airmcp-dev/meter/-/meter-0.1.3.tgz","fileCount":66,"integrity":"sha512-Q7U6t3PMvCVKId+Uf/KD07RSSVgaEiaaVvqFBCYfNW1b/SD3j7ym5DkRNpw7GipxRSe5hiiCgayoaiz04GPxHg==","signatures":[{"sig":"MEUCIBenmE68eEYgpYbGdEGhZHDtedJsjRWfAwD49w1A1X4jAiEA4IPddoB17mRh59NcztytCDkanf05T4jiQnoxwxR5cIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61396},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"c503db8d6b62ba615329164df4bcadc520413398","scripts":{"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/meter"},"_npmVersion":"10.9.4","description":"MCP performance metering — 7-Layer classification, token cost tracking, metrics export","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/meter_0.1.3_1775833737668_0.19642974611004194","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@airmcp-dev/meter","version":"0.1.4","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/meter@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":"d6f2fbbdca8e3fd674a128c4d756a7f4e5d388fb","tarball":"https://registry.npmjs.org/@airmcp-dev/meter/-/meter-0.1.4.tgz","fileCount":67,"integrity":"sha512-/aSmmi+ljYa8EyZXb1NuYxwI4qI0X3uzxsXMnEF2lzrFa+LCfyiVlbiw941aKgNW0JZuFzgZ/3TDhN++Nvr5vA==","signatures":[{"sig":"MEUCID9yD1acOlYJQGnQ2Mj2e29Eo7r53G4fugYoXwLJ2KzNAiEA6KnF2iZ1WlNJF/9/rhvq9iRNwAdQine9eqQpECOK0WU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62807},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"adb007cddb70b9805fc9b10c24a57b012e477167","scripts":{"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/meter"},"_npmVersion":"10.9.4","description":"MCP performance metering — 7-Layer classification, token cost tracking, metrics export","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/meter_0.1.4_1775910843516_0.708528342735224","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@airmcp-dev/meter","version":"0.1.5","keywords":["mcp","ai","agent","air"],"author":{"name":"CodePedia Labs"},"license":"Apache-2.0","_id":"@airmcp-dev/meter@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":"583c3ba62d3d2b7441c3091ccdd827ec3cf9ec22","tarball":"https://registry.npmjs.org/@airmcp-dev/meter/-/meter-0.1.5.tgz","fileCount":67,"integrity":"sha512-EKVcEumZeq4Hh15gZB7IGVYG4LiFjEpV6aUPXbTab+wpYG7Mdx+h9HEXa2z4uL7Rfva7VU/3VeyLOnZgznXUKw==","signatures":[{"sig":"MEYCIQD3d62ieEQoMH32sMBi1APbiHQ1mr/jd7tBblk3XskBngIhAKa4S3F1mmAgBhvjIYyH6bRGaIoayElVpKK9LJU1dFFB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62807},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b648ce14bf3486b9169467e0d55f027931a11ab6","scripts":{"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/meter"},"_npmVersion":"10.9.4","description":"MCP performance metering — 7-Layer classification, token cost tracking, metrics export","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@airmcp-dev/core":"^0.1.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/meter_0.1.5_1775922754654_0.09957447486644355","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@airmcp-dev/meter","version":"0.2.0","description":"MCP performance metering — 7-Layer classification, token cost tracking, metrics export","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","test":"vitest run","lint":"tsc --noEmit"},"dependencies":{"@airmcp-dev/core":"^0.2.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/meter"},"keywords":["mcp","ai","agent","air"],"license":"Apache-2.0","_id":"@airmcp-dev/meter@0.2.0","gitHead":"3449bcf3994edeb761fc2de46d647880b758cbd5","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-uDKgMcq86U2ZXvhXqn5s9dYMD+dtAs/16LSw/DCpoSSlfzKcwfGfU1U2iENhjdc3kzs1bNv140UnUmgw6wexqg==","shasum":"2e83162df5382892611c0a5f81fcb604ceeee2a5","tarball":"https://registry.npmjs.org/@airmcp-dev/meter/-/meter-0.2.0.tgz","fileCount":67,"unpackedSize":62807,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICNHbaG5L9XPq34zyDCk2gy3J4RwjWM4h7Uy7RlLygZ6AiEA279FXyxsohswYXTTRnFh36iqkFdbPO/8pU6uF7V6spA="}]},"_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/meter_0.2.0_1781402052620_0.5127125888632995"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T14:29:08.289Z","modified":"2026-06-14T01:54:13.008Z","0.1.0":"2026-04-10T14:29:08.545Z","0.1.1":"2026-04-10T14:44:30.337Z","0.1.2":"2026-04-10T15:03:32.850Z","0.1.3":"2026-04-10T15:08:57.859Z","0.1.4":"2026-04-11T12:34:03.657Z","0.1.5":"2026-04-11T15:52:34.809Z","0.2.0":"2026-06-14T01:54:12.869Z"},"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/meter"},"description":"MCP performance metering — 7-Layer classification, token cost tracking, metrics export","maintainers":[{"name":"airmcp","email":"labs@codepedia.kr"}],"readme":"# @airmcp-dev/meter\n\n7-layer call classification and cost tracking for air MCP servers.\n\n## Install\n\n```bash\nnpm install @airmcp-dev/meter\n```\n\n## Quick Example\n\n```typescript\nimport { defineServer } from '@airmcp-dev/core';\n\nconst server = defineServer({\n  name: 'my-server',\n  meter: { classify: true, trackCalls: true },\n  tools: [\n    defineTool('cached_lookup', {\n      layer: 1,  // L1: cache hit, near-zero cost\n      handler: async () => getCachedData(),\n    }),\n    defineTool('ai_chain', {\n      layer: 7,  // L7: multi-step agent, heavy token usage\n      handler: async () => runAgentChain(),\n    }),\n  ],\n});\n```\n\n## 7-Layer Classification\n\n| Layer | Type | Cost |\n|-------|------|------|\n| L1 | Cache / Static | Minimal |\n| L2 | Direct lookup | Low |\n| L3 | Simple transform | Low |\n| L4 | Computation | Medium |\n| L5 | External API | Medium-High |\n| L6 | LLM single call | High |\n| L7 | Agent chain | Very High |\n\n## Features\n\n- **Auto-classification** based on execution time if no `layer` hint\n- **Token cost tracking** with daily/monthly budgets\n- **Ring buffer** metrics (10,000 records, constant memory)\n- **getMetrics()** / **getMetricsSnapshot()** for per-tool and aggregate stats\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"}