mcp-demo

mcp-demo

site icon
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搜索、位置查询)。

适用场景

  • 开发者需要快速查找本地文件或执行系统命令。
  • 用户需要查询天气或使用地图服务。
  • 需要自动化工具进行文件操作或系统控制的场景。

工具列表

  1. 美国天气服务器 (weather)
  2. get_forecast:获取指定坐标的天气预报。
  3. get_alerts:获取指定州的天气警报。

  4. 高德地图服务器 (高德)

  5. 地理编码/逆地理编码。
  6. 天气查询。
  7. 路径规划(驾车/步行/骑行/公交)。
  8. POI搜索。
  9. 位置查询。

  10. 本地文件搜索服务器 (everything)

  11. search:基于Everything搜索引擎的文件查找功能。
  12. 支持各种搜索语法,包括通配符、正则表达式和高级过滤。

  13. 系统工具服务器 (system_tools)

  14. execute_program:执行指定程序或应用。
  15. open_app:打开常用应用程序(QQ、微信、浏览器等)。
  16. send_qq_message:发送QQ消息。
  17. list_running_processes:列出当前运行的进程。
  18. kill_process:结束指定进程。
  19. create_file:创建并写入文件。
  20. read_file:读取文件内容。
  21. list_files:列出目录中的文件。
  22. delete_file:删除文件。
  23. get_working_directory:获取当前工作目录。
  24. run_python_code:执行Python代码并返回结果。

常见问题解答

  • 如何配置API_KEY?
  • 创建.env文件,添加OPENAI_API_KEY="your-api-key"或直接编辑src/config/default_config.yaml。
  • 如何启动客户端?
  • 使用命令python main.pyuv run main.py

使用教程

使用依赖

  • Python3.12(其他版本如3.11, 3.10也可能兼容)。
  • uv包管理工具。

安装教程

  1. 克隆仓库:
git clone https://github.com/syuchua/mcp-demo.git
cd mcp-demo
  1. 安装依赖:
uv pip install -e .
  1. 配置API_KEY:
  2. 创建.env文件,添加OPENAI_API_KEY="your-api-key"或直接编辑src/config/default_config.yaml。

调试方式

  1. 启动客户端:
python main.py
# 或
uv run main.py
  1. 使用命令行交互:
  2. !help:显示帮助信息。
  3. !servers:列出可用的服务器。
  4. !connect <server>:连接到指定服务器。
  5. !models:列出可用的LLM模型。
  6. !model <name>:切换使用的模型。
  7. !debug <on/off>:开启/关闭调试模式。
  8. !quit!exit:退出程序。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。