Back to MCP directory
publicPublicdnsLocal runtime

ollama-mcp-bridge

一个TypeScript实现的本地LLM与MCP服务器连接的桥梁项目,使开源模型能使用Claude的工具能力

article

README

🚀 MCP-LLM 桥接器

本项目使用 TypeScript 开发,旨在将本地大语言模型(借助 Ollama)与模型上下文协议(MCP)服务器连接起来。通过此桥接器,开源模型能像 Claude 一样运用相同的工具和功能,进而打造强大的本地 AI 助手。

🚀 快速开始

该项目可将本地大型语言模型与 MCP 服务器相连,MCP 服务器具备多种实用功能,如文件系统操作、勇敢的网络搜索、GitHub 交互、Google Drive 和 Gmail 集成、内存/存储管理以及使用 Flux 进行图像生成。桥接器会在 LLM 的输出和 MCP 的 JSON - RPC 协议间进行转换,让任何 Ollama 兼容模型都能像 Claude 一样使用这些工具。

✨ 主要特性

  • 多 MCP 支持和动态工具路由:可支持多个 MCP 服务器,并能根据工具类型动态路由请求。
  • 工具调用的结构化输出验证:确保工具调用输出的结构符合要求。
  • 用户提示中的自动工具检测:能自动识别用户提示中的工具调用需求。
  • 强大的 Ollama 进程管理:有效管理 Ollama 相关进程。
  • 详细的日志记录和错误处理:便于排查和解决问题。

📦 安装指南

安装 Ollama 和所需模型

ollama pull qwen2.5-coder:7b-instruct

安装 MCP 服务器

npm install -g @modelcontextprotocol/server-filesystem
npm install -g @modelcontextprotocol/server-brave-search
npm install -g @modelcontextprotocol/server-github
npm install -g @modelcontextprotocol/server-memory
npm install -g @patruff/server-flux
npm install -g @patruff/server-gmail-drive

配置凭证

  • 设置 BRAVE_API_KEY 用于勇敢搜索。
  • 设置 GITHUB_PERSONAL_ACCESS_TOKEN 用于 GitHub。
  • 设置 REPLICATE_API_TOKEN 用于 Flux。
  • 使用以下命令配置 Gmail 凭证:cp $HOME/.config/Google/credentials.json ~/.config/gmail-credential

配置文件

创建或编辑位于 $HOME/.config/mcp-llm/config.json 的配置文件,示例内容如下:

{
  "ollama": {
    "host": "http://localhost:11434"
  },
  "gmail": {
    "enable": false,
    "credential_path": "~/.config/gmail-credential"
  }
}

💻 使用示例

基础用法

启动桥接器

npm run start

发送简单消息

curl -X POST http://localhost:3000/api/v1/message -H "Content-Type: application/json" -d '{"message": "你好,世界!"}'

发送带有工具调用的消息

curl -X POST http://localhost:3000/api/v1/message -H "Content-Type: application/json" -d '{"message": "给我讲个笑话,请使用 joke-teller 工具。"}'

🔧 技术细节

  • 桥接器支持多线程处理,最大连接数为 100。
  • 请求超时时间为 30 秒,重试次数为 3 次。
  • 支持文件附件上传和下载。

📚 详细文档

当前配置

| 属性 | 详情 | |------|------| | 模型类型 | 使用 Qwen 2.5 7B(qwen2.5-coder:7b-instruct)通过 Ollama | | MCP 服务 | 文件系统操作 (@modelcontextprotocol/server-filesystem)、勇敢搜索 (@modelcontextprotocol/server-brave-search)、GitHub (@modelcontextprotocol/server-github)、记忆 (@modelcontextprotocol/server-memory)、Flux 图像生成 (@patruff/server-flux)、Gmail 和 Google Drive (@patruff/server-gmail-drive) |

架构

  • 桥接器:作为核心组件,负责工具注册和执行管理。
  • LLM 客户端:处理 Ollama 交互并格式化工具调用。
  • MCP 客户端:管理 MCP 服务器连接和 JSON - RPC 通信。
  • 工具路由器:根据工具类型将请求路由到适当的 MCP。

未来改进计划

  • 实现更多 MCP 服务器支持。
  • 添加并行工具执行功能。
  • 支持流式响应输出。
  • 提升错误恢复能力。
  • 添加对话记忆功能。
  • 扩展对更多 Ollama 模型的支持。

相关项目

该项目与更广泛的 Claude 生态系统集成,涉及模型上下文协议(MCP)、Claude 桌面配置、Ollama 项目以及各种 MCP 服务器实现,最终可打造一个功能强大的本地 AI 助手,在本地硬件上实现类似于 Claude 的诸多功能。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client