Metadata-Version: 2.4
Name: exoclaw-tools-mcp
Version: 0.2.1
Summary: MCP client tool for exoclaw — connects to MCP servers and wraps their tools
Requires-Python: >=3.11
Requires-Dist: exoclaw>=0.10.1
Requires-Dist: httpx<1.0.0,>=0.28.0
Requires-Dist: mcp<2.0.0,>=1.26.0
Requires-Dist: structlog>=25.0.0
Description-Content-Type: text/markdown

# exoclaw-tools-mcp

MCP client for exoclaw — connects to MCP servers over stdio, SSE, or streamable HTTP and registers their tools as native exoclaw tools.

## Install

```
pip install exoclaw-tools-mcp
```

## Usage

```python
from contextlib import AsyncExitStack
from exoclaw.agent.tools.registry import ToolRegistry
from exoclaw_tools_mcp.tool import connect_mcp_servers
from exoclaw_tools_mcp.config import MCPServerConfig

stack = AsyncExitStack()
registry = ToolRegistry()

await connect_mcp_servers(
    mcp_servers={
        "filesystem": MCPServerConfig(command="npx", args=["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]),
        "my-api":     MCPServerConfig(url="https://example.com/mcp"),
    },
    registry=registry,
    stack=stack,
)
# registry now contains all tools from both servers as mcp_<server>_<tool> entries
```

Transport type is inferred automatically: `command` → stdio; URLs ending in `/sse` → SSE; other URLs → streamable HTTP. Custom headers and per-tool timeouts are supported via `MCPServerConfig`.
