Skip to main content

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.2.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.2-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file ovos_tool_adapters-0.1.2.tar.gz.

File metadata

  • Download URL: ovos_tool_adapters-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 2b8ca6a78489f012808737e2742ea69294ecaed355a311d244757ad75c55a231
MD5 b0ef508bc9f7418c5893688177179426
BLAKE2b-256 93a9cd99734af3e8b11bd7cd82a3334e1d0c2d6b20be50b15371d6fdccb63de8

See more details on using hashes here.

File details

Details for the file ovos_tool_adapters-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ovos_tool_adapters-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 934caf321772acf3b7c97c290b6d7fa97a95f28d6a245b757d50258f8fad6a0b
MD5 07db96f6b52c51b407db4b3ad6d54b6e
BLAKE2b-256 562aa8bc9297a3fd3b98ccbe61512b5d62d88c1a0306cfe224adf90aac73499c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.2 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