Skip to main content

chp-adapter-mcp

The inbound MCP bridge for the Capability Host Protocol. Connects to an external Model Context Protocol server, discovers its tools, and registers each one as a governed CHP capability (chp.adapters.mcp.<server>.<tool>) with full execution evidence.

This complements the TypeScript outbound bridges (@auxo/chp-runtime-mcp), which expose CHP capabilities as MCP tools. Together they make CHP and MCP interoperate in both directions:

  • outbound (TS): CHP capability → MCP tool
  • inbound (this package): MCP tool → CHP capability

Install

pip install chp-adapter-mcp

Usage

from chp_core import LocalCapabilityHost, register_adapter
from chp_adapter_mcp import MCPAdapter, MCPServerConfig

host = LocalCapabilityHost()
adapter = MCPAdapter(MCPServerConfig(
    name="filesystem",
    command="npx",
    args=["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
))
register_adapter(host, adapter)

# Every tool the server exposes is now a CHP capability:
result = host.invoke("chp.adapters.mcp.filesystem.read_file", {"path": "/tmp/x"})

The MCP tool's own JSON Schema becomes the capability input_schema, so chp-core validates arguments before the tool runs and emits a full evidence chain (execution_started → mcp_tool_called → mcp_tool_result → execution_completed, or execution_failed).

Design notes

  • Each MCPAdapter owns one MCP server connection on a dedicated background thread + event loop (_ThreadedMCPSession), because the host runs handlers via asyncio.run (a fresh loop per call) and an MCP session is loop-bound.
  • The session is abstracted behind a small protocol so it can be faked in tests without spawning a subprocess.
  • MCPAdapter requires a server config, so register it manually with register_adapter(host, MCPAdapter(config)). It is also declared under the chp.adapters entry-point group for discovery/introspection.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chp_adapter_mcp-0.15.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chp_adapter_mcp-0.15.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file chp_adapter_mcp-0.15.0.tar.gz.

File metadata

  • Download URL: chp_adapter_mcp-0.15.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for chp_adapter_mcp-0.15.0.tar.gz
Algorithm Hash digest
SHA256 bb71604db1c26c2da7167d2f8edcf3e984c92ffc55a907b9a87d1ca27bb98037
MD5 554ca3e00b9f12a1919931be12955a0f
BLAKE2b-256 3305eb4d4b420a44e7ae8e616b541ce004be0d5c9f91547763d93ebd88f3b68c

See more details on using hashes here.

File details

Details for the file chp_adapter_mcp-0.15.0-py3-none-any.whl.

File metadata

File hashes

Hashes for chp_adapter_mcp-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78d3c7212a2c13f8ed00b555c6f0296d463081efbaa0d4a1f90cb9a5cd45a20c
MD5 52651ba114b3e44472ebae4fa56f910b
BLAKE2b-256 4fa2c13d29133cedcce0e95687ba528b9495bc1e4d0dd61692ae6630298978e0

See more details on using hashes here.

Release history Release notifications | RSS feed

0.28.0

2 files

0.27.0

2 files

0.26.0

2 files

0.25.0

2 files

0.24.0

2 files

0.23.0

1 file

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

This release

0.15.0 This release

2 files

0.14.0

2 files

0.13.1

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page