# Dspy Mcp Tool Integration

> Use for MCP tools with DSPy, Model Context Protocol servers, dspy.Tool.from_mcp_tool, and ReAct agents over MCP-compatible tools.

- **Type:** Skill
- **Install:** `agentstack add skill-omidzamani-dspy-skills-dspy-mcp-tool-integration`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [OmidZamani](https://agentstack.voostack.com/s/omidzamani)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [OmidZamani](https://github.com/OmidZamani)
- **Source:** https://github.com/OmidZamani/dspy-skills/tree/master/skills/dspy-mcp-tool-integration

## Install

```sh
agentstack add skill-omidzamani-dspy-skills-dspy-mcp-tool-integration
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# DSPy MCP Tool Integration

## Goal

Connect an MCP server with the MCP Python client, convert its tools to `dspy.Tool`, and use them in an async DSPy agent.

## Install

```bash
pip install -U "dspy[mcp]>=3.2.1, result", tools=tools, max_iters=5)
            output = await agent.acall(task="Check the weather in Tokyo")
            print(output.result)

asyncio.run(main())
```

## Local Stdio Server

```python
import asyncio
import dspy
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    params = StdioServerParameters(
        command="python3",
        args=["path/to/server.py"],
        env=None,
    )

    async with stdio_client(params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            response = await session.list_tools()
            tools = [dspy.Tool.from_mcp_tool(session, tool) for tool in response.tools]
            agent = dspy.ReAct("question -> answer", tools=tools, max_iters=5)
            print((await agent.acall(question="What is 25 + 17?")).answer)

asyncio.run(main())
```

## Best Practices

1. Use `acall()` because MCP tools are asynchronous.
2. Initialize the session before listing tools.
3. Keep tool descriptions precise at the MCP server boundary.
4. Apply authentication and authorization before exposing sensitive tools.
5. Set a modest `max_iters` and trace tool use in production.

## Related Skills

- Build agents: [dspy-react-agent-builder](../dspy-react-agent-builder/SKILL.md)
- Configure native function calling: [dspy-adapters-multimodal](../dspy-adapters-multimodal/SKILL.md)
- Add async runtime patterns: [dspy-production-deployment](../dspy-production-deployment/SKILL.md)

## Official Documentation

- **DSPy MCP guide**: https://dspy.ai/learn/programming/mcp/
- **DSPy MCP tutorial**: https://dspy.ai/tutorials/mcp/
- **MCP Python SDK**: https://github.com/modelcontextprotocol/python-sdk

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [OmidZamani](https://github.com/OmidZamani)
- **Source:** [OmidZamani/dspy-skills](https://github.com/OmidZamani/dspy-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-omidzamani-dspy-skills-dspy-mcp-tool-integration
- Seller: https://agentstack.voostack.com/s/omidzamani
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
