ovos-tool-adapters

August 1, 2026 · View on GitHub

Bridges MCP (Model Context Protocol) and UTCP (Universal Tool Calling Protocol) servers into the OVOS agentic loop as standard ToolBox plugins. Agents that consume these toolboxes need no protocol awareness: the adapter handles connection, schema translation, and sync/async bridging.

When to use this

Use casePlugin
Connect to any MCP server (stdio subprocess, SSE, HTTP)ovos-mcp-toolbox
Connect to any UTCP server (HTTP, SSE, CLI, WebSocket, MCP, …)ovos-utcp-toolbox
DocContents
installation.mdPrerequisites, pip extras, editable install
mcp.mdMCPToolBox: transports, config reference, persona example
utcp.mdUTCPToolBox: config reference, persona example
configuration.mdFull config key table for both plugins
architecture.md_AsyncRunner, schema bridge, lifecycle
MAINTAINERS_GUIDE.mdRelease process, CI/CD, contribution workflow

Quick start

pip install ovos-tool-adapters[mcp]

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
  }
}

Key classes

ClassFile
MCPToolBox, the MCP adapterovos_tool_adapters/mcp.py
UTCPToolBox, the UTCP adapterovos_tool_adapters/utcp.py
_AsyncRunner, the sync/async bridgeovos_tool_adapters/_async_runner.py
AdapterToolOutput, the shared output modelovos_tool_adapters/_schema.py
_schema_to_pydantic, JSON Schema to Pydanticovos_tool_adapters/_schema.py