
mcp-hangar/mcp-hangar
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
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"]
}
}
}