Ollama MCP 服务器
使用说明(Markdown格式)
-
项目简介 该项目实现一个 MCP 服务器,它通过本地 Ollama API 提供一组标准化的工具接口,供 LLM 客户端在对话、生成、嵌入等场景中使用。服务器通过标准的 MCP 工具注册,将 Ollama 的功能对外暴露,包含健康检查、模型查询、对话、文本生成、嵌入等能力,并通过 JSON-RPC 与客户端通信,当前实现以标准输入输出(stdio)作为传输通道。
-
主要功能点
- 健康检查与信息
- ollama_version:检查 Ollama 是否可达并返回版本信息。
- 模型管理
- list_models、list_running_models、show_model、copy_model、pull_model、delete_model:管理 Ollama 模型的安装、查看、拷贝、拉取与删除等。
- 对话与生成
- chat、generate:支持多轮对话和单轮生成,支持流式输出(stream)模式。
- 嵌入
- embed:为文本生成嵌入向量。
- 流式与非流式处理
- _request_stream、_request_pull_stream 等内部方法实现对 Ollama 流式接口的处理,确保对话与生成等场景的流式数据聚合与展示。
- 运行环境与配置
- 通过环境变量和 .env 文件配置 Ollama 的访问地址、超时、日志级别等参数,便于本地开发与集成。
- 健康检查与信息
-
安装步骤
- 安装 Ollama 并确保其在默认地址 http://localhost:11434 提供 API(若使用其他地址,请在环境变量 OLLAMA_BASE_URL 中配置)。
- 安装 Python 3.10 及以上。
- 安装 uv 并确保可通过 uv run server.py 启动。
- 复制并配置环境变量,或使用 .env 文件设置 OLLAMA_BASE_URL、OLLAMA_TIMEOUT、OLLAMA_STREAM_READ_TIMEOUT 等参数。
- 在仓库根目录运行服务器:uv run server.py(或按 MCP 客户端的集成方式启动)。
- 使用 MCP 客户端连接服务器并调用工具。
-
服务器配置(MCP 客户端需在启动时指定该 MCP 服务器的命令与参数;下面为示例配置,需将 ABSOLUTE/PATH 替换为实际路径) 服务器名称:ollama 命令:uv 参数(args):
- --directory
- <ABSOLUTE/PATH/TO/ollama-mcp> # ollama-mcp 项目在本机的绝对路径
- run
- server.py
说明:该配置指定 MCP 客户端以 uv 作为启动器,在 ollama-mcp 的绝对路径下运行 server.py,从而启动 MCP 服务器。
-
基本使用方法
- 启动后,MCP 客户端通过标准输入输出(stdio)与服务器进行 JSON-RPC 通信,调用 ollama_version、list_models、chat、generate、embed 等工具以实现本地模型的访问、对话、生成与嵌入等能力。
- 典型的工作流程是:在 MCP 客户端配置中将 ollama 服务器指向上述启动命令,启动连接后即可通过工具名调用相应功能。
- 如遇 Ollama 不可用时,工具会返回明确的错误信息,便于调试。
-
备注
- 服务器实现当前以 stdio 传输为 main 入口,未来可扩展至 SSE、WebSocket 等传输协议以支持更丰富的客户端场景。
- 依赖环境变量和 .env 配置文件来灵活调整 Ollama 的访问地址、超时与日志等级。