Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ovos-tool-adapters

PyPI License Tests

Bridges MCP (Model Context Protocol) and UTCP (Universal Tool Calling Protocol) servers into the OVOS agentic loop as standard ToolBox plugins.

Configure an MCP or UTCP server in your persona JSON and the agent loop consumes it like any other toolbox — no protocol awareness required.

Install

pip install ovos-tool-adapters[mcp]    # MCP support
pip install ovos-tool-adapters[utcp]   # UTCP support
pip install ovos-tool-adapters[mcp,utcp]

Quick start

Add to your persona JSON:

{
  "name": "researcher",
  "chat_module": "ovos-react-loop",
  "toolboxes": ["ovos-mcp-toolbox"],
  "ovos-mcp-toolbox": {
    "transport": "stdio",
    "command": "uvx",
    "args": ["mcp-server-fetch"],
    "timeout": 30
  }
}

The agent now has access to every tool the MCP server exposes, with the real JSON Schema forwarded to the LLM.

Supported transports

MCP (ovos-mcp-toolbox)

Transport Config
stdio (subprocess) "transport": "stdio", "command": "uvx", "args": [...]
SSE "transport": "sse", "url": "http://..."
Streamable HTTP "transport": "http", "url": "http://..."

UTCP (ovos-utcp-toolbox)

Any transport supported by the installed UTCP version (HTTP, SSE, CLI, WebSocket, MCP, …):

{
  "toolboxes": ["ovos-utcp-toolbox"],
  "ovos-utcp-toolbox": {
    "utcp_config": {
      "tool_providers": [
        {"name": "search", "provider_type": "http", "url": "http://localhost:8000/tools"}
      ]
    }
  }
}

How it works

  • A daemon-thread asyncio event loop keeps MCP/UTCP sessions alive between calls — no reconnect per tool call.
  • Each server's JSON Schema is translated to a Pydantic model at discovery time, so the LLM sees the actual input schema.
  • Missing mcp/utcp packages degrade gracefully: the toolbox returns an empty tool list and logs a warning — the agent loop is not affected.

Full documentation: docs/


Credits

Developed by TigreGótico for OpenVoiceOS.

NGI0 Commons Fund

This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429.


License

Apache 2.0 — see LICENSE.

Download files

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

Source Distribution

ovos_tool_adapters-0.1.1a1.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

ovos_tool_adapters-0.1.1a1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file ovos_tool_adapters-0.1.1a1.tar.gz.

File metadata

  • Download URL: ovos_tool_adapters-0.1.1a1.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ovos_tool_adapters-0.1.1a1.tar.gz
Algorithm Hash digest
SHA256 c1a51116b5c3d11d287ad065988a8c4547f77504ab066e166de00a639d8d3aa3
MD5 780e4fc684d2ddeb112f7708f6a4bce0
BLAKE2b-256 84e56a433c5679200b32c17fb376f6089cbb00854da38cedea17621db5312c53

See more details on using hashes here.

File details

Details for the file ovos_tool_adapters-0.1.1a1-py3-none-any.whl.

File metadata

File hashes

Hashes for ovos_tool_adapters-0.1.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 8ac689ce406a797c8a4365ae2ce29a6c46e00552d8cefeba46f1e3279ada4961
MD5 1aad8c4e7f87ae948b82d0f69b51a5d6
BLAKE2b-256 714135306941df6d6d4efe207cf787aed6a3d6753386386a322423461aa1d53e

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.2

2 files

This release

0.1.1a1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page