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