Problem
The generic MCP bridge exposes mcp_list_servers, mcp_list_tools, and mcp_call_tool. That is useful, but too broad for locked-down profile/runtime deployments because a model can potentially call any tool exposed by a configured server.
Generic use case
Profiles and managed deployments can expose a remote MCP server while allowing only specific tools, argument shapes, or risk classes. This supports safer MCP adoption without requiring one bespoke Rust wrapper per MCP tool.
Managed-runtime use case
A compiled runtime contract can declare exactly which MCP server/tool pairs are allowed. The runtime rejects undeclared MCP calls before network dispatch and can prove no raw write-capable MCP surface is visible.
Proposed shape
- Extend MCP server config with include/exclude lists or a policy callback.
- Enforce allowlists in
mcp_list_tools and mcp_call_tool.
- Add denial messages that tell the model which server/tool pair was blocked.
- Include allowlist state in diagnostics.
Acceptance criteria
Alignment
This helps OpenHuman MCP generally. It also keeps Composio and MCP complementary: Composio handles managed OAuth/provider breadth; MCP allowlists handle precise external tool exposure.
Problem
The generic MCP bridge exposes
mcp_list_servers,mcp_list_tools, andmcp_call_tool. That is useful, but too broad for locked-down profile/runtime deployments because a model can potentially call any tool exposed by a configured server.Generic use case
Profiles and managed deployments can expose a remote MCP server while allowing only specific tools, argument shapes, or risk classes. This supports safer MCP adoption without requiring one bespoke Rust wrapper per MCP tool.
Managed-runtime use case
A compiled runtime contract can declare exactly which MCP server/tool pairs are allowed. The runtime rejects undeclared MCP calls before network dispatch and can prove no raw write-capable MCP surface is visible.
Proposed shape
mcp_list_toolsandmcp_call_tool.Acceptance criteria
Alignment
This helps OpenHuman MCP generally. It also keeps Composio and MCP complementary: Composio handles managed OAuth/provider breadth; MCP allowlists handle precise external tool exposure.