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. The agent loop then consumes it like any other toolbox, with 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, so there is 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, and 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.3a1.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.3a1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ovos_tool_adapters-0.1.3a1.tar.gz
Algorithm Hash digest
SHA256 87f6be8fb847e2b1753dad0fc1c0ec9c7fd20156255c9390c43af57be772be7a
MD5 704d7435ddfa83cf03e62d66ed8dc486
BLAKE2b-256 0b16650458c2948957fec62af9e8b2fa486a74eac2bb2779c53a54c02333807b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ovos_tool_adapters-0.1.3a1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0929f89f05824de62da73911c4174f602ae2501f0a05391e29bfe9512a5463b
MD5 dad82c6f5e6c88a42eae6affe892cbd7
BLAKE2b-256 a3a66f984f54c69fedf48124e50f90c1253ba53af1ef68df73459b94c4659843

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.3a1 This release

2 files

0.1.2

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