### What changed?
The trace URL was using the wrong path format:
- Old: `/traces/{trace_id}`
- Fixed: `/traces/trace?trace_id={trace_id}`
<img width="781" alt="Screenshot 2025-03-30 at 5 54 11 pm"
src="https://github.com/user-attachments/assets/982fbb1d-7163-4438-b237-493e3100b5c7"
/>
|
||
|---|---|---|
| .. | ||
| sample_files | ||
| main.py | ||
| README.md | ||
MCP Filesystem Example
This example uses the filesystem MCP server, running locally via npx.
Run it via:
uv run python examples/mcp/filesystem_example/main.py
Details
The example uses the MCPServerStdio class from agents.mcp, 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().