MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

M
MCP Funccall Agent
作者 @QD1999

MCP server by QD1999

创建于 6/11/2026
更新于 about 3 hours ago
Repository documentation and setup instructions

AI Agent 系统(通义千问原生 Function Calling + LangGraph + MCP 本地工具)

项目简介

基于 通义千问大模型(原生 Function Calling)+ LangGraph 框架 + MCP 模型上下文协议 搭建的 AI 智能机器人。

架构说明

┌──────────┐  原生 Function Calling   ┌──────────────┐    MCP 协议     ┌────────────┐
│  通义千问  │ ◄─────────────────────► │  Agent (应用) │ ◄────────────► │ MCP Server │
│  (LLM)   │  tools=定义, tool_calls  │  LangGraph    │  工具发现/调用  │  (本地工具) │
└──────────┘                         └──────────────┘               └────────────┘
  • Function Calling:通义千问原生 tools 参数传入工具定义,LLM 返回结构化 tool_calls(不再用 prompt 拼 JSON)
  • MCP:标准化工具接入协议,负责工具的注册、描述、调用
  • LangGraph:编排 LLM 思考和工具执行的循环流程

核心功能

  • 本地工具:价格折扣计算、城市天气查询
  • LangGraph 流程:LLM 思考 → 条件路由 → MCP 工具调用 → 结果返回(循环直到 LLM 不再需要工具)
  • 会话记忆:Checkpoint 状态持久化,支持多轮上下文
  • 大模型底座:阿里通义千问 qwen-turbo(原生 Function Calling)

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置 API Key

# macOS / Linux
export DASHSCOPE_API_KEY="你的通义千问API Key"

# Windows (CMD)
set DASHSCOPE_API_KEY=你的通义千问API Key

# Windows (PowerShell)
$env:DASHSCOPE_API_KEY="你的通义千问API Key"

或者直接修改 agent.py 中的 API_KEY 变量。

3. 运行

python agent.py

(MCP 服务端由客户端自动启动,无需手动运行)

项目结构

mcp/
├── agent.py             # 主 Agent(LangGraph 流程编排 + Function Calling)
├── mcp_client.py        # MCP 客户端(启动服务端子进程 + 工具格式转换)
├── mcp_server.py        # MCP 服务端(本地工具注册)
├── requirements.txt     # Python 依赖
├── README.md            # 项目说明
└── .gitignore

Function Calling vs Prompt JSON(对比)

| 对比维度 | 原生 Function Calling(当前) | Prompt JSON(旧方式) | |---------|---------------------------|---------------------| | 工具传入 | Generation.call(tools=[...]) | 拼到 system prompt 里 | | LLM 返回 | 结构化 tool_calls(含 id/name/arguments) | 自由文本中的 JSON | | 可靠性 | 高(模型专门训练) | 低(可能格式错误、编造工具) | | 多工具调用 | 原生支持 | 需自行处理 | | 与 MCP 协作 | MCP 工具 → 转换 → API 格式 | MCP 工具 → 拼文本 → prompt |

快速设置
此服务器的安装指南

安装包 (如果需要)

uvx mcp_funccall_agent

Cursor 配置 (mcp.json)

{ "mcpServers": { "qd1999-mcp-funccall-agent": { "command": "uvx", "args": [ "mcp_funccall_agent" ] } } }