MCP-LLM Bridge

MCP-LLM Bridge

Ollama 和 MCP 服务器之间的桥梁,使本地 LLM 能够使用模型上下文协议 (Model Context Protocol) 工具。

patruff

研究与数据
访问服务器

README

MCP-LLM 桥接器

一个 TypeScript 实现,用于将本地 LLM(通过 Ollama)连接到模型上下文协议 (MCP) 服务器。 此桥接器允许开源模型使用与 Claude 相同的工具和功能,从而实现强大的本地 AI 助手。

概述

本项目将本地大型语言模型与 MCP 服务器桥接,这些服务器提供各种功能,例如:

  • 文件系统操作
  • Brave 网络搜索
  • GitHub 交互
  • Google Drive 和 Gmail 集成
  • 内存/存储
  • 使用 Flux 生成图像

该桥接器在 LLM 的输出和 MCP 的 JSON-RPC 协议之间进行转换,允许任何与 Ollama 兼容的模型像 Claude 一样使用这些工具。

当前设置

  • LLM: 使用 Qwen 2.5 7B (qwen2.5-coder:7b-instruct) 通过 Ollama
  • MCPs:
    • 文件系统操作 (@modelcontextprotocol/server-filesystem)
    • Brave 搜索 (@modelcontextprotocol/server-brave-search)
    • GitHub (@modelcontextprotocol/server-github)
    • 内存 (@modelcontextprotocol/server-memory)
    • Flux 图像生成 (@patruff/server-flux)
    • Gmail & Drive (@patruff/server-gmail-drive)

架构

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

主要特性

  • 支持多 MCP,具有动态工具路由
  • 用于工具调用的结构化输出验证
  • 从用户提示中自动检测工具
  • 强大的 Ollama 进程管理
  • 详细的日志记录和错误处理

设置

  1. 安装 Ollama 和所需的模型:
ollama pull qwen2.5-coder:7b-instruct
  1. 安装 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
  1. 配置凭据:
    • 为 Brave 搜索设置 BRAVE_API_KEY
    • 为 GitHub 设置 GITHUB_PERSONAL_ACCESS_TOKEN
    • 为 Flux 设置 REPLICATE_API_TOKEN
    • 运行 Gmail/Drive MCP 身份验证:node path/to/gmail-drive/index.js auth
    • 例如 node C:\Users\patru\AppData\Roaming\npm\node_modules@patruff\server-gmail-drive\dist\index.js auth

配置

桥接器通过 bridge_config.json 进行配置:

  • MCP 服务器定义
  • LLM 设置(模型、温度等)
  • 工具权限和路径

示例:

{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": ["path/to/server-filesystem/dist/index.js"],
      "allowedDirectory": "workspace/path"
    },
    // ... 其他 MCP 配置
  },
  "llm": {
    "model": "qwen2.5-coder:7b-instruct",
    "baseUrl": "http://localhost:11434"
  }
}

用法

  1. 启动桥接器:
npm run start
  1. 可用命令:
    • list-tools: 显示可用工具
    • 常规文本:将提示发送到 LLM
    • quit: 退出程序

示例交互:

> 在网上搜索“最新的 TypeScript 功能”
[使用 Brave 搜索 MCP 查找结果]

> 创建一个名为“project-docs”的新文件夹
[使用文件系统 MCP 创建目录]

> 向 user@example.com 发送电子邮件
[使用 Gmail MCP 撰写和发送电子邮件]

技术细节

工具检测

该桥接器包括基于用户输入的智能工具检测:

  • 电子邮件操作:通过电子邮件地址和关键字检测
  • Drive 操作:通过文件/文件夹关键字检测
  • 搜索操作:根据上下文路由到适当的搜索工具

响应处理

响应通过多个阶段处理:

  1. LLM 生成结构化的工具调用
  2. 桥接器验证并路由到适当的 MCP
  3. MCP 执行操作并返回结果
  4. 桥接器格式化响应以供用户使用

扩展功能

此桥接器有效地将 Claude 的工具功能带到本地模型:

  • 文件系统操作
  • 网络搜索和研究
  • 电子邮件和文档管理
  • 代码和 GitHub 交互
  • 图像生成
  • 持久内存

所有这些都在本地完全运行,并使用开源模型。

未来改进

  • 增加对更多 MCP 的支持
  • 实现并行工具执行
  • 添加流式响应
  • 增强错误恢复
  • 添加对话记忆
  • 支持更多 Ollama 模型

相关项目

此桥接器与更广泛的 Claude 生态系统集成:

  • 模型上下文协议 (MCP)
  • Claude 桌面配置
  • Ollama 项目
  • 各种 MCP 服务器实现

最终结果是一个强大的本地 AI 助手,可以匹配 Claude 的许多功能,同时完全在您自己的硬件上运行。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python