
mcp-demo

2025.04.21
1
Python开发效率位置服务内容生成开发效率位置服务内容生成
mcp-demo是一个基于mcp官方文档实现的简单项目,包含mcp-client和多个mcp-server,支持本地文件搜索、系统控制、命令执行和在线API调用。该项目推荐搭配oneapi/newapi使用,适用于开发者和需要自动化工具的用户。
View on GitHub
Overview
基本能力
产品定位
mcp-demo是一个多功能工具集,旨在提供本地文件搜索、系统控制、命令执行和在线API调用的能力,适用于开发者和需要自动化工具的用户。
核心功能
- 本地文件搜索:支持基于Everything搜索引擎的文件查找功能,包括通配符、正则表达式和高级过滤。
- 系统控制:可以执行指定程序或应用,打开常用应用程序,发送QQ消息,列出当前运行的进程,结束指定进程等。
- 命令执行:支持执行Python代码并返回结果,创建并写入文件,读取文件内容,列出目录中的文件等。
- 在线API调用:支持美国天气查询、高德地图服务(地理编码/逆地理编码、天气查询、路径规划、POI搜索、位置查询)。
适用场景
- 开发者需要快速查找本地文件或执行系统命令。
- 用户需要查询天气或使用地图服务。
- 需要自动化工具进行文件操作或系统控制的场景。
工具列表
- 美国天气服务器 (weather)
get_forecast
:获取指定坐标的天气预报。-
get_alerts
:获取指定州的天气警报。 -
高德地图服务器 (高德)
- 地理编码/逆地理编码。
- 天气查询。
- 路径规划(驾车/步行/骑行/公交)。
- POI搜索。
-
位置查询。
-
本地文件搜索服务器 (everything)
search
:基于Everything搜索引擎的文件查找功能。-
支持各种搜索语法,包括通配符、正则表达式和高级过滤。
-
系统工具服务器 (system_tools)
execute_program
:执行指定程序或应用。open_app
:打开常用应用程序(QQ、微信、浏览器等)。send_qq_message
:发送QQ消息。list_running_processes
:列出当前运行的进程。kill_process
:结束指定进程。create_file
:创建并写入文件。read_file
:读取文件内容。list_files
:列出目录中的文件。delete_file
:删除文件。get_working_directory
:获取当前工作目录。run_python_code
:执行Python代码并返回结果。
常见问题解答
- 如何配置API_KEY?
- 创建.env文件,添加OPENAI_API_KEY="your-api-key"或直接编辑src/config/default_config.yaml。
- 如何启动客户端?
- 使用命令
python main.py
或uv run main.py
。
使用教程
使用依赖
- Python3.12(其他版本如3.11, 3.10也可能兼容)。
- uv包管理工具。
安装教程
- 克隆仓库:
git clone https://github.com/syuchua/mcp-demo.git
cd mcp-demo
- 安装依赖:
uv pip install -e .
- 配置API_KEY:
- 创建.env文件,添加OPENAI_API_KEY="your-api-key"或直接编辑src/config/default_config.yaml。
调试方式
- 启动客户端:
python main.py
# 或
uv run main.py
- 使用命令行交互:
!help
:显示帮助信息。!servers
:列出可用的服务器。!connect <server>
:连接到指定服务器。!models
:列出可用的LLM模型。!model <name>
:切换使用的模型。!debug <on/off>
:开启/关闭调试模式。!quit
或!exit
:退出程序。