MCPcopy Create free account
hub / github.com/anthropics/anthropic-sdk-python / main

Function main

examples/mcp_tool_runner.py:22–51  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

20
21
22async def main() -> None:
23 # Connect to a local MCP server via stdio
24 # This example uses the MCP filesystem server; replace with your own server
25 server_params = StdioServerParameters(
26 command="npx",
27 args=["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
28 )
29
30 async with stdio_client(server_params) as (read, write):
31 async with ClientSession(read, write) as mcp_client:
32 await mcp_client.initialize()
33
34 # List available tools from the MCP server and convert them
35 tools_result = await mcp_client.list_tools()
36 tools = [async_mcp_tool(t, mcp_client) for t in tools_result.tools]
37
38 print(f"Connected to MCP server with {len(tools)} tools:")
39 for tool in tools:
40 print(f" - {tool.name}")
41 print()
42
43 # Run a conversation with tool_runner()
44 runner = client.beta.messages.tool_runner(
45 model="claude-sonnet-5",
46 max_tokens=1024,
47 tools=tools,
48 messages=[{"role": "user", "content": "List the files in /tmp"}],
49 )
50 async for message in runner:
51 rich.print(message)
52
53
54asyncio.run(main())

Callers 1

mcp_tool_runner.pyFile · 0.70

Calls 2

async_mcp_toolFunction · 0.90
tool_runnerMethod · 0.45

Tested by

no test coverage detected