使用说明
MCP多代理CLI
一个功能丰富的命令行界面,使用模型上下文协议(MCP)将本地AI模型(通过Ollama)连接到一套强大的工具。使用LangGraph构建,它使您的本地LLM能够优雅而确定地利用外部智能。
🚀 当前体系结构
核心脚本, client.py,运营着一个由本地运行的模型驱动的AI代理。此代理与以下对象通信 五台智能MCP服务器 其通过模型上下文协议(MCP)提供专用工具。
可用服务器和功能
Python MCP服务器 (局部和确定性)
-
🔢 数学(
servers/math_server.py):- 基本算术:
add(),subtract(),multiply(),divide() - 权力和根源:
power(),square_root(),factorial() - 对数:
log()(天然、10基或定制) - 三角函数:
sin(),cos(),tan()(单位:度) - 数论:
gcd(),lcm(),is_prime(),fibonacci() - 统计数据:
mean(),median(),std_deviation()
- 基本算术:
-
📐 单位(
servers/unit_server.py):- 长度:毫米、厘米、米、公里、英寸、英尺、英里、海里、光年
- 重量:毫克、克、千克、盎司、磅、石头、吨
- 体积:毫升、升、加仑、夸脱、品脱、杯子、液盎司、立方米
- 速度:米/秒、公里/小时、英里/小时、节、英尺/秒
- 面积:m²,km²,cm²,英亩,公顷,平方英里
- 时间:秒、分钟、小时、天、周、月、年
- 温度:摄氏度↔ 华氏度↔ 开尔文
-
🌤️ 天气(
servers/weather_server.py):- 实时天气:
get_current_weather(location)--温度、湿度、风、降水 - 多日预报:
get_weather_forecast(location, days)--长达14天 - 每小时预测:
get_hourly_weather(location)--精确的逐小时数据 - 比较多个地点的天气
- 实时天气:
-
🌐 翻译(
servers/translate_server.py):- 将文本翻译为 50多种语言 通过谷歌翻译
- 语言检测:
detect_language(text)--识别源语言 - 列出所有支持的语言:
list_supported_languages()
-
🎬 媒体中心(
servers/ffmpeg_server.py):- 媒体信息:
get_media_info(file_path) - 处理:
trim_media(),convert_media(),compress_video(),extract_audio(),merge_videos() - 需要在您的系统上安装FFmpeg。
- 媒体信息:
🛠️ 安装和设置
1.先决条件
- Python 3.10+
- 奥拉玛 安装有至少一个拉动的模型(例如。,
ollama pull qwen3.5:9b) - FFmpeg (可选,用于媒体处理工具)
2.环境设置
克隆存储库,创建虚拟环境,并安装依赖项。
# Create and activate a Virtual Environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install the necessary python packages
pip install uv
uv pip install -r requirements.txt
💻 用法
确保Ollama在后台运行(ollama serve),然后启动多代理CLI:
python client.py
CLI命令
/help--显示所有可用的CLI命令/tools--列出所有已加载的MCP工具(来自所有服务器)/models--列出所有当地可用的Olama型号/model [NAME]--动态切换到其他型号(清除历史记录)/clear--清除当前对话历史记录/exit--退出CLI
智能工具选择
AI代理使用 明确的刀具选择规则 为了避免产生幻觉:
- 天气查询 → Uses
get_current_weather()或相关工具。 - 数学与计算 → 总是使用数学工具,永远不要在脑子里计算。
- 单位转换 → 始终使用转换工具,切勿手动转换。
- 媒体处理 → 使用FFmpeg工具进行高性能文件操作。
🔧 建筑细部
技术栈
- LLM:Olama(当地模特)
- 代理框架:LangGraph(使用循环的确定性工具)
- MCP实施:
langchain-mcp-adapters - 命令行界面:丰富(终端输出美观)
数据源
- 天气:Open-Meteo(免费,无API密钥)
- 翻译:谷歌翻译(免费,通过深度翻译)
- 媒体:通过FFmpeg进行本地处理
