mcpField
A
Anthropic Model Context Protocol (MCP) Server with Ollama Integration

Anthropic Model Context Protocol (MCP) Server with Ollama Integration

本地服务
github.com/jorgesandovalAI 与智能体077 周前更新

关于 Anthropic Model Context Protocol (MCP) Server with Ollama Integration

该项目将兼容 Anthropic 的 MCP 服务与中间件结合,由中间件把推理请求转发到 Ollama 和 Gemma3:4b。它适合需要 MCP 上下文功能、本地模型推理及 SQLite 对话上下文存储的用户。

主要功能

  1. 01用于上下文管理的 MCP 工具
  2. 02提供对话历史资源
  3. 03标准提示词模板
  4. 04中间件连接 Ollama 推理
  5. 05使用 SQLite 存储对话上下文

适用场景

  1. 01通过 Ollama 使用 Gemma3:4b 推理
  2. 02向 MCP 客户端提供对话历史
  3. 03在会话中保存上下文

MCP 相关

该服务通过 MCP 提供工具、对话历史资源和提示词模板。中间件将推理请求连接到 Ollama,并在服务端存储对话上下文。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Anthropic Model Context Protocol (MCP) 服务与 Ollama 集成

结合兼容 Anthropic 的 Model Context Protocol (MCP) 服务与 Ollama/Gemma 大模型进行推理的混合架构。此实现遵循官方 Model Context Protocol 规范,同时使用开源模型。

概述

本项目实现了一个遵循官方 MCP 规范、兼容 Anthropic 的 MCP 服务,以及用于处理客户端与 Ollama 的 Gemma 模型之间通信的中间件。

架构
┌───────────┐     ┌──────────────┐     ┌────────────────────────┐
│  Client   │────▶│   Middleware │────▶│  Anthropic MCP Server  │
│           │◀────│              │◀────│  (Claude MCP Protocol) │
└───────────┘     └──────┬───────┘     └────────────────────────┘
                         │                          │
                         │                          │
                         ▼                          ▼
                  ┌─────────────┐         ┌────────────────────┐
                  │    Ollama   │         │   SQLite Database  │
                  │ (Gemma3:4b) │         │  (Context Storage) │
                  └─────────────┘         └────────────────────┘

组件

  • MCP 服务:在端口 3000 上实现 Anthropic MCP 协议
  • 中间件:处理客户端与 Ollama 之间的通信
  • Ollama:运行 Gemma3:4b 模型进行推理
  • 数据库:用于存储对话上下文的 SQLite 数据库

功能

  • MCP 协议功能:

    • 工具:用于上下文管理
    • 资源:公开对话历史
    • 提示词:标准提示词模板
  • 模型支持:

    • 可通过 Claude Desktop 或其他 MCP 客户端与 Claude 模型配合使用
    • 兼容任何支持 Model Context Protocol 的客户端

MCP 协议合规性

此实现严格遵循 Anthropic 发布的官方 Model Context Protocol (MCP) 规范:

  1. JSON-RPC 2.0 协议:所有通信均使用标准 JSON-RPC 2.0 格式,确保与其他 MCP 客户端和服务兼容。

  2. 协议初始化:正确实现 /initialize 端点,并进行适当的协议版本协商(2024-03-26)和客户端能力声明。

  3. 工具接口:完整实现工具调用协议及所有必需的注释:

    • readOnlyHint:表示工具是否会修改状态
    • destructiveHint:标记可能具有破坏性的操作
    • idempotentHint:标记可安全重试的操作
  4. 资源管理:实现资源协议,以适当的 URI 和 MIME 类型公开对话历史。

  5. 提示词模板:根据 MCP 规范提供适用于常见操作的标准提示词模板。

  6. 错误处理:按照协议中的规定,使用标准化错误代码和消息实现适当的错误响应。

  7. 安全性:遵循 MCP 规范中有关身份验证和授权的安全建议。

  8. 版本控制:正确处理协议版本控制,确保向前兼容性。

我们的实现旨在与任何 MCP 客户端完全兼容,包括 Claude Desktop、VS Code 扩展以及其他遵循官方规范的工具。

API 端点

MCP 服务(端口 3000)

MCP 服务实现了官方 MCP 协议端点:

  • 工具:/tools/list、/tools/call
  • 资源:/resources/list、/resources/read
  • 提示词:/prompts/list、/prompts/get
  • 核心:/initialize
中间件(端口 8080)
  • POST /infer:将用户消息发送给 Ollama/Gemma,同时在 MCP 服务中存储上下文
  • GET /health:检查中间件及其连接的运行状况

要求

  • Python 3.10+
  • Docker 和 Docker Compose
  • 已安装 Gemma3:4b 模型的 Ollama

安装

使用设置脚本
chmod +x setup.sh
./setup.sh

设置脚本将:

  1. 检查是否已安装 Docker
  2. 检查是否已安装 Ollama,并在需要时拉取 Gemma 模型
  3. 构建并启动 Docker 容器
手动设置
# Clone the repository
git clone <repository-url>
cd simple-mcp-server

# Make sure Ollama is running with Gemma model
ollama pull gemma3:4b

# Build and run with Docker
docker-compose build
docker-compose up -d

使用示例

使用中间件与 Ollama/Gemma 配合

你可以通过中间件与系统交互。中间件会使用 Ollama/Gemma 进行推理,同时在 MCP 服务中存储对话上下文:

# Start a new conversation
curl -X POST http://localhost:8080/infer \
  -H "Content-Type: application/json" \
  -d '{"session_id": "user123", "content": "Hello, how are you today?"}'

# Continue the conversation with the same session ID
curl -X POST http://localhost:8080/infer \
  -H "Content-Type: application/json" \
  -d '{"session_id": "user123", "content": "What's the capital of France?"}'
直接使用 MCP 服务

端口 3000 上的 MCP 服务可与任何 MCP 客户端配合使用,例如:

  • Claude Desktop App
  • VS Code GitHub Copilot
  • Cursor
  • 以及 MCP 客户端页面列出的许多其他工具

Docker 配置

该项目使用 Docker 将两个主要组件容器化:

  • MCP 服务容器:在端口 3000 上提供 Anthropic MCP 协议
  • 中间件容器:连接 Ollama,在端口 8080 上进行 Gemma 模型推理

测试

测试安装:

# Run the included test script
python test_system.py

# Or use the shell script
./test.sh

许可证

该项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。