前言
我们上一篇介绍了MCP客户端各种传输方式,本篇将MCP和Agent融合起来,写一个基础的代码示例。
完整代码
- 启动一个mcp server
from fastmcp import FastMCP
# 初始化FastMCP Server
mcp = FastMCP("My MCP Server")
# 用@mcp.tool()装饰器定义一个工具
@mcp.tool()
def add(a: int, b: int) -> int:
"""
:param a: 第一个整数
:param b: 第二个整数
:return: 返回两个数字之和
"""
return a + b
# 启动MCP Server
if __name__ == "__main__":
mcp.run(transport="streamable-http", host="127.0.0.1", port=8001)
- 编写agent
import asyncio
import json
import logging
from fastmcp import Client
from openai import OpenAI
from fastmcp.client.transports import StreamableHttpTransport
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
class LLMClient:
"""LLM客户端,负责与大模型API通信(如OpenAI风格接口)"""
def __init__(self, model_name: str, url: str, api_key: str) -> None:
self.model_name = model_name
self.client = OpenAI(api_key=api_key, base_url=url)
def get_tools_list(self, mcp_tools) -> list[dict]:
"""将MCP工具列表转换为OpenAI函数格式(如包含function字段)"""
tools = []
for tool in mcp_tools:
parameters = getattr(tool, "inputSchema", None

最低0.47元/天 解锁文章
1154

被折叠的 条评论
为什么被折叠?



