admin管理员组文章数量:1438912
实战教程来了!从零开始打造MCP+Ollama集成
模型上下文协议MCP与Ollama的整合实现指南
在过去一两个个月里,模型上下文协议(Model Context Protocol,MCP)频繁出现在各种技术微信交流群中。我们已经看到了许多很酷的集成案例,大家似乎相信这个标准会长期存在,因为它为大模型与工具或软件的集成设立了规范。
前面一篇文章给大家分享了MCP一些基础概念,但是读完之后还是模棱两可,所以决定尝试将Ollama中的小型语言模型与MCP服务器连接起来,体验一下这个新标准。今天,向大家展示如何实现Ollama与MCP服务器的集成。
实现步骤
整个集成的主要步骤包括:
- 创建测试以及使用MCP服务
- 创建客户端文件来发送请求并启动服务
- 从服务获取工具到客户端
- 将工具转换为pydantic模型
- 通过response format将工具(作为pydantic模型)传递给Ollama
- 通过Ollama发送对话并接收结构化输出
- 如果响应中包含工具,则向服务器发送请求
安装依赖
要运行这个项目,需要安装必要的包。fastmcp库在使用uv运行代码时效果最佳。uv很容易下载和使用,类似于Poetry和pip。
使用以下命令将所需库添加到你的项目中:
代码语言:javascript代码运行次数:0运行复制uv add fastmcp ollama
这会同时安装MCP服务器和Ollama聊天库,以便你在它们的基础上构建客户端和服务器逻辑。
文件结构
设置时,你的文件夹应该是这样的:
代码语言:javascript代码运行次数:0运行复制your folder
├── server.py
└── client.py
server.py
文件包含MCP服务器和想要暴露的工具。client.py
文件在后台进程中启动服务器,获取可用工具,并与Ollama连接。
示例MCP服务器
首先,让我们使用fastmcp库创建一个简单的MCP服务器。该服务器暴露了一个名为magicoutput
的工具。这个函数接受两个字符串输入并返回一个固定的字符串作为输出。
@mcp.tool()
装饰器用于将函数注册为MCP服务器中的可用工具。当服务器启动后,任何客户端都可以获取并调用这个工具。
通过在主块中调用mcp.run()
来启动服务器。
# server.py
from fastmcp import FastMCP
# 创建MCP服务器
mcp = FastMCP("TestServer")
# 我的工具:
@mcp.tool()
def magicoutput(obj1: str, obj2: str) -> int:
"""使用此函数获取魔法输出"""
print(f"输入参数:obj1:{
obj1},obj2:{
obj2}")
return f"输入参数:obj1:{
obj1},obj2:{
obj2},魔法输出:Hello MCP,MCP Hello"
if __name__ == "__main__":
mcp.run()
我们运行下面命令,进行调试服务端的工具:
代码语言:javascript代码运行次数:0运行复制fastmcp dev server.py
输入日志如下:
代码语言:javascript代码运行次数:0运行复制Need to install the following packages:
@modelcontextprotocol/inspector@0.10.2
Ok to proceed? (y) y
Starting MCP inspector...
⚙️ Proxy server listening on port 6277
本文标签:
实战教程来了!从零开始打造MCPOllama集成
版权声明:本文标题:实战教程来了!从零开始打造MCP+Ollama集成 内容由网友自发贡献,该文观点仅代表作者本人,
转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747606610a2728084.html,
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论