MCP Servers

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

F
Function Call MCP

工具调用、mcp的案例

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

Function Calling 与 MCP 案例实践

本项目是 Function Calling 与 MCP 的实践代码,包含 Function Calling 和 MCP 两个方向的案例,帮助你理解大模型如何通过工具调用与外部系统交互。

环境准备

1. 创建并激活 Conda 环境(推荐)

conda create -n deepstudy python=3.11 -y
conda activate deepstudy
pip -r install requirements.txt

配置 API Key

项目根目录下的 .env 文件用于存放敏感配置,请按如下格式填写:

DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx

sk-xxxxxxxxxxxxxxxx 替换为你从 阿里云 DashScope 获取的真实 API Key。

案例

Function Calling 案例

| 脚本 | 数据库驱动 | 可视化能力 | 特点 | |---|---|---|---| | assistant_ticket_bot-1.py | mysqlconnector | ❌ 无 | 基础 SQL 查询,返回 Markdown 表格 | | assistant_ticket_bot-2.py | mysqlconnector | ✅ 简单柱状图 | 自动推断 x/y 轴,生成柱状图 | | assistant_ticket_bot-3.py | pymysql | ✅ 堆叠柱状图 | 支持多维度透视、中文显示优化、Code Interpreter |

LangChain 案例

| 脚本 | 框架 | 数据库驱动 | 特点 | |---|---|---|---| | assistant_ticket_bot_langchain.py | LangChain 1.x | pymysql | 使用 LangChain create_agent + DashScope 兼容接口实现门票查询助手 |

MCP 案例

| 脚本 | MCP Server | 功能 | 说明 | |---|---|---|---| | assistant_mcp_amap_bot.py | amap-maps | 高德地图查询 | 调用高德地图 MCP 服务进行地理位置相关查询 | | assistant_mcp_tavily_bot.py | tavily-mcp | 网络搜索 | 调用 Tavily 搜索 MCP 服务进行网络信息检索 | | assistant_mcp_txt_bot.py | txt-counter | 文本统计 | 调用本地 txt_counter.py MCP Server,统计文本字数、单词数、行数 |

MCP Server

| 脚本 | 说明 | |---|---| | txt_counter.py | 本地 MCP Server 示例,提供文本字符数、单词数、行数统计工具 |

运行方式

# Function Calling 案例
python assistant_ticket_bot-1.py
python assistant_ticket_bot-2.py
python assistant_ticket_bot-3.py

# LangChain 案例
python assistant_ticket_bot_langchain.py

# MCP 案例
python assistant_mcp_amap_bot.py
python assistant_mcp_tavily_bot.py
python assistant_mcp_txt_bot.py

运行 MCP 案例前,请确保 .env 中已配置对应的 API Key(如 AMAP_MAPS_API_KEYTAVILY_API_KEY)。

注意事项

  • .env 文件已加入 .gitignore,请勿将 API Key 提交到 Git。
  • 项目中的数据库连接信息(主机、用户名、密码)目前硬编码在脚本中,如需修改请编辑对应脚本或扩展 config.py
  • 建议在 deepstudy 环境下统一运行,避免不同 Conda 环境依赖版本冲突。

相关链接

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

安装包 (如果需要)

uvx function_call_mcp

Cursor 配置 (mcp.json)

{ "mcpServers": { "songhaowei666-function-call-mcp": { "command": "uvx", "args": [ "function_call_mcp" ] } } }