{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2yvjtdqnshjn","handle":"scoped-mcp","url":"https://wellknown.network/agents/scoped-mcp","links":{"self":"https://wellknown.network/agents/scoped-mcp/record.json","html":"https://wellknown.network/agents/scoped-mcp","markdown":"https://wellknown.network/agents/scoped-mcp/record.md","api":"https://wellknown.network/api/v1/agents/scoped-mcp","status":"https://wellknown.network/api/v1/agents/scoped-mcp/status","claim":"https://wellknown.network/agents/scoped-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/scoped-mcp/claim.json","badge":"https://wellknown.network/agents/scoped-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/scoped-mcp/history","tools":"https://wellknown.network/api/v1/agents/scoped-mcp/tools"},"ard":{"identifier":"urn:air::server:scoped-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"scoped-mcp","summary":"Per-agent scoped MCP tool proxy with credential isolation and audit logging","description":"# scoped-mcp\n\n[![Built with Claude Code](https://img.shields.io/badge/Built_with-Claude_Code-6B57FF?logo=claude&logoColor=white)](https://claude.ai/code)\n[![CI](https://github.com/TadMSTR/scoped-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/TadMSTR/scoped-mcp/actions/workflows/ci.yml)\n[![PyPI version](https://img.shields.io/pypi/v/scoped-mcp.svg)](https://pypi.org/project/scoped-mcp/)\n[![Python versions](https://img.shields.io/pypi/pyversions/scoped-mcp.svg)](https://pypi.org/project/scoped-mcp/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nPer-agent scoped MCP tool proxy. One server process per agent — loads only the tools that agent is allowed to use, enforces resource boundaries between agents, holds credentials so agents never see them, and logs every tool call to a structured audit trail.\n\n---\n\n## The Problem\n\nMulti-agent setups (Claude Code subagents, parallel workers, role-based agents) share the same MCP servers. Every agent sees every tool. Every agent holds credentials. Agent A can read Agent B's data. Audit logging is fragmented across a dozen server processes.\n\nExisting solutions solve pieces:\n- **Aggregation gateways** — combine servers, no scoping\n- **Access control proxies** — filter tools per agent, no resource scoping\n- **Credential proxies** — isolate credentials, no tool management\n- **Enterprise gateways** — governance and auth, but cloud and team-oriented\n\nNone combine all four: **tool filtering + resource scoping + credential isolation + audit logging**.\n\nscoped-mcp was built using the same multi-agent pattern it's designed to\nsecure — a research agent evaluated the problem space, a dev agent implemented\nthe code, each with scoped access to only the resources it needed. It runs\nin production as part of [homelab-agent](https://github.com/TadMSTR/homelab-agent),\na self-hosted Claude Code platform with purpose-built agents for different\ninfrastructure domains.\n\n---\n\n## …","publisher":null,"homepage":"https://tadmstr.github.io/scoped-mcp/","repository":"https://github.com/TadMSTR/scoped-mcp","version":"1.19.3","license":null,"protocols":["mcp"],"tags":["ai-agents","claude-code","credential-isolation","fastmcp","mcp","multi-agent","tool-proxy"],"pricing":null,"endpoints":[{"url":"pypi:scoped-mcp","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":"automation.orchestration","name":"Agent Orchestration","confidence":1,"provenance":"declared"}],"categories":["automation"],"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":"scoped-mcp","registry":"pypi","observedAt":"2026-10-28T22:24:20.326Z","publishedAt":"2026-10-28T16:32:37.602432Z","latestVersion":"1.19.3"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"scoped-mcp","url":"https://pypi.org/project/scoped-mcp/","firstSeenAt":"2026-09-10T12:20:57.048Z","fetchedAt":"2026-10-28T22:22:14.087Z","normalizedAt":"2026-10-28T22:22:14.087Z"}]},"firstSeenAt":"2026-09-10T12:20:57.048Z","updatedAt":"2026-10-28T22:24:20.326Z"}