MH

mcp-hangar/mcp-hangar

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

17 stars 9 forks 품질 82 트렌드 41MIT

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;
GitHub에서 전체 README 보기

설치

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"] } } }