{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_vxz54mvrxb56","handle":"fabric-mcp-common","url":"https://wellknown.network/agents/fabric-mcp-common","links":{"self":"https://wellknown.network/agents/fabric-mcp-common/record.json","html":"https://wellknown.network/agents/fabric-mcp-common","markdown":"https://wellknown.network/agents/fabric-mcp-common/record.md","api":"https://wellknown.network/api/v1/agents/fabric-mcp-common","status":"https://wellknown.network/api/v1/agents/fabric-mcp-common/status","claim":"https://wellknown.network/agents/fabric-mcp-common/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/fabric-mcp-common/claim.json","badge":"https://wellknown.network/agents/fabric-mcp-common/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:fabric-mcp-common","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"fabric-mcp-common","summary":"Shared plumbing for FABRIC MCP servers — token authentication, Prometheus instrumentation, and structured logging","description":"# fabric-mcp-common\n\nShared plumbing for FABRIC MCP servers: **token authentication**, **Prometheus\ninstrumentation**, and **structured logging**.\n\nExtracted from [`fabric_api_mcp`](https://github.com/fabric-testbed/fabric_api_mcp) so that\nnew MCP implementations get this for free instead of reimplementing bearer extraction, JWT\nclaim decoding, local-vs-server token resolution, metric definitions, and identity plumbing\nfor logs and dashboards.\n\nThe point isn't only code reuse. Because every adopting server reports the **same metric\nnames and log fields**, one Grafana dashboard works against all of them — and that dashboard\nships in this package.\n\n- **No third-party dependencies** in the core (`auth` + `logging`): pure standard library.\n- **Everything heavier is an extra** — Prometheus, JWKS verification, FastMCP.\n- **Framework adapters** for FastMCP and Starlette/ASGI, imported on demand.\n- **Never logs a token.** Every `__repr__`, log-field helper and parameter sanitiser is\n  redacted by construction.\n\n| Subpackage | Contents | Needs |\n| :-- | :-- | :-- |\n| `fabric_mcp_common.auth` | bearer extraction, JWT claims, token sources, JWKS verification | stdlib (`[verify]` for signatures) |\n| `fabric_mcp_common.metrics` | the `mcp_*` metric contract, ASGI middleware, bundled dashboard | `[metrics]` |\n| `fabric_mcp_common.logging` | JSON formatter, level wiring, tool-logging decorator | stdlib |\n| `fabric_mcp_common.integrations` | FastMCP and Starlette adapters | `[fastmcp]` for FastMCP |\n\n---\n\n## Install\n\n```bash\npip install fabric_mcp_common                    # auth + logging (no dependencies)\npip install \"fabric_mcp_common[metrics]\"         # + Prometheus instrumentation\npip install \"fabric_mcp_common[fastmcp]\"         # + FastMCP request-context adapter\npip install \"fabric_mcp_common[verify]\"          # + CredMgr JWKS signature verification\npip install \"fabric_mcp_common[all]\"             # everything\n```\n\n---\n\n## Quick start\n\n### 1. Authenticate an MCP tool call\n\n…","publisher":null,"homepage":"https://fabric-testbed.net/","repository":"https://github.com/fabric-testbed/fabric-mcp-common","version":"0.3.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:fabric-mcp-common","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.monitoring","name":"Monitoring & Observability","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.859,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.814,"provenance":"derived"}],"categories":["analytics","dev","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"fabric-mcp-common","registry":"pypi","observedAt":"2026-09-09T15:24:00.397Z","publishedAt":"2026-08-21T12:55:05.845871Z","latestVersion":"0.3.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"fabric-mcp-common","url":"https://pypi.org/project/fabric-mcp-common/","firstSeenAt":"2026-09-09T15:22:13.693Z","fetchedAt":"2026-09-09T15:22:13.693Z","normalizedAt":"2026-09-09T15:22:13.693Z"}]},"firstSeenAt":"2026-09-09T15:22:13.693Z","updatedAt":"2026-09-09T15:24:00.397Z"}