Skip to content
Agentmart
Submit a tool

MCP Hangar

Policy enforcement plane for MCP: every tool call ends in a verdict.

Connector by mcp-hangar.ioOfficial · Domain verified by the MCP Registry

IndexedMITLocal (stdio)★ 18
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/mcp-hangar-io-hangar

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Policy enforcement plane for MCP: every tool call ends in a verdict. Self-hosted, MIT.

Use cases: identity-access, monitoring-observability

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
12 read · 4 write · 1 delete · 6 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 23

Read from the source code; the running server may list different tools.

Read 12 · Look things up without changing anything.

  • hangar_details
  • hangar_discovered
  • hangar_fetch_continuation
  • hangar_group_list
  • hangar_health
  • hangar_list
  • hangar_metrics
  • hangar_quarantine
  • hangar_sources
  • hangar_status
  • hangar_tools
  • hangar_whoami

Write 4 · Create, change, send or run things.

  • hangar_approve
  • hangar_call
  • hangar_start
  • hangar_stop

Delete 1 · Delete, drop, revoke or wipe things.

  • hangar_delete_continuation

Not yet classified 6 · We could not tell from the name and description.

  • hangar_discover
  • hangar_group_rebalance
  • hangar_load
  • hangar_reload_config
  • hangar_unload
  • hangar_warm

Secrets and settings it asks for

Other settings (environment variables or headers).

  • MCP_CONFIG

Tools (23)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • hangar_approve

    Approve a pending or quarantined mcp_server for registration. CHOOSE THIS when: ready to register a mcp_server from pending or quarantine list. CHOOSE hangar_discovered when: you need to review pending mcp_servers first. CHOOSE hangar_quarantine when: you need to see why a mcp_server was quarantined. Side effects: Registers the mcp_server in cold state. Removes from pending/quarantine. Args: mcp_server: str - McpServer name (from hangar_discovered or hangar_quarantine output) Returns: Success: {approved: true, mcp_server: str, status: "registered"} Not found: {approved: false, …

  • hangar_call

    Invoke tools on MCP mcp_servers (single or batch). CHOOSE THIS when: you want to execute tool(s) on mcp_server(s). This is the main entry point. CHOOSE hangar_tools when: you need to discover available tools before calling. CHOOSE hangar_start when: you only want to pre-warm without invoking. Side effects: May start cold mcp_servers. Executes calls in parallel. Concurrency model: Two levels of concurrency control apply simultaneously: 1. Per-batch: max_concurrency limits threads for THIS invocation. 2. System-wide: global and per-mcp_server semaphores (configured via conf…

  • hangar_delete_continuation

    Delete a cached continuation to free resources. CHOOSE THIS when: done with continuation data and want to free memory now. SKIP THIS for normal use - cached entries auto-expire based on TTL. Only the caller whose hangar_call produced the continuation can delete it. Side effects: Removes the cached response from memory. Args: continuation_id: str - ID of cached continuation (starts with "cont_") Returns: Success: {deleted: true, continuation_id: str} Not found: {deleted: false, continuation_id: str} Cache unavailable: {deleted: false, continuation_id: str, error: str} Exam…

  • hangar_details

    Get configuration and runtime info for a mcp_server or group. CHOOSE THIS when: you need mcp_server config, health history, or group membership. CHOOSE hangar_tools when: you need tool schemas for invoking. CHOOSE hangar_status when: you need quick overview of all mcp_servers. Side effects: None (read-only). Args: mcp_server: str - McpServer ID or Group ID Returns: McpServer: { mcp_server_id: str, state: str, mode: str, provenance: str, alive: bool, tools: [{name, description, inputSchema}], withheld_tools?: [{name, reason, di…

  • hangar_discover

    Trigger immediate discovery scan across all enabled sources. CHOOSE THIS when: you deployed new mcp_servers and want to find them now. CHOOSE hangar_discovered when: listing mcp_servers already found, awaiting approval. CHOOSE hangar_sources when: checking which discovery sources are working. Side effects: Scans all enabled sources. Updates pending mcp_server list. Args: None Returns: Success: { discovered_count: int, registered_count: int, updated_count: int, deregistered_count: int, quarantined_count: int, error_count: int, …

  • hangar_discovered

    List mcp_servers pending registration (awaiting approval). CHOOSE THIS when: reviewing what mcp_servers were found before approving. CHOOSE hangar_discover when: triggering a new scan to find mcp_servers. CHOOSE hangar_approve when: ready to register a pending mcp_server. Side effects: None (read-only). Args: None Returns: Success: { pending: [{ name: str, source: str, mode: str, discovered_at: str, fingerprint: str }] } Not configured: {error: str} Example: hangar_discovered() # {"pending"…

  • hangar_fetch_continuation

    Fetch full or remaining content from a truncated batch response. CHOOSE THIS when: hangar_call returned truncated result with continuation_id. CHOOSE hangar_delete_continuation when: done with data and want to free memory. SKIP THIS when: result was not truncated (no continuation_id in response). Only the caller whose hangar_call produced the continuation can fetch it. Side effects: None (read-only cache access). Args: continuation_id: str - ID from truncated response (starts with "cont_") offset: int - Byte offset to start reading (default: 0) limit: int - Max bytes to retriev…

  • hangar_group_list

    List all mcp_server groups with per-member details. CHOOSE THIS when: you need member-level details (rotation, weights, individual states). CHOOSE hangar_list when: you need group summaries with mcp_server list. CHOOSE hangar_details when: you need full info for a specific group. Side effects: None (read-only). Args: None Returns: { groups: [{ group_id: str, description: str, state: str, strategy: str, min_healthy: int, healthy_count: int, members_in_rotation_count: int, total_me…

  • hangar_group_rebalance

    Force rebalancing for a mcp_server group. CHOOSE THIS when: after manual intervention, or to recover members faster than auto. CHOOSE hangar_start when: starting all group members from cold state. SKIP THIS for normal operation - rebalancing happens automatically on health failures. Side effects: Re-checks all members. Recovered members rejoin rotation, failed removed. Args: group: str - Group ID Returns: { group_id: str, state: str, healthy_count: int, members_in_rotation_count: int, total_members: int, members_in_rotation: list[str]…

  • hangar_health

    Get registry health status including security metrics. CHOOSE THIS when: quick health check, monitoring dashboard, security overview. CHOOSE hangar_metrics when: detailed per-mcp_server stats, tool call counts, Prometheus. CHOOSE hangar_status when: human-readable dashboard with visual indicators. SCOPE: replica-local. The answer describes the replica that served this call, named in replica.instance_id, not the whole fleet. Another replica can answer differently at the same moment. Reads the same snapshot as hangar_status, so the two tools agree when one replica answers both. Side effects: …

  • hangar_list

    List all mcp_servers and groups with precise numeric values. CHOOSE THIS when: you need exact data for processing, filtering, or automation. CHOOSE hangar_status when: you need human-readable dashboard with visual indicators. CHOOSE hangar_group_list when: you need member-level details (rotation, weights). Side effects: None (read-only). Args: state_filter: str - Filter by state: "cold", "ready", "degraded", "dead" (default: null) Returns: { mcp_servers: [{ mcp_server_id: str, state: str, mode: str, alive: bool, to…

  • hangar_load

    Load an MCP mcp_server from the official registry at runtime. CHOOSE THIS when: you need a capability not in configured mcp_servers. CHOOSE hangar_start when: mcp_server is already configured, just needs starting. CHOOSE hangar_call when: mcp_server is configured and you want to invoke it directly. NOTE: Loaded mcp_servers are ephemeral (lost on restart). Browse: https://mcp.so/servers Side effects: Downloads and starts mcp_server process. Adds to runtime registry. Args: name: str - McpServer name from registry (e.g., "time", "stripe", "mcp-server-github") force_unverified: bool - L…

  • hangar_metrics

    Get detailed metrics for mcp_servers, groups, and system components. CHOOSE THIS when: debugging, performance analysis, Prometheus scraping, tool call stats. CHOOSE hangar_health when: quick health check with security metrics. CHOOSE hangar_status when: human-readable overview for display. Side effects: None (read-only). Args: format: str - Output format: "json" or "prometheus" (default: "json") Returns: JSON format: { mcp_servers: {<id>: {state, mode, tools_count, invocations, errors, avg_latency_ms}}, groups: {<id>: {state, strategy, total_members, healthy_members…

  • hangar_quarantine

    List quarantined mcp_servers with failure reasons. CHOOSE THIS when: investigating why mcp_servers failed validation or health checks. CHOOSE hangar_discovered when: listing mcp_servers that passed validation. CHOOSE hangar_approve when: ready to restore a quarantined mcp_server. Side effects: None (read-only). Args: None Returns: Success: { quarantined: [{ name: str, source: str, reason: str, quarantine_time: str }] } Not configured: {error: str} Example: hangar_quarantine() # {"quarantined": [{"name"…

  • hangar_reload_config

    Reload configuration from file and apply changes. CHOOSE THIS when: you modified config.yaml and want to apply changes without restarting. NOTE: Preserves unchanged mcp_servers (no restart), only affects added/removed/updated. Side effects: Stops/starts mcp_servers based on configuration changes. Args: graceful: bool - If True, wait for idle state before stopping (default: true) Returns: On success: { status: "success", message: str, mcp_servers_added: [str], mcp_servers_removed: [str], mcp_servers_updated: [str], mcp_servers_unch…

Show 8 more tools
  • hangar_sources

    List discovery sources with health status. CHOOSE THIS when: diagnosing why mcp_servers are not being discovered. CHOOSE hangar_discover when: triggering a scan after fixing source issues. CHOOSE hangar_health when: checking overall system health, not just discovery. Side effects: None (read-only). Args: None Returns: Success: { sources: [{ id: str, source_type: str, mode: str, is_healthy: bool, is_enabled: bool, last_discovery: str | null, mcp_servers_count: int, error_message: …

  • hangar_start

    Start a mcp_server or all members of a group. CHOOSE THIS when: you need to verify startup works or pre-warm a specific mcp_server/group. CHOOSE hangar_warm when: you need to pre-warm multiple mcp_servers at once. CHOOSE hangar_call when: you want to invoke a tool (auto-starts cold mcp_servers). SKIP THIS when: you just want to call a tool - hangar_call auto-starts mcp_servers. Side effects: Starts mcp_server process/container. State changes from cold to ready. Args: mcp_server: str - McpServer ID or Group ID Returns: McpServer: {mcp_server: str, state: str, tools: list[str]} G…

  • hangar_status

    Get a human-readable status dashboard of the replica that answers. CHOOSE THIS when: you need to display status to user or quick health overview. CHOOSE hangar_list when: you need exact values for processing or filtering. CHOOSE hangar_health when: you need system health with security metrics. SCOPE: replica-local. With more than one replica, this is what the replica named in replica.instance_id knows, not the fleet. Two calls can reach two replicas and disagree without anything having changed. Uptime is that replica's process uptime. Reads the same snapshot as hangar_health, so the two agre…

  • hangar_stop

    Stop a mcp_server or all members of a group. CHOOSE THIS when: you need to force restart or free resources immediately. CHOOSE hangar_unload when: removing a hot-loaded mcp_server permanently. SKIP THIS when: "cleaning up" between calls - mcp_servers auto-manage via idle_ttl. Side effects: Stops mcp_server process/container. State changes to cold. Args: mcp_server: str - McpServer ID or Group ID Returns: McpServer: {stopped: str, reason: str} Group: {group: str, state: str, stopped: bool} Error: ValueError with "unknown_mcp_server: <id>" Example: hangar_stop("math") …

  • hangar_tools

    Get tool schemas (JSON Schema) for a mcp_server. CHOOSE THIS when: you need tool names and input schemas before calling. CHOOSE hangar_details when: you need mcp_server config, health, or runtime info. CHOOSE hangar_call when: you already know the tool name and want to invoke it. Side effects: May start a cold mcp_server named directly to discover its tools. A group's listing reads what a member in rotation already discovered; it selects and starts none. Args: mcp_server: str - McpServer ID or Group ID Returns: McpServer: { mcp_server: str, state: str, prede…

  • hangar_unload

    Unload a hot-loaded mcp_server. CHOOSE THIS when: removing a mcp_server loaded via hangar_load. CHOOSE hangar_stop when: stopping a configured mcp_server (will auto-restart on call). NOTE: Only works for hot-loaded mcp_servers, not configured ones. Side effects: Stops mcp_server process. Removes from runtime registry. Args: mcp_server: str - McpServer ID (from hangar_load result) Returns: Success: {status: "unloaded", mcp_server: str, message: str, lifetime_seconds: float} Not hot-loaded: {status: "not_hot_loaded", mcp_server: str, message: str} Not configured: {status: "fa…

  • hangar_warm

    Pre-start mcp_servers to avoid cold start latency on first hangar_call. CHOOSE THIS when: warming multiple mcp_servers before latency-sensitive batch. CHOOSE hangar_start when: starting a specific mcp_server or group. CHOOSE hangar_call when: invoking tools (auto-starts, latency acceptable). SKIP THIS for normal use - hangar_call auto-starts mcp_servers. Side effects: Starts specified mcp_server processes. Groups are skipped. Warming all skips dead mcp_servers; name one to start it. Args: mcp_servers: str - Comma-separated mcp_server IDs, or null to warm all Returns: { warm…

  • hangar_whoami

    Show who this gateway thinks you are: principal, tenant, groups and roles. CHOOSE THIS when: a call was refused and you need to know which identity and which role bindings the gateway judged it by. Reads only your own identity; there is no way to ask about another principal or tenant. Needs no permission, but needs an authenticated caller: with auth off, or anonymously, there is no identity and this tool is not offered. Side effects: None (read-only). Returns: { principal: {id: str, type: str}, tenant_id: str | null, groups: [str], roles: [{role: str, sc…

Compare and alternatives

    Featured in

    Signals

    Stars
    18
    Forks
    10
    Open issues
    67
    Weekly downloads
    1,306
    Last commit
    Oct 24, 2026 (4 days ago)
    Last release
    Oct 25, 2026 (3 days ago)
    Last package publish
    Oct 24, 2026 (4 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.mcp-hangar/hangar
    Version
    2.34.3
    Auth
    No auth
    Packages
    pypi mcp-hangar
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 26, 2026
    Cite this page

    MCP Hangar. Agent Mart. https://agentmart.dev/connectors/mcp-hangar-io-hangar (last updated 2026-10-26)