## Summary: Adds tracing and tests for tracing. - Tools are added to the agents - Theres a span for the mcp tools lookup - Functions have MCP data ## Test Plan: Unit tests . |
||
|---|---|---|
| .. | ||
| sample_files | ||
| main.py | ||
| README.md | ||
MCP Filesystem Example
This example uses the fileystem MCP server, running locally via npx.
Run it via:
uv run python python examples/mcp/filesystem_example/main.py
Details
The example uses the MCPServerStdio class from agents, with the command:
npx -y "@modelcontextprotocol/server-filesystem" <samples_directory>
It's only given access to the sample_files directory adjacent to the example, which contains some sample data.
Under the hood:
- The server is spun up in a subprocess, and exposes a bunch of tools like
list_directory(),read_file(), etc. - We add the server instance to the Agent via
mcp_agents. - Each time the agent runs, we call out to the MCP server to fetch the list of tools via
server.list_tools(). - If the LLM chooses to use an MCP tool, we call the MCP server to run the tool via
server.run_tool().