多代理命令行工具

一个功能丰富的命令行界面,通过Model Context Protocol (MCP)连接本地AI模型(通过Ollama)和一系列强大工具,使本地LLM能够优雅且确定性地利用外部智能。

  • by RushabhShahPrograms
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 RushabhShahPrograms/MCP-Setup

使用说明

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进行本地处理