返回市场
MCP客户端服务器示例

MCP客户端服务器示例

作者:rajeevchandra7 星标更新:2025-04-29

项目介绍

MCP + Ollama 本地工具调用示例

本项目演示了如何使用以下组件让本地AI代理能够理解用户查询自动调用Python函数

  • 模型上下文协议(MCP
  • Ollama用于运行本地大语言模型(例如Llama3)
  • Python MCP客户端和服务器

🔗 序列图

sequenceDiagram
    participant 用户
    participant MCP客户端
    participant OllamaLLM
    participant MCPServer

    用户->>MCP客户端: 1) 用户输入: "5 + 8是多少?"
    MCP客户端->>OllamaLLM: 2) 发送可用工具 + 用户查询
    OllamaLLM->>OllamaLLM: 3) 理解查询及工具描述
    OllamaLLM->>OllamaLLM: 4) 选择工具:add(a=5, b=8)
    OllamaLLM->>MCP客户端: 5) 返回工具调用
    MCP客户端->>MCPServer: 6) 执行add(a=5, b=8)
    MCPServer-->>MCP客户端: 7) 返回结果:13
    MCP客户端-->>用户: 8) 显示最终答案:13

📚 项目结构

.
├── math_server.py      # MCP服务器暴露add()和multiply()工具
├── ollama_client.py    # MCP客户端与Ollama交互
├── README.md           # 项目文档

🛠️ 安装指南

1. 安装依赖

pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx

确保已安装并运行Ollama

2. 拉取或运行一个LLM模型

ollama run llama3

(确保运行的模型支持工具调用。)

3. 运行MCP服务器

python math_server.py

该服务器暴露两个简单的工具:

  • add(a: int, b: int) -> int
  • multiply(a: int, b: int) -> int

4. 运行MCP客户端

python ollama_client.py math_server.py

5. 互动!

示例查询:

查询:5 + 8是多少?
响应:13

查询:7乘以9
响应:63

MCP客户端将查询和可用工具发送给Ollama。LLM根据工具描述和用户意图内部决定使用哪个工具。


🚀 工作原理

  • MCP客户端列出可用工具。
  • 将工具和用户查询发送给Ollama LLM。
  • LLM推理最佳匹配工具。
  • LLM生成tool_call
  • MCP客户端通过MCP服务器调用函数。
  • 最终结果返回并显示。

✅ 不需要手动硬编码! ✅ 一切都在本地运行! ✅ 完全自主!


📢 为什么这很重要

这种模式使构建智能本地AI代理成为可能,这些代理能够:

  • 理解用户意图
  • 动态选择正确的操作
  • 全部离线和本地运行

它开启了:

  • 自主开发者
  • 本地智能助手
  • 安全的AI工作流程

🏷️ 分享标签

#MCP #ModelContextProtocol #Ollama #LocalLLM #FunctionCalling #Python #AI #DeveloperTools #AIEngineering #AutonomousAgents

🙌 致谢


"更聪明的AI代理从理解它们的思维方式开始!"


下一步行动: 添加Streamlit界面或Docker化此项目 🚀