
mcp-hangar/mcp-hangar
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
MCP policy enforcement plane — deterministic policy on every Model Context Protocol call: identity, RFC 8707 audience binding, tool schema digest pinning, full audit trail. Python, self-hosted, MIT.
Обзор
Same tool, same arguments, same call — refused because the description changed underneath it. Real output; regenerate it with vhs demo.tape . In MCP, the tool list is a hint the client caches; the call path is the only surface a provider mediates in real time. Every governance primitive worth having -- revocation, per-tenant scoping, audit -- attaches there, or attaches to nothing. Hangar puts a policy enforcement plane on that seam: one mediated path for lifecycle, policy, and telemetry across your whole MCP server fleet. Background: The Advisory List -- Why MCP Governance Lives at the Call Path Upgrading rather than installing fresh? The migration steps live in the upgrade guide. init finds your MCP client (Claude Code, Cursor, Claude Desktop), writes a config, starts each server once to check it works, and -- while they are up -- records a for every tool they serve. Restart your client and it has a mcp-hangar server beside the ones you already had.
README
Показан фрагмент оригинального README. Открыть оригинал.
The policy enforcement plane for MCP – deterministic admission and egress policy, attributable audit, and SIEM export for your MCP server fleet. MIT, self-hosted, no SaaS.
Same tool, same arguments, same call — refused because the description changed underneath it. Real output; regenerate it with vhs demo.tape.
Why
In MCP, the tool list is a hint the client caches; the call path is the only surface a provider mediates in real time. Every governance primitive worth having – revocation, per-tenant scoping, audit – attaches there, or attaches to nothing. Hangar puts a policy enforcement plane on that seam: one mediated path for lifecycle, policy, and telemetry across your whole MCP server fleet.
Background: The Advisory List – Why MCP Governance Lives at the Call Path
Install
pip install mcp-hangar
# or: uv pip install mcp-hangar
Upgrading rather than installing fresh? The migration steps live in the upgrade guide.
Quickstart
curl -sSL https://mcp-hangar.io/install.sh | bash && export PATH="$HOME/.mcp-hangar/bin:$PATH" && mcp-hangar init -y
init finds your MCP client (Claude Code, Cursor, Claude Desktop), writes a
config, starts each server once to check it works, and – while they are up –
records a digest pin for every tool they serve. Restart your client and it
has a mcp-hangar server beside the ones you already had. Your existing entries
are left as they are; a server is behind Hangar once it is listed under
mcp_servers in the config init wrote.
Now watch a changed tool be withheld. An MCP server decides what it advertises every time it connects, and the dangerous change is not a new parameter, it is a new description: same inputs, same outputs, different instructions for the model.
# a demo upstream that rewrites its own tool description on request;
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →Конфигурация
{
"mcpServers": {
"mcp-hangar": {
"command": "/home/you/.mcp-hangar/bin/mcp-hangar",
"args": ["--config", "/home/you/demo.yaml", "serve"]
}
}
}