关于 MCP + Ollama Local Tool Calling Example
这是一个用 Python 演示本地 Agent 如何借助 Ollama 的 LLM,通过 MCP 调用函数的示例项目。它包含一个提供加法和乘法工具的 MCP 服务,以及与 Ollama 交互的客户端。
主要功能
- 01使用 Ollama 运行本地 LLM
- 02通过 MCP 客户端连接服务
- 03提供加法和乘法工具
- 04由模型根据请求选择工具
适用场景
- 01让本地模型计算加法
- 02让本地模型计算乘法
MCP 相关
项目包含一个 MCP 服务,向客户端提供 `add` 和 `multiply` 工具;Python 客户端将工具及用户请求发送给 Ollama,并调用模型选择的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP + Ollama 本地工具调用示例
本项目演示了本地 AI Agent 如何使用以下技术来理解用户查询并自动调用 Python 函数:
- 模型上下文协议(MCP)
- 使用 Ollama 运行本地大模型(例如,Llama3)
- Python MCP 客户端和服务端
🔗 时序图
sequenceDiagram
participant User
participant MCP_Client
participant Ollama_LLM
participant MCP_Server
User->>MCP_Client: 1) User types: "What is 5 + 8?"
MCP_Client->>Ollama_LLM: 2) Send available tools + user query
Ollama_LLM->>Ollama_LLM: 3) Understand query & tool descriptions
Ollama_LLM->>Ollama_LLM: 4) Select tool: add(a=5, b=8)
Ollama_LLM->>MCP_Client: 5) Return tool_call
MCP_Client->>MCP_Server: 6) Execute add(a=5, b=8)
MCP_Server-->>MCP_Client: 7) Return result: 13
MCP_Client-->>User: 8) Show final answer: 13
📚 项目结构
.
├── math_server.py # MCP Server exposing add() and multiply() tools
├── ollama_client.py # MCP Client interacting with Ollama
├── README.md # Project documentation
🛠️ 设置说明
1. 安装依赖
pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx
请确保已安装并运行 Ollama。
2. 拉取或运行大模型
ollama run llama3
(请确保运行的模型支持工具调用。)
3. 运行 MCP 服务
python math_server.py
该服务提供两个简单的工具:
add(a: int, b: int) -> intmultiply(a: int, b: int) -> int
4. 运行 MCP 客户端
python ollama_client.py math_server.py
5. 开始交互!
示例查询:
Query: What is 5 + 8?
Response: 13
Query: Multiply 7 and 9
Response: 63
MCP 客户端会将查询和可用工具发送给 Ollama。大模型会根据工具描述和用户意图,在内部决定使用哪个工具。
🚀 工作原理
- MCP 客户端列出可用工具。
- 将工具和用户查询发送给 Ollama 大模型。
- 大模型推理并选择最匹配的工具。
- 大模型生成
tool_call。 - MCP 客户端通过 MCP 服务调用函数。
- 返回并显示最终结果。
✅ 无需手动硬编码! ✅ 所有操作都在本地运行! ✅ 完全自主!
📢 这为何重要
这种模式可用于构建智能本地 AI Agent,使其能够:
- 理解用户意图
- 动态选择正确的操作
- 完全离线并在本地运行
它为以下应用开辟了道路:
- 自主开发者
- 本地智能助手
- 安全的 AI 工作流
🏷️ 分享用话题标签
#MCP #ModelContextProtocol #Ollama #LocalLLM #FunctionCalling #Python #AI #DeveloperTools #AIEngineering #AutonomousAgents
🙌 致谢
“更智能的 AI Agent,始于理解它们的思考方式!”
**后续步骤:**添加 Streamlit UI,或将此项目容器化 🚀
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。