Ollama + MCP 深度整合指南:从模型到 LLM 应用开发全流程方案
作为一名开发者,你是否也曾经为如何高效地将本地大模型与外部工具集成而感到困惑?是否也曾经为如何快速构建一个功能强大的智能体应用而感到迷茫?别担心,这篇文章将带你从零开始,一步步实现 Ollama 与 MCP(Model Context Protocol)的深度整合,打造一个功能完善的大语言模型应用。
1. 环境准备与安装依赖
1.1 安装 Ollama
Ollama 是一个开源的本地大语言模型运行框架,支持多种模型和硬件加速。安装 Ollama 非常简单,以下是常见操作系统的安装命令:
- Linux:
curl -fsSL https://ollama.com/install.sh | sh - macOS:
brew install ollama - Windows:
通过 PowerShell 安装:
powershell winget install ollama
安装完成后,可以通过以下命令验证是否安装成功:
ollama -v
1.2 安装 MCP 依赖
MCP 是一个标准化协议,用于让大语言模型与外部工具进行交互。我们需要安装一些依赖库来实现 MCP 服务器和客户端的功能:
pip install fastmcp ollama mcp python-dotenv
1.3 安装 uv 工具
为了更高效地管理依赖和虚拟环境,建议安装 uv:
pip install uv
安装完成后,可以通过以下命令创建虚拟环境并安装依赖:
uv venv myenv source myenv/bin/activate # Linux/macOS myenv\Scripts\activate # Windows
2. 创建 MCP 服务器
2.1 文件结构
在项目根目录下创建以下文件结构:
your_project/ ├── server.py ├── client.py └── requirements.txt
2.2 示例 MCP 服务器
以下是一个简单的 MCP 服务器示例,展示了如何将一个工具注册到 MCP 服务器中:
python # server.py from fastmcp import FastMCP mcp = FastMCP(“TestServer”) @mcp.tool() def magicoutput(obj1: str, obj2: str) -> str: “”“使用此函数获取魔法输出”“” return f"输入参数:obj1: {obj1},obj2: {obj2},魔法输出:Hello MCP,MCP Hello" if name == “main”: mcp.run()
运行服务器:
bash fastmcp dev server.py
访问 http://127.0.0.1:6274/#tools,你可以看到注册的工具。
3. 开发 MCP 客户端
3.1 获取服务器工具
在客户端中,我们需要连接到 MCP 服务器并获取可用的工具列表:
# client.py
import asyncio
import threading
from mcp import ClientSession, StdioServerParameters, stdio_client
class OllamaMCP:
def __init__(self, server_params: StdioServerParameters):
self.server_params = server_params
self.initialized = threading.Event