Skip to main content

cogno-mcp

Bridge an MCP server's tools to the Cogno tool contract.

The third tool source for the Cogno stack — alongside in-process skills (cogno-cortex) and the host's native functions. MCPDispatcher exposes any MCP server's tools as a cogno-anima ToolDispatcher, so the EGO / cogno-soma see MCP tools as ordinary tools and never speak the protocol.

The valuable part — schema conversion, CallToolResult → ToolResult mapping, and policy (read-only / destructive) from MCP tool annotations — is SDK-free and fully tested with fakes. The thin transport helpers (stdio / HTTP / SSE) are the only place the official mcp SDK is used; transport is the SDK's job, not ours.

MCP server ──(stdio/HTTP/SSE)──▶ MCPDispatcher ──▶ ToolDispatcher ──▶ EGO / cogno-soma
                                  (implements cogno-anima's contract)

Install

pip install "cogno-mcp[mcp]"     # [mcp] pulls the official MCP SDK (for transport)

cogno-anima (the contract) is a runtime dep not yet on PyPI — install it from git first; see .github/workflows/ci.yml. Without the [mcp] extra the MCPDispatcher still works against any session you provide; the transport helpers raise a clear MCPUnavailableError.

Use

import sys
from cogno_mcp import MCPDispatcher, stdio_session

async with stdio_session(sys.executable, args=["my_server.py"]) as session:
    dispatcher = await MCPDispatcher.create(session)          # lists + caches tools

    dispatcher.tools_schema()            # OpenAI tool defs the EGO offers
    dispatcher.is_mutating("wipe")       # from the tool's readOnlyHint
    dispatcher.requires_confirmation("wipe")   # from its destructiveHint

    await pipe.run_turn(ctx, cfg, dispatcher=dispatcher)      # cogno-soma

Transports: stdio_session(command, args=...) (subprocess), http_session(url) (Streamable HTTP), sse_session(url) (legacy SSE). Each is an async context manager that connects, initialize()s, and tears down on exit — the host owns the lifecycle.

Mapping

MCP → cogno-anima
Tool.name/description/inputSchema tools_schema() OpenAI function def
CallToolResult.content (text blocks) ToolResult.output
CallToolResult.isError = True recoverable ToolResult(ok=False)
transport / protocol exception raises MCPDispatchError (EGO propagates)
unknown tool name recoverable ToolResult(ok=False)
annotations.readOnlyHint is_mutating (absent/false → conservative true)
annotations.destructiveHint = True requires_confirmation (drives the EGO gate)

Skills + MCP + native together

Each source is a ToolDispatcher; merge them per persona:

from cogno_anima.tools import CompositeDispatcher
dispatcher = CompositeDispatcher([cortex_dispatcher, mcp_dispatcher, native_dispatcher])

The ToolDispatcher contract is the unifier — skill / MCP / native are just sources.

The Cogno ecosystem

cogno-mcp is one organ of Cogno — a family of small, composable, Apache-2.0 libraries that together form a complete conversational-agent platform. Each library owns a single concern and stays infra-agnostic; a host assembles them into a running agent:

The Cogno ecosystem

The open-source libraries are the organs; the host is the body that joins them. Our reference host — cogno-host, with its cogno-ui dashboard — is the private product layer, but it holds no special powers: everything it does rides on the public seams documented in each library's docs/HOST_INTEGRATION.md, so you can assemble a body of your own.

Development

pip install -e ".[dev]"
pytest tests/unit -q            # SDK-free dispatcher logic against fakes
pytest tests/integration -q     # MCPDispatcher vs a real FastMCP server over stdio
ruff check cogno_mcp tests && mypy cogno_mcp
python examples/host_min.py     # spawns a local MCP server and calls a tool

Apache-2.0.

Metadata

Release files for cogno-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cogno-mcp 0.1.1
File Size Uploaded Provenance
cogno_mcp-0.1.1.tar.gz 12.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cogno-mcp 0.1.1
File Interpreter ABI Platform
cogno_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.5 kB

Release files / cogno_mcp-0.1.1.tar.gz

Download URL cogno_mcp-0.1.1.tar.gz
Size 12.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ea7fab80dbc7625e59fc7a64a23ca26e10ff4e43a1f764b4732a6c92968ca301
BLAKE2b-256 checksum
How to use checksums
448081ca5c807281095520a73d959532f0afa985e021c4d45c61a7386530b3f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.

Transparency log

Release files / cogno_mcp-0.1.1-py3-none-any.whl

Download URL cogno_mcp-0.1.1-py3-none-any.whl
Size 13.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da5e0972e0cdae7736a49f44302acf0bdcf92ba785655b3069894b1884657e8d
BLAKE2b-256 checksum
How to use checksums
ffadfda5c75d955f793d47461705e78e13e636ee6f1e2d7f1df2adac872ac285
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.

Transparency log

Security for cogno-mcp 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for cogno_mcp-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

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