{"_id":"autotel-mcp-instrumentation","_rev":"32-530e824d2fb58a131daf82208c4b886a","name":"autotel-mcp-instrumentation","dist-tags":{"latest":"40.0.1"},"versions":{"29.0.0":{"name":"autotel-mcp-instrumentation","version":"29.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@29.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"bin":{"intent":"bin/intent.js"},"dist":{"shasum":"a79d74a8c66bbe5f27788976a8f8344026f7e3b0","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-29.0.0.tgz","fileCount":54,"integrity":"sha512-8/G6Ev6kYwMC9cgu7FpDeEYcwHe1oLO2P1mTe+fQ9D9OWAJQ2pqKH44EILDPdiUfcWXVuaNG0KGKtb1apVOIyA==","signatures":[{"sig":"MEYCIQC1wZDV6ScgrGnN8gpG8N9EoROsTnvwHcz378MDd8zrhwIhAKnqBYMESa8O9m37Cx5ffi0e+8QSgtGYTly8rUuNlpil","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501006},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"gitHead":"0f7d18a3ab3dfef366c8f73771a53645e99fac76","scripts":{"dev":"tsup --watch","lint":"npx eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"npx eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"jagreehal","email":"jag.reehal@gmail.com"},"repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.6.2","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"@tanstack/intent":"^0.0.29","@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.3","autotel":"workspace:*","typescript":"^6.0.2","@types/node":"^25.5.2","autotel-edge":"workspace:*","@opentelemetry/core":"^2.6.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/context-async-hooks":"^2.6.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_29.0.0_1776287713882_0.8928395107132678","host":"s3://npm-registry-packages-npm-production"}},"29.0.1":{"name":"autotel-mcp-instrumentation","version":"29.0.1","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@29.0.1","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"bin":{"intent":"bin/intent.js"},"dist":{"shasum":"0a85690a19df5132861d3b916259151579453b0d","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-29.0.1.tgz","fileCount":55,"integrity":"sha512-gp6AcJfMfiQRI6Gt+sw48eZQp/HkTI2qFlMBYRb1SpkZz40oLB7JcoqKzxmpg6nMw5n5wve1uUuyLVhqakLGYw==","signatures":[{"sig":"MEYCIQCFXfHPRAmSmbU1SGGoFMNWywSwGPDhXUgyHDKVnQP6nQIhAM/ydAqwVk8+0oFr1JGabFYHOlHidHxIOp8ilVs58lvz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@29.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":502062},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-29.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"npx eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"npx eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/e2d7ee0dcf80bc2a6b07f0bd3bc5ec56/autotel-mcp-instrumentation-29.0.1.tgz","_integrity":"sha512-gp6AcJfMfiQRI6Gt+sw48eZQp/HkTI2qFlMBYRb1SpkZz40oLB7JcoqKzxmpg6nMw5n5wve1uUuyLVhqakLGYw==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.13.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@tanstack/intent":"^0.0.36","@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.5","autotel":"2.26.3","typescript":"^6.0.3","@types/node":"^25.6.0","autotel-edge":"3.16.5","@opentelemetry/core":"^2.7.0","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/context-async-hooks":"^2.7.0"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_29.0.1_1777271045587_0.8335702061656161","host":"s3://npm-registry-packages-npm-production"}},"30.0.0":{"name":"autotel-mcp-instrumentation","version":"30.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@30.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"bin":{"intent":"bin/intent.js"},"dist":{"shasum":"01d884ee6a75207ac90976ff7fcf4419230c41a9","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-30.0.0.tgz","fileCount":55,"integrity":"sha512-98NsJYIfNEhKkV67jKA3XUIyJ5JbVgKWGtwtC+3vfguPITFXJxcCshk41IN0yCjAp3TKmEo2wjinZc6zpS069w==","signatures":[{"sig":"MEUCIDjjgdIHikvAGysRwrhgD9p6SJIYlBHC6douLQ8//9cEAiEA5kjiKm5swOOmfJKsPkT84oNL2nt1SJ5pBeEfbyogLZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@30.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":496008},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-30.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"npx eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"npx eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/3415d3a5cfb155edbf2724d5fdeb907b/autotel-mcp-instrumentation-30.0.0.tgz","_integrity":"sha512-98NsJYIfNEhKkV67jKA3XUIyJ5JbVgKWGtwtC+3vfguPITFXJxcCshk41IN0yCjAp3TKmEo2wjinZc6zpS069w==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.13.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@tanstack/intent":"^0.0.36","@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.5","autotel":"3.0.0","typescript":"^6.0.3","@types/node":"^25.6.0","autotel-edge":"3.16.5","@opentelemetry/core":"^2.7.0","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/context-async-hooks":"^2.7.0"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_30.0.0_1777497177530_0.1512940940216132","host":"s3://npm-registry-packages-npm-production"}},"30.0.3":{"name":"autotel-mcp-instrumentation","version":"30.0.3","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@30.0.3","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"b427262a266d1f4b6a65d61921f7de63252bf987","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-30.0.3.tgz","fileCount":54,"integrity":"sha512-XCkyKKP/ZxudLpM9hu1FETisaS4ZlEMkCAfN2gA2nzmrfAVpbe+p6kbjMonT98RXSO0N7909E/WEC8utQvpjnA==","signatures":[{"sig":"MEYCIQDYrxHYC3rRjGsb3dVsT2iLBRQLXXT66cEg6VKR/8N86gIhAP3cwTe1IdYTerw56t1xCo7/lWnVIJpQseqiIVcT+wQ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@30.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495754},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-30.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/96df2a15ebc15772faaf00ec67373105/autotel-mcp-instrumentation-30.0.3.tgz","_integrity":"sha512-XCkyKKP/ZxudLpM9hu1FETisaS4ZlEMkCAfN2gA2nzmrfAVpbe+p6kbjMonT98RXSO0N7909E/WEC8utQvpjnA==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.13.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.5","autotel":"3.0.3","typescript":"^6.0.3","@types/node":"^25.6.0","autotel-edge":"3.16.8","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_30.0.3_1777961193070_0.4373773841886597","host":"s3://npm-registry-packages-npm-production"}},"30.0.4":{"name":"autotel-mcp-instrumentation","version":"30.0.4","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@30.0.4","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"47c7426d2b407f7c6cf4e10f0c9c2409c9e41f02","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-30.0.4.tgz","fileCount":54,"integrity":"sha512-UavbENsTocQlnhtrdVSs4wfGYBaG3Zkz73Q1VMUf/eq3UMMq0f3odKuIdcnkuTY9AmBUvtcn2AH8/4e3Dc17jg==","signatures":[{"sig":"MEQCIAfPjG2CwCq57uxmH42E+Ta/kMBzx7jLoYnNIQvYYP0jAiBlA1MOQA6WsV81gSw0WCgNcZ5z9fMmcAFzyGohXJb8fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@30.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-30.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/b6f7afc5bc182c5baf0c6382358e7bfe/autotel-mcp-instrumentation-30.0.4.tgz","_integrity":"sha512-UavbENsTocQlnhtrdVSs4wfGYBaG3Zkz73Q1VMUf/eq3UMMq0f3odKuIdcnkuTY9AmBUvtcn2AH8/4e3Dc17jg==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.14.1","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.6","autotel":"3.0.5","typescript":"^6.0.3","@types/node":"^25.7.0","autotel-edge":"3.16.10","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_30.0.4_1778712701996_0.3837955748496451","host":"s3://npm-registry-packages-npm-production"}},"31.0.0":{"name":"autotel-mcp-instrumentation","version":"31.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@31.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"5ab20d3e3038d886a707556894ca38ee04a2777c","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-31.0.0.tgz","fileCount":54,"integrity":"sha512-XGX1FqD66BOKnLWwiDnF89TNhVvQg7z8W3pt6esasWx/mIyVNsFv+kuuBQgmYOvq/TaG3aPPzWcB8OUwmWLhpA==","signatures":[{"sig":"MEUCIBzKSc3vkm1jU02X5yz7/0ZmWo+gh68Y36Xq2eCchKSHAiEAwRj0+odYFhn6jQlAXIVQtK3fZt3mRiNLYKXCW+QD+1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@31.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-31.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/a4af8a9bbfed1652907bad98f38c1141/autotel-mcp-instrumentation-31.0.0.tgz","_integrity":"sha512-XGX1FqD66BOKnLWwiDnF89TNhVvQg7z8W3pt6esasWx/mIyVNsFv+kuuBQgmYOvq/TaG3aPPzWcB8OUwmWLhpA==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.14.1","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.6","autotel":"3.1.0","typescript":"^6.0.3","@types/node":"^25.7.0","autotel-edge":"3.16.11","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_31.0.0_1779272757533_0.8647125561412723","host":"s3://npm-registry-packages-npm-production"}},"32.0.0":{"name":"autotel-mcp-instrumentation","version":"32.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@32.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"06d602d12839d78f2e9a0ee87c902789b31da1a8","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-32.0.0.tgz","fileCount":54,"integrity":"sha512-zZiFiMM67kRAx56Lfkz1Ffc8KJQJNCb/5N+TYbCEFqlSWvLgBH+6u0r7v0+aCZKLsPEwXPn6BngCIoxhZN4zTw==","signatures":[{"sig":"MEYCIQCXcy8tlYc8PnUbizHxk7X0+3ErVah5xIOvPreJ5y8yyQIhAPnNJwcbrNYyRfpZrPnnWdxX9COxy9iOqLeM+EbKT/Xd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@32.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-32.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/5591ec3b0c59164e0c011e3d1d47e221/autotel-mcp-instrumentation-32.0.0.tgz","_integrity":"sha512-zZiFiMM67kRAx56Lfkz1Ffc8KJQJNCb/5N+TYbCEFqlSWvLgBH+6u0r7v0+aCZKLsPEwXPn6BngCIoxhZN4zTw==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.15.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.6","autotel":"3.2.0","typescript":"^6.0.3","@types/node":"^25.7.0","autotel-edge":"3.16.11","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_32.0.0_1779650367752_0.2034291925570797","host":"s3://npm-registry-packages-npm-production"}},"33.0.0":{"name":"autotel-mcp-instrumentation","version":"33.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@33.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"6094875e730371133e07a65f3a2360419defd618","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-33.0.0.tgz","fileCount":54,"integrity":"sha512-XM1lwZflwZiYeoT5UNMKFcsrjM8nIDSq2TP9rVagW3ZLRvLPBWXm14pZZ7sJCTXdJjOSyk9w8DiaTyEjEdLw3Q==","signatures":[{"sig":"MEUCIHNqv7/Bqu2LNQTXPZiK1UQNGpsg+RN3XtyuXvtD1AGLAiEA76Tx8ttuEJg116YD0W7f5lj4XB7p16wo+RFkv2wD6w8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@33.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-33.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/158694a065dd1ce66c24a3b77f59b126/autotel-mcp-instrumentation-33.0.0.tgz","_integrity":"sha512-XM1lwZflwZiYeoT5UNMKFcsrjM8nIDSq2TP9rVagW3ZLRvLPBWXm14pZZ7sJCTXdJjOSyk9w8DiaTyEjEdLw3Q==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.16.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.6","autotel":"3.3.0","typescript":"^6.0.3","@types/node":"^25.7.0","autotel-edge":"3.16.11","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_33.0.0_1779990798553_0.1763804993950855","host":"s3://npm-registry-packages-npm-production"}},"33.0.1":{"name":"autotel-mcp-instrumentation","version":"33.0.1","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@33.0.1","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"2f93e257edb0b769be83962636ca8ce74f4ab6f8","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-33.0.1.tgz","fileCount":54,"integrity":"sha512-Tp084H7aBBzmJjbstB4V1ZmqPZe3Rr2y7IZ132M/Q673jjMLfldqT/j2veNHCaVmg4aJ+h3PzCvbIm9hS1EN7Q==","signatures":[{"sig":"MEUCIBwYWVh2kQbD6aItMj/Pi4mqaEseAvblzP9CFmmLx3gsAiEAmj0okgfiWlU9huY4LEP5utrdz+Wuo4ytgWmB9np6OU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@33.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-33.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/69753540706eaa78f04fb66c981eeb0f/autotel-mcp-instrumentation-33.0.1.tgz","_integrity":"sha512-Tp084H7aBBzmJjbstB4V1ZmqPZe3Rr2y7IZ132M/Q673jjMLfldqT/j2veNHCaVmg4aJ+h3PzCvbIm9hS1EN7Q==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.16.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","autotel":"3.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","autotel-edge":"3.16.12","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_33.0.1_1780081632425_0.25949634771265373","host":"s3://npm-registry-packages-npm-production"}},"34.0.0":{"name":"autotel-mcp-instrumentation","version":"34.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@34.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"78b05ac70a908cd24298259ac12ecb18b872d376","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-34.0.0.tgz","fileCount":54,"integrity":"sha512-6plzqxmepVgqA3FTNNVfQrh0VRCZrCA4nw/dE7/WhJb0d71zysJZSgoE7WAU43LYPnxsEu4yxGgm6DdE0al3dw==","signatures":[{"sig":"MEQCIFY/oa+S1Cn7ug2Tf96dFNA01qiazPImG9GTEN5AZQHIAiApcX2HeplZ4C6H6w8HZQKusH4nmlJGLpNaMJMh47zhJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@34.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-34.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d7d18e39-103e-42f2-ad04-3d641eb96aaa"}},"_resolved":"/tmp/750d13072603c8cb25a7ff5179f5a5c2/autotel-mcp-instrumentation-34.0.0.tgz","_integrity":"sha512-6plzqxmepVgqA3FTNNVfQrh0VRCZrCA4nw/dE7/WhJb0d71zysJZSgoE7WAU43LYPnxsEu4yxGgm6DdE0al3dw==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.16.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","autotel":"3.4.0","typescript":"^6.0.3","@types/node":"^25.9.1","autotel-edge":"3.16.12","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_34.0.0_1780219218213_0.9337622827972663","host":"s3://npm-registry-packages-npm-production"}},"34.0.2":{"name":"autotel-mcp-instrumentation","version":"34.0.2","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@34.0.2","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"e811780e1c106efa57c443cfe48835566157a2c8","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-34.0.2.tgz","fileCount":54,"integrity":"sha512-8/QS4onSadYxRftlLOgucLtphgKe1JG+vnDPqcG62B3RGHCmlu1cWV4HDZSvBE6lYrk34clxquPnxSVBNzFELw==","signatures":[{"sig":"MEUCICDHXObr7roiriTK52C/Wk8VlT3aDZty+GrTtquYySw7AiEA4H8CCwfdt1WWX8SzXtr2HihHakciT0JZ+tVd4egtvMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-34.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"jagreehal","email":"jag.reehal@gmail.com"},"_resolved":"/private/var/folders/sp/__ydkqk53ss4hb4k3wbv1wbc0000gn/T/690371659e3ccab9ed72dd655c3f0633/autotel-mcp-instrumentation-34.0.2.tgz","_integrity":"sha512-8/QS4onSadYxRftlLOgucLtphgKe1JG+vnDPqcG62B3RGHCmlu1cWV4HDZSvBE6lYrk34clxquPnxSVBNzFELw==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.13.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","autotel":"3.4.4","typescript":"^6.0.3","@types/node":"^25.9.1","autotel-edge":"3.16.14","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_34.0.2_1780704323586_0.6089254730278166","host":"s3://npm-registry-packages-npm-production"}},"35.0.0":{"name":"autotel-mcp-instrumentation","version":"35.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@35.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"480f4eb618caba0e2cb42abb6152c41e8531d715","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-35.0.0.tgz","fileCount":54,"integrity":"sha512-UMMKXlRq7h4/5NTb2BzbhWOQjvsF8wYZWZ/SHLo9vAybPNBIx1nP60m4HbPzeu5aDpWsjv/pLxvgXkr+vjrq8g==","signatures":[{"sig":"MEUCIQCYzMp8HRkI8nZ5JA919+mrCi+RGl5yw++uCduOJQQ7lAIgA9BnRHnhOIKsQy1qdPr+hUnl2Qn+SzHSWkFTtyksmxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@35.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-35.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6aced31b-db49-439b-929e-23a378ecc3a1"}},"_resolved":"/tmp/d56d8dd4fa2be861e3da737747925ff5/autotel-mcp-instrumentation-35.0.0.tgz","_integrity":"sha512-UMMKXlRq7h4/5NTb2BzbhWOQjvsF8wYZWZ/SHLo9vAybPNBIx1nP60m4HbPzeu5aDpWsjv/pLxvgXkr+vjrq8g==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.17.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.8","autotel":"3.5.0","typescript":"^6.0.3","@types/node":"^25.9.2","autotel-edge":"3.16.14","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_35.0.0_1781253188549_0.5026142163177163","host":"s3://npm-registry-packages-npm-production"}},"36.0.0":{"name":"autotel-mcp-instrumentation","version":"36.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@36.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"1a17d67385a07ba308ffa8df90be52c06acd65c0","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-36.0.0.tgz","fileCount":54,"integrity":"sha512-HdrFcTlyris5oKzwqluecSgZxQYjm7XWmJKU22j5MSKYAWNpACHkCaeBCkSwrpc5G0HAun6PO9ZLUApLh3v93Q==","signatures":[{"sig":"MEQCIGRVlKGI3xGuINYDntZSthV97R38d4PWqhYDfXt0liLKAiBbwa1zidvIZ9NrkzdBNpUueCDPgDIYBChllisZaV3ofw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@36.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495755},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-36.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsup","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6aced31b-db49-439b-929e-23a378ecc3a1"}},"_resolved":"/tmp/3d11c4a63673a5bc8035b037a65c433f/autotel-mcp-instrumentation-36.0.0.tgz","_integrity":"sha512-HdrFcTlyris5oKzwqluecSgZxQYjm7XWmJKU22j5MSKYAWNpACHkCaeBCkSwrpc5G0HAun6PO9ZLUApLh3v93Q==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.17.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.8","autotel":"3.6.0","typescript":"^6.0.3","@types/node":"^25.9.2","autotel-edge":"3.16.14","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_36.0.0_1781296857913_0.46585488109191076","host":"s3://npm-registry-packages-npm-production"}},"37.0.0":{"name":"autotel-mcp-instrumentation","version":"37.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@37.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"9cbb9bbfa03793f5c73484552decc68452c52a38","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-37.0.0.tgz","fileCount":68,"integrity":"sha512-CLcJWqMp4MmZMmbS7Ej2d3MTRBwtoIh9kfdlxqRyfihcAN00AoV9y3t+BO47y7hY5Le0vUy4pUdF0roBe/7ncA==","signatures":[{"sig":"MEUCIQCSwNuwF98DnkWrySshhTTldLK9nNBdxBs069ha8zNrvgIgUukRcSr48ZogO3P1N378/EBubqCuHDRkNUxwWwKIYho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@37.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":255397},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-37.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsdown","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6aced31b-db49-439b-929e-23a378ecc3a1"}},"_resolved":"/tmp/3feba26efb51af3d2bbaaeb80a876512/autotel-mcp-instrumentation-37.0.0.tgz","_integrity":"sha512-CLcJWqMp4MmZMmbS7Ej2d3MTRBwtoIh9kfdlxqRyfihcAN00AoV9y3t+BO47y7hY5Le0vUy4pUdF0roBe/7ncA==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.17.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.3","tsdown":"^0.22.2","vitest":"^4.1.8","autotel":"3.7.0","typescript":"^6.0.3","@types/node":"^25.9.2","autotel-edge":"3.16.15","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_37.0.0_1781559502420_0.5464566305284182","host":"s3://npm-registry-packages-npm-production"}},"38.0.0":{"name":"autotel-mcp-instrumentation","version":"38.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@38.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"b8c2c993f888801a72e6eca7c915ea926a77d183","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-38.0.0.tgz","fileCount":68,"integrity":"sha512-NCH94RDw6vEitNbwZND9UTVTxVbAmJeavGJkKUtoxhhl04oYxayAON9WekZqiMdeSPJZuOUDbXKTrsz90dMRtQ==","signatures":[{"sig":"MEQCID0+j7Nl5A/VkiQvyOj2p4X1KvA1BYJqVVwk/lAYI/1dAiAqNMQU/wQqotFm4/9zPeHxr2azEh6C0Cc/O8m5bxSvTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@38.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":255397},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-38.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsdown","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6aced31b-db49-439b-929e-23a378ecc3a1"}},"_resolved":"/tmp/e2bbdf2dce2bdf4dcc7ea15ff454b86a/autotel-mcp-instrumentation-38.0.0.tgz","_integrity":"sha512-NCH94RDw6vEitNbwZND9UTVTxVbAmJeavGJkKUtoxhhl04oYxayAON9WekZqiMdeSPJZuOUDbXKTrsz90dMRtQ==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.17.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.3","tsdown":"^0.22.2","vitest":"^4.1.8","autotel":"4.0.0","typescript":"^6.0.3","@types/node":"^25.9.2","autotel-edge":"3.16.15","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_38.0.0_1781596190695_0.23662377830471337","host":"s3://npm-registry-packages-npm-production"}},"39.0.0":{"name":"autotel-mcp-instrumentation","version":"39.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@39.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"541e97b4d42a344b6c9f00fcd1ee8cc1e8b07760","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-39.0.0.tgz","fileCount":82,"integrity":"sha512-rCe8tUG/jjoLxLKeOh036Qb92oEKYy54d2NCq5pH9R+uJJp57uKg1u0K0iBnzDeYmL6sou62Qi3J2qCVSNsZAA==","signatures":[{"sig":"MEYCIQDAaB2VHfPrdPkDKb+GOrbTOVnInIvDlcHxAd9FaQWWoQIhAOLatyJANbdAboNiZhBBXhssu6zEBsgMeTqQj81pIJ7S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@39.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":533502},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-39.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./security":{"types":"./dist/security.d.ts","import":"./dist/security.js","require":"./dist/security.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsdown","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6aced31b-db49-439b-929e-23a378ecc3a1"}},"_resolved":"/tmp/293b159f2de5d7de301c959628d877a8/autotel-mcp-instrumentation-39.0.0.tgz","_integrity":"sha512-rCe8tUG/jjoLxLKeOh036Qb92oEKYy54d2NCq5pH9R+uJJp57uKg1u0K0iBnzDeYmL6sou62Qi3J2qCVSNsZAA==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.17.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.3","tsdown":"^0.22.2","vitest":"^4.1.8","autotel":"4.1.0","typescript":"^6.0.3","@types/node":"^25.9.2","autotel-edge":"3.17.0","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_39.0.0_1781987828183_0.5238863198627073","host":"s3://npm-registry-packages-npm-production"}},"40.0.0":{"name":"autotel-mcp-instrumentation","version":"40.0.0","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"url":"https://jagreehal.com","name":"Jag Reehal","email":"jag@jagreehal.com"},"license":"MIT","_id":"autotel-mcp-instrumentation@40.0.0","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"dist":{"shasum":"18d97b848c4a6d58bce978c81febcde4225424a0","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-40.0.0.tgz","fileCount":68,"integrity":"sha512-+l0l8XB9NjsqTOpm0keafhBWlVGsELP4///o1zPycaNuabxh2gjI44kwEnzbhV9xAJdF64knHqDfDZ9hnfKWxw==","signatures":[{"sig":"MEUCIHELnUmrXIbh9ouEgTIRakGu6HGytDPv5XrBw8CgRF/CAiEA8YfQO7S/+7Zx8NV9dqu+jPoFjjoq/mtvkCGCepMHrU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@40.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434342},"main":"./dist/index.js","type":"module","_from":"file:autotel-mcp-instrumentation-40.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./security":{"types":"./dist/security.d.ts","import":"./dist/security.js","require":"./dist/security.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsdown","clean":"rimraf dist","format":"prettier --write .","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","format:check":"prettier --check src/**/*.ts","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6aced31b-db49-439b-929e-23a378ecc3a1"}},"_resolved":"/tmp/a136da05b0ed3dcbe8b097681bc50c1f/autotel-mcp-instrumentation-40.0.0.tgz","_integrity":"sha512-+l0l8XB9NjsqTOpm0keafhBWlVGsELP4///o1zPycaNuabxh2gjI44kwEnzbhV9xAJdF64knHqDfDZ9hnfKWxw==","repository":{"url":"git+https://github.com/jagreehal/autotel.git","type":"git","directory":"packages/autotel-mcp-instrumentation"},"_npmVersion":"11.17.0","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@opentelemetry/api":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.3","tsdown":"^0.22.2","vitest":"^4.1.8","autotel":"4.2.0","typescript":"^6.0.3","@types/node":"^25.9.2","autotel-edge":"3.17.1","@opentelemetry/core":"^2.7.1","vitest-mock-extended":"^4.0.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"autotel":"*","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/autotel-mcp-instrumentation_40.0.0_1781991058733_0.47240008407489764","host":"s3://npm-registry-packages-npm-production"}},"40.0.1":{"name":"autotel-mcp-instrumentation","version":"40.0.1","description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js","require":"./dist/context.cjs"},"./metrics":{"types":"./dist/metrics.d.ts","import":"./dist/metrics.js","require":"./dist/metrics.cjs"},"./security":{"types":"./dist/security.d.ts","import":"./dist/security.js","require":"./dist/security.cjs"},"./semantic-conventions":{"types":"./dist/semantic-conventions.d.ts","import":"./dist/semantic-conventions.js","require":"./dist/semantic-conventions.cjs"}},"keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"author":{"name":"Jag Reehal","email":"jag@jagreehal.com","url":"https://jagreehal.com"},"license":"Apache-2.0","peerDependencies":{"@modelcontextprotocol/sdk":"^1.29.0","autotel":"*"},"dependencies":{"@opentelemetry/api":"^1.9.1"},"devDependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/context-async-hooks":"^2.7.1","@opentelemetry/core":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@types/node":"^26.1.0","rimraf":"^6.1.3","tsdown":"^0.22.3","typescript":"^6.0.3","vitest":"^4.1.10","vitest-mock-extended":"^4.0.0","autotel":"4.2.5","autotel-edge":"3.17.2"},"repository":{"type":"git","url":"git+https://github.com/jagreehal/autotel.git","directory":"packages/autotel-mcp-instrumentation"},"bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","scripts":{"build":"tsdown","dev":"tsdown --watch","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","type-check":"tsc --noEmit","test":"vitest run","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest --config vitest.integration.config.ts","clean":"rimraf dist","format":"prettier --write .","format:check":"prettier --check src/**/*.ts"},"_id":"autotel-mcp-instrumentation@40.0.1","_integrity":"sha512-OuyWw5kmnqLdXsPQeelbjsGtseUDY22L7jBZNYuuhDWN+TeqeSLpzz9X+VpVIouOQpW/O3cXKEhdawnwrG/njQ==","_resolved":"/tmp/82b0a5281c24d7dd5b9705efe0bcf243/autotel-mcp-instrumentation-40.0.1.tgz","_from":"file:autotel-mcp-instrumentation-40.0.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-OuyWw5kmnqLdXsPQeelbjsGtseUDY22L7jBZNYuuhDWN+TeqeSLpzz9X+VpVIouOQpW/O3cXKEhdawnwrG/njQ==","shasum":"5532f3c3587d70c43063558f9e15c87fd7e484bb","tarball":"https://registry.npmjs.org/autotel-mcp-instrumentation/-/autotel-mcp-instrumentation-40.0.1.tgz","fileCount":68,"unpackedSize":443956,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/autotel-mcp-instrumentation@40.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCD224AVnMTPzYYjQ3Fjdxck4++UOHs5KMmhO7hrj6DbwIgSWLJCklZXltQD4Bgbvy/KUenlDAKbV2VeYR2V/R5RpM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6aced31b-db49-439b-929e-23a378ecc3a1"}},"directories":{},"maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/autotel-mcp-instrumentation_40.0.1_1783978677329_0.7437650683803918"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-15T21:15:13.881Z","modified":"2026-07-13T21:37:57.722Z","29.0.0":"2026-04-15T21:15:14.035Z","29.0.1":"2026-04-27T06:24:05.737Z","30.0.0":"2026-04-29T21:12:57.692Z","30.0.3":"2026-05-05T06:06:33.210Z","30.0.4":"2026-05-13T22:51:42.126Z","31.0.0":"2026-05-20T10:25:57.677Z","32.0.0":"2026-05-24T19:19:27.917Z","33.0.0":"2026-05-28T17:53:18.768Z","33.0.1":"2026-05-29T19:07:12.595Z","34.0.0":"2026-05-31T09:20:18.378Z","29.0.2":"2026-06-04T00:25:50.352Z","30.0.5":"2026-06-04T00:26:10.971Z","31.0.1":"2026-06-04T00:26:25.580Z","32.0.1":"2026-06-04T00:26:36.584Z","33.0.2":"2026-06-04T00:26:51.495Z","34.0.1":"2026-06-04T00:27:02.673Z","34.0.2":"2026-06-06T00:05:23.737Z","35.0.0":"2026-06-12T08:33:08.684Z","36.0.0":"2026-06-12T20:40:58.066Z","37.0.0":"2026-06-15T21:38:22.579Z","38.0.0":"2026-06-16T07:49:50.848Z","39.0.0":"2026-06-20T20:37:08.328Z","40.0.0":"2026-06-20T21:30:58.876Z","40.0.1":"2026-07-13T21:37:57.484Z"},"bugs":{"url":"https://github.com/jagreehal/autotel/issues"},"author":{"name":"Jag Reehal","email":"jag@jagreehal.com","url":"https://jagreehal.com"},"license":"Apache-2.0","homepage":"https://github.com/jagreehal/autotel/tree/main/packages/autotel-mcp-instrumentation#readme","keywords":["opentelemetry","otel","mcp","model-context-protocol","distributed-tracing","observability","instrumentation","w3c-trace-context"],"repository":{"type":"git","url":"git+https://github.com/jagreehal/autotel.git","directory":"packages/autotel-mcp-instrumentation"},"description":"OpenTelemetry instrumentation for Model Context Protocol (MCP) with distributed tracing support","maintainers":[{"name":"jagreehal","email":"jag.reehal@gmail.com"}],"readme":"# autotel-mcp-instrumentation\n\nOpenTelemetry instrumentation for [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) with automatic distributed tracing.\n\nAutomatically instrument MCP servers and clients with OpenTelemetry tracing. Uses W3C Trace Context propagation via the `_meta` field to enable distributed tracing across MCP boundaries.\n\n## Features\n\n- **Automatic instrumentation** - One function call to instrument all tools, resources, and prompts\n- **Distributed tracing** - W3C Trace Context propagation via `_meta` field\n- **Transport-agnostic** - Works with stdio, HTTP, SSE, or any MCP transport\n- **Node.js runtime** - Full support for Node.js applications with `autotel`\n- **Tree-shakeable** - Import only what you need (~7KB total, 2-5KB per module)\n- **Zero MCP modifications** - Uses Proxy pattern, no changes to MCP SDK required\n- **Security observability** - Annotation hints, payload-size & character-budget signals, a pluggable prompt-injection classifier, and spotlighting helpers — the protocol-boundary half of the agentic-web defense-in-depth model ([see below](#security-observability))\n\n## Installation\n\n```bash\nnpm install autotel-mcp-instrumentation @modelcontextprotocol/sdk autotel\n```\n\n## Quick Start\n\n### Server-Side Instrumentation\n\n```typescript\nimport { Server } from '@modelcontextprotocol/sdk/server/index';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio';\nimport { instrumentMcpServer } from 'autotel-mcp-instrumentation/server';\nimport { init } from 'autotel';\n\n// Initialize OpenTelemetry\ninit({\n  service: 'mcp-weather-server',\n  endpoint: 'http://localhost:4318',\n});\n\nconst server = new Server({\n  name: 'weather',\n  version: '1.0.0',\n});\n\n// Instrument the server (automatic tracing for all tools/resources/prompts)\nconst instrumented = instrumentMcpServer(server, {\n  captureArgs: true, // Log tool arguments\n  captureResults: false, // Don't log results (PII concerns)\n});\n\n// Register tools normally - they're automatically traced!\ninstrumented.registerTool({\n  name: 'get_weather',\n  description: 'Get current weather for a location',\n  inputSchema: {\n    type: 'object',\n    properties: {\n      location: { type: 'string' },\n    },\n    required: ['location'],\n  },\n  handler: async (args) => {\n    // This handler is automatically traced with parent context from _meta\n    const weather = await fetchWeather(args.location);\n    return {\n      content: [\n        {\n          type: 'text',\n          text: `Temperature in ${args.location}: ${weather.temp}°F`,\n        },\n      ],\n    };\n  },\n});\n\nawait server.connect(new StdioServerTransport());\n```\n\n### Client-Side Instrumentation\n\n```typescript\nimport { Client } from '@modelcontextprotocol/sdk/client/index';\nimport { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio';\nimport { instrumentMcpClient } from 'autotel-mcp-instrumentation/client';\nimport { init } from 'autotel';\n\n// Initialize OpenTelemetry\ninit({\n  service: 'mcp-weather-client',\n  endpoint: 'http://localhost:4318',\n});\n\nconst client = new Client({\n  name: 'weather-client',\n  version: '1.0.0',\n});\n\n// Instrument the client (automatic trace context injection)\nconst instrumented = instrumentMcpClient(client, {\n  captureArgs: true,\n  captureResults: false,\n});\n\nawait client.connect(new StdioClientTransport(/* ... */));\n\n// Tool calls automatically create spans and inject _meta with trace context\nconst result = await instrumented.callTool('get_weather', {\n  location: 'New York',\n  // _meta field is automatically injected with traceparent/tracestate/baggage\n});\n```\n\n## API Reference\n\n### Server Instrumentation\n\n#### `instrumentMcpServer(server, config?)`\n\nWraps an MCP server to automatically trace all registered tools, resources, and prompts.\n\n**Parameters:**\n\n- `server` - MCP Server instance\n- `config` - Optional instrumentation configuration\n\n**Returns:** Instrumented server (Proxy)\n\n**Configuration Options:**\n\n```typescript\ninterface McpInstrumentationConfig {\n  captureArgs?: boolean; // Capture tool/resource arguments (default: true)\n  captureResults?: boolean; // Capture results - may contain PII (default: false)\n  captureErrors?: boolean; // Capture errors and exceptions (default: true)\n  customAttributes?: (context) => Attributes; // Custom span attributes\n}\n```\n\n**Span Attributes Set:**\n\n- `mcp.type` - Operation type ('tool', 'resource', 'prompt')\n- `mcp.tool.name` / `mcp.resource.name` / `mcp.prompt.name` - Name\n- `mcp.tool.args` - Arguments (if `captureArgs: true`)\n- `mcp.tool.result` - Result (if `captureResults: true`)\n\n### Client Instrumentation\n\n#### `instrumentMcpClient(client, config?)`\n\nWraps an MCP client to automatically create spans and inject trace context for all requests.\n\n**Parameters:**\n\n- `client` - MCP Client instance\n- `config` - Optional instrumentation configuration\n\n**Returns:** Instrumented client (Proxy)\n\n**Span Attributes Set:**\n\n- `mcp.client.operation` - Operation type ('callTool', 'getResource', 'getPrompt')\n- `mcp.client.name` - Tool/resource/prompt name\n- `mcp.client.args` - Arguments (if `captureArgs: true`)\n- `mcp.client.result` - Result (if `captureResults: true`)\n\n### Context Utilities\n\n#### `extractOtelContextFromMeta(meta?)`\n\nExtract OpenTelemetry context from MCP `_meta` field.\n\n```typescript\nimport { extractOtelContextFromMeta } from 'autotel-mcp-instrumentation/context';\nimport { context } from '@opentelemetry/api';\n\nconst handler = async (args, _meta) => {\n  const parentContext = extractOtelContextFromMeta(_meta);\n  return context.with(parentContext, async () => {\n    // Your traced code with parent context\n  });\n};\n```\n\n#### `injectOtelContextToMeta(ctx?)`\n\nInject OpenTelemetry context into MCP `_meta` field.\n\n```typescript\nimport { injectOtelContextToMeta } from 'autotel-mcp-instrumentation/context';\n\nconst meta = injectOtelContextToMeta();\n// Returns: { traceparent, tracestate, baggage }\n\nawait client.callTool('my_tool', { arg1: 'value', _meta: meta });\n```\n\n#### `activateTraceContext(meta?)`\n\nExtract and immediately activate trace context from `_meta` field.\n\n```typescript\nimport { activateTraceContext } from 'autotel-mcp-instrumentation/context';\nimport { context } from '@opentelemetry/api';\n\nconst ctx = activateTraceContext(_meta);\nreturn context.with(ctx, () => {\n  // Traced code with parent context active\n});\n```\n\n## How It Works\n\n### W3C Trace Context Propagation\n\nMCP requests can include a `_meta` field for metadata. `autotel-mcp-instrumentation` uses this field to propagate W3C Trace Context headers across client-server boundaries:\n\n```\n┌─────────────┐                    ┌─────────────┐\n│ MCP Client  │                    │ MCP Server  │\n│             │                    │             │\n│  Span A     │──── callTool ────▶│  Span B     │\n│             │    { args,         │             │\n│             │      _meta: {      │ (parent: A) │\n│             │        traceparent │             │\n│             │        tracestate  │             │\n│             │        baggage }}  │             │\n└─────────────┘                    └─────────────┘\n\nDistributed Trace:\n  Span A (client) → Span B (server, child of A)\n```\n\n**Client Side:**\n\n1. Creates span for tool call\n2. Injects W3C trace context into `_meta` field\n3. Sends request with `_meta`\n\n**Server Side:**\n\n1. Receives request with `_meta` field\n2. Extracts parent trace context\n3. Creates child span with parent context\n4. Executes tool handler\n\n### Transport Agnostic\n\nBecause context is in the JSON payload itself (not HTTP headers), this works with **any** MCP transport:\n\n- stdio (standard input/output)\n- HTTP/SSE (server-sent events)\n- WebSocket\n- Custom transports\n\n## Runtime Support\n\n```typescript\nimport { instrumentMcpServer } from 'autotel-mcp-instrumentation/server';\nimport { init } from 'autotel';\n\ninit({ service: 'my-mcp-server', endpoint: 'http://localhost:4318' });\nconst instrumented = instrumentMcpServer(server);\n```\n\n## Bundle Size\n\n- **Core context utilities**: ~2KB\n- **Server instrumentation**: ~3KB\n- **Client instrumentation**: ~2KB\n- **Total (all modules)**: ~7KB\n\nTree-shakeable - import only what you need:\n\n```typescript\n// Import just server instrumentation (~5KB)\nimport { instrumentMcpServer } from 'autotel-mcp-instrumentation/server';\n\n// Import just client instrumentation (~4KB)\nimport { instrumentMcpClient } from 'autotel-mcp-instrumentation/client';\n\n// Import just context utilities (~2KB)\nimport {\n  extractOtelContextFromMeta,\n  injectOtelContextToMeta,\n} from 'autotel-mcp-instrumentation/context';\n```\n\n## Custom Attributes\n\nAdd custom span attributes based on your application logic:\n\n```typescript\nconst instrumented = instrumentMcpServer(server, {\n  customAttributes: ({ type, name, args, result }) => {\n    const attrs: Attributes = {};\n\n    // Add tenant ID from arguments\n    if (args?.tenantId) {\n      attrs['tenant.id'] = args.tenantId;\n    }\n\n    // Add result metadata\n    if (result?.metadata) {\n      attrs['result.metadata'] = JSON.stringify(result.metadata);\n    }\n\n    // Add operation-specific attributes\n    if (type === 'tool' && name === 'search') {\n      attrs['search.query'] = args?.query;\n      attrs['search.results.count'] = result?.items?.length ?? 0;\n    }\n\n    return attrs;\n  },\n});\n```\n\n## Security Observability\n\nMCP is where untrusted data crosses into your agent. The\n[agentic-web threat model](https://developer.chrome.com/docs/agents/security)\nhas two vectors: **malicious manifests** (hidden instructions in a tool's\nname/description/annotations) and **contaminated outputs** (injection smuggled\ninside otherwise-legitimate tool results). Detecting these in production is an\n_observability_ problem — and this package makes it observable at the MCP edge.\n\n> **Where this fits.** Deterministic kill-switches (cost/token/tool-call\n> ceilings, loop detection) live in\n> [`autotel-genai/guard`](../autotel-genai); identity/scope/policy lives in\n> [`autotel-genai/agent`](../autotel-genai). This package **observes and\n> signals** at the protocol boundary so those layers — and your backend's\n> alerting — have the data they need. It does not replace your agent runtime's\n> guardrails.\n\n### What you get for free\n\nWith no extra config, every instrumented tool span now carries:\n\n- **Annotation hints** → `mcp.tool.read_only`, `mcp.tool.destructive`,\n  `mcp.tool.idempotent`, `mcp.tool.open_world`, `mcp.tool.untrusted_content`\n  (read off the tool's `annotations` block).\n- **Payload sizes** → `mcp.tool.arguments.size` / `mcp.tool.result.size` (sizes\n  only — no content). A tool whose output suddenly balloons is a classic\n  injection / token-exhaustion tell.\n\n```typescript\ninstrumentMcpServer(server); // annotation hints + payload sizes are on by default\n\nserver.registerTool(\n  'search_web',\n  {\n    description: 'Search the web',\n    annotations: { openWorldHint: true, untrustedContentHint: true },\n  },\n  async (args) => {\n    /* ... */\n  },\n);\n```\n\n### Detect prompt injection with a classifier\n\nPlug in [Model Armor](https://cloud.google.com/security/products/model-armor),\n[Promptfoo](https://www.promptfoo.dev/), an LLM critic, or the built-in\nheuristic detector. It scans manifest text at registration time\n(name/description/parameter descriptions), then request/response payloads at\nruntime for tools, resources, and prompts, recording `mcp.security.*`\nattributes and emitting security events on non-clean verdicts. Classifier\nfailures never break the traced call.\n\n```typescript\nimport {\n  instrumentMcpServer,\n  heuristicInjectionClassifier,\n  MCP_CHAR_BUDGETS,\n} from 'autotel-mcp-instrumentation';\n\ninstrumentMcpServer(server, {\n  // First-pass heuristic, or supply your own (sync or async):\n  securityClassifier: heuristicInjectionClassifier(),\n  // Custom example:\n  // securityClassifier: async ({ source, text }) => {\n  //   const r = await modelArmor.scan(text);\n  //   return { verdict: r.malicious ? 'malicious' : 'clean', score: r.score };\n  // },\n\n  // Emit mcp.security.budget_exceeded when output overflows (WebMCP: 1500 chars):\n  outputCharBudget: MCP_CHAR_BUDGETS.TOOL_OUTPUT,\n});\n```\n\n> The built-in `heuristicInjectionClassifier()` is a cheap tripwire, not ground\n> truth — it produces false positives and misses novel attacks. Treat its signal\n> as input to a critic / Model Armor, not as a verdict.\n\n### Spotlight untrusted content before an LLM reads it\n\n[Spotlighting](https://arxiv.org/abs/2403.14720) demarcates untrusted data so a\nmodel treats it as data, not instructions.\n\n```typescript\nimport { spotlight } from 'autotel-mcp-instrumentation/security';\n\nconst safe = spotlight(userComment); // <untrusted>\\n…\\n</untrusted>\nconst robust = spotlight(userComment, { method: 'base64' }); // resists structural evasion\n```\n\n### Validate tool descriptions against WebMCP budgets\n\n```typescript\nimport { validateToolBudget } from 'autotel-mcp-instrumentation/security';\n\nconst violations = validateToolBudget({\n  name: 'search_web',\n  description: 'Search the web for…',\n  parameters: { query: { description: 'The search query' } },\n});\n// violations: [] when within the recommended 30/150/500-char limits\n```\n\n### Workers / edge\n\nThe `autotel-mcp-instrumentation/security` toolkit (classifier, `spotlight`,\n`validateToolBudget`, annotation/size/budget helpers) is **runtime-agnostic** —\nit depends only on `@opentelemetry/api`, with a `Buffer`→`btoa` base64 fallback —\nso it runs unchanged in Cloudflare Workers and other edge runtimes. Use it\ndirectly in an edge MCP server, or alongside `autotel-cloudflare`. The same\n`mcp.security.*` signals are emitted, so `autotel security mcp` queries work\nacross Node and Workers deployments.\n\n### Security signals reference\n\n| Signal                             | Where     | Meaning                                 |\n| ---------------------------------- | --------- | --------------------------------------- |\n| `mcp.tool.*` (hints)               | span attr | tool trust profile / manifest vector    |\n| `mcp.tool.{arguments,result}.size` | span attr | payload size (token-exhaustion tell)    |\n| `mcp.security.injection.*`         | span attr | classifier verdict / score / categories |\n| `mcp.security.injection_suspected` | event     | non-clean classifier verdict            |\n| `mcp.security.budget_exceeded`     | event     | output over `outputCharBudget`          |\n| `mcp.security.events`              | counter   | aggregate security-signal count         |\n\n## Security Considerations\n\n### PII in Arguments/Results\n\nBy default, `captureResults` is disabled to prevent PII leakage:\n\n```typescript\nconst instrumented = instrumentMcpServer(server, {\n  captureArgs: true, // May contain PII\n  captureResults: false, // DISABLED by default - may contain sensitive data\n});\n```\n\nFor production:\n\n- Review what data is in tool arguments\n- Disable `captureArgs` if arguments contain PII\n- Never enable `captureResults` in production unless you control the data\n\n### Custom PII Redaction\n\nUse `customAttributes` to redact PII:\n\n```typescript\nconst instrumented = instrumentMcpServer(server, {\n  captureArgs: false, // Disable default arg capture\n  customAttributes: ({ args }) => {\n    // Manually redact PII before logging\n    return {\n      'tool.location': args?.location, // Safe to log\n      // Omit args.email, args.userId, etc.\n    };\n  },\n});\n```\n\n## Examples\n\nSee the `apps/` directory for complete working examples:\n\n- `apps/example-mcp-server` - Instrumented MCP server with stdio transport\n- `apps/example-mcp-client` - Instrumented MCP client calling the server\n\n## Integration with Observability Backends\n\nWorks with any OTLP-compatible backend:\n\n```typescript\nimport { init } from 'autotel';\n\n// Honeycomb\ninit({\n  service: 'mcp-server',\n  endpoint: 'https://api.honeycomb.io',\n  headers: { 'x-honeycomb-team': process.env.HONEYCOMB_API_KEY },\n});\n\n// Datadog\ninit({\n  service: 'mcp-server',\n  endpoint: 'https://http-intake.logs.datadoghq.com',\n  headers: { 'DD-API-KEY': process.env.DD_API_KEY },\n});\n```\n\n## License\n\nApache-2.0\n\n## Contributing\n\nIssues and PRs welcome at [github.com/jagreehal/autotel](https://github.com/jagreehal/autotel)\n","readmeFilename":"README.md"}