python直接获取mcp服务所有工具tools并单独调用单个tools代码
代码语言:python
所属分类:其他
代码描述:python直接获取mcp服务所有工具tools并单独调用单个tools代码,无需大模型参与。
代码标签: python 直接 获取 mcp 服务 所有 工具 tools 并 单独 调用 单个 tools 代
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*-
import asyncio
import sys
import json
import re
from typing import Optional
from contextlib import AsyncExitStack
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
class MCPClient:
def __init__(self):
"""初始化 MCP 客户端"""
self.exit_stack = AsyncExitStack()
self.session: Optional[ClientSession] = None
async def connect_to_server(self):
"""连接到 MCP 服务器并列出可用工具"""
# 定义 MCP 命令
mcp_command = "npx"
mcp_args = [
"@smithery/cli@latest",
"run",
"fetch-mcp",
"--key",
"47e63351-1723-4ca2-b492-9c9a8cd6620f"
]
full_command = [mcp_command] + mcp_args
print(f"执行命令: {' '.join(full_command)}")
# 设置服务器参数
server_params = StdioServerParameters(
command=mcp_command,
args=mcp_args,
env=None
)
# 启动 MCP 服务器并建立通信
try:
stdio_transport = await self.exit_stack.enter_async_context(
stdio_client(server_params)
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0