Ollama_MCP_Guidance

ShadovvSinger/Ollama_MCP_Guidance

3.1

If you are the rightful owner of Ollama_MCP_Guidance and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

基于 MCP (Model Context Protocol) 的 Ollama API 交互服务,提供标准化接口与 Ollama 服务交互。

Ollama_MCP_Guidance

🎯 快速开始: 如果您正在通过 LLM(如 Claude)使用本项目,请首先让 LLM 调用 get_started_guide 工具。 这个入门指南将帮助 LLM 全面了解项目,从而为您提供更好的服务。

基于 MCP (Model Context Protocol) 的 Ollama API 交互服务。该项目提供了一个标准化的接口,用于与 Ollama 服务进行交互,并为 LLM 提供智能化的 API 调用指导。

⚠️ 项目状态说明

  • 这是一个 Cursor MCP Server 项目,目前仅支持在 Cursor 中使用
  • 项目处于开发阶段,尚未实现 Ollama 的所有 API 端点
  • 项目文档和注释采用中英双语,未来将统一为英文(并提供中文文档备份)

功能特点

  • ✨ 标准化的 JSON 响应格式
  • 🔍 完整的错误处理和状态反馈
  • 📊 详细的性能指标统计
  • 🛠 简单的配置管理
  • 📚 内置的 API 文档导航

使用环境

  • 本项目设计为 Cursor IDE 的 MCP 服务
  • 需要在 Cursor 中通过 MCP 协议调用
  • 不提供独立的客户端实现

安装

  1. 确保已安装 Python 3.10 或更高版本
  2. 安装 Ollama
  3. 安装项目:
# 安装 uv(推荐)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 创建并激活虚拟环境
uv venv
source .venv/bin/activate  # Linux/macOS
# 或
.venv\Scripts\activate  # Windows

# 安装依赖
uv pip install .

配置

项目使用 config.json 进行配置,主要配置项包括:

{
    "ollama": {
        "host": "http://localhost:11434",  // Ollama 服务地址
        "timeout": 30,                     // 请求超时时间(秒)
        "user_agent": "Ollama_MCP_Guidance/1.0"     // 请求标识
    },
    "api_doc": {
        "max_length": 8000,                // 文档内容最大长度
        "file_path": "ollama-api.md"       // API 文档路径
    }
}

使用

📌 重要提示: 如果您正在与 AI 助手交互,请确保它已经调用了 get_started_guide 工具。 这个入门指南包含了完整的使用说明和最佳实践,可以帮助 AI 更好地理解您的需求并提供准确的帮助。

1. 创建运行脚本

由于 Cursor MCP 需要从默认命令行环境中执行单条命令,建议创建一个自定义运行脚本。创建 ollama-mcp-cli 文件(以下以 macOS/Linux 为例): (如果有不理解的地方,请提供信息,让AI来帮助你)

#!/bin/bash

# 虚拟环境配置
# 如果使用 conda,取消下面的注释并修改路径
# CONDA_PATH="你的conda路径/etc/profile.d/conda.sh"
# if [ -f "$CONDA_PATH" ]; then
#     source "$CONDA_PATH"
#     conda activate 你的环境名称
# fi

# 项目路径配置
PROJECT_PATH="你的项目路径/Ollama_MCP_Guidance"
if [ ! -d "$PROJECT_PATH" ]; then
    echo "Error: Project directory not found at $PROJECT_PATH"
    exit 1
fi

# 运行程序
cd "$PROJECT_PATH"
source .venv/bin/activate  # 激活 uv 虚拟环境
python ollama_mcp_server.py "$@"

然后设置脚本权限:

chmod +x ollama-mcp-cli

注意:Windows 用户需要创建 ollama-mcp-cli.bat 文件,内容相应调整。

2. 在 Cursor 中配置

  1. 启动 Ollama 服务
  2. 在 Cursor 的 MCP 配置中,使用以下命令:
/完整路径/ollama-mcp-cli

提示:如果将脚本放在系统的可执行文件路径中(如 /usr/local/bin/),则可以直接使用脚本名称:

ollama-mcp-cli

3. 基本功能示例

⚠️ 本节待修改

  1. 查看可用模型:
result = await get_ollama_list()
  1. 简单对话:
response = await simple_chat(
    model="llama2",
    prompt="你好,请介绍一下自己"
)
  1. 生成文本嵌入:
embeddings = await post_generate_embeddings(
    model="nomic-embed-text",
    text=["这是一段示例文本"]
)

支持的功能与限制

API 端点支持状态

端点方法功能介绍特性支持工具名称
--项目入门指南
💫 不想读枯燥的表格?让 AI 来帮你!
尝试让你的 AI 助手运行 get_started_guide 工具吧!
- 智能项目导航 ✨
- 个性化功能推荐 🎯
- 最佳实践指导 💡
get_started_guide
/api/versionGET获取Ollama服务器版本- 单次响应 ✅
- 包含构建信息 ✅
get_ollama_version
/api/tagsGET获取已安装模型列表- 完整响应 ✅
- 包含模型元数据 ✅
get_ollama_list
/api/psGET查看运行中的模型- 实时状态 ✅
- 资源使用数据 ✅
get_running_models
/api/showPOST获取模型详细信息- 详细模式 ✅
- 完整配置信息 ✅
post_show_model
/api/chatPOST对话式交互功能- 流式输出 ❌
- 多轮对话 ❌
- 系统提示词 ❌
- 图像输入 ❌
simple_chat
/api/generatePOST基础文本生成- 流式输出 ❌
- 上下文管理 ❌
- raw模式 ❌
- 模型JSON格式输出 ❌
- 工具JSON包装 ✅
simple_generate
/api/embedPOST生成文本向量表示- 批量处理 ✅
- 固定维度输出 ✅
post_generate_embeddings
/api/embeddingsPOST生成文本向量表示(已弃用)- 批量处理 ✅
- 固定维度输出 ✅
- 已被 /api/embed 替代 ⚠️
post_generate_embeddings
/api/copyPOST创建模型副本- 原子操作 ❌
- 跨版本复制 ❌
未实现(管理员权限)
/api/pullPOST下载并安装模型- 进度反馈 ❌
- 断点续传 ❌
- 版本管理 ❌
未实现(管理员权限)
/api/deleteDELETE移除指定模型- 不可逆操作 ❌
- 释放资源 ❌
未实现(管理员权限)
/api/createPOST创建新模型- 模型创建 ❌
- 参数配置 ❌
未实现(管理员权限)
/api/blobs/:digestHEAD检查blob是否存在- 二进制对象检查 ❌
- SHA256校验 ❌
未实现(管理员权限)
/api/blobs/:digestPOST上传blob- 二进制对象上传 ❌
- 大文件支持 ❌
未实现(管理员权限)

功能限制说明

  1. 基础功能限制

    • 仅支持非流式响应(一次性返回结果)
    • 不支持多轮对话历史
    • 不支持系统提示词(system prompt)
    • 不支持上下文管理
    • 不支持 raw 模式和特定格式输出
  2. 管理功能限制

    • 出于安全考虑,不支持以下管理员级别操作:
      • 模型复制(/api/copy
      • 模型下载(/api/pull
      • 模型删除(/api/delete
    • 配置文件中的 API 端点路径请勿随意修改
  3. 实验性功能

    • 图片处理功能尚未完全实现和测试,不建议在生产环境使用
    • 部分高级特性(如参数调优、模板定制)尚未实现

依赖要求

  • Python >= 3.10
  • httpx >= 0.28.1
  • mcp[cli] >= 1.3.0

许可证

MIT License

💡 友好提示:如果您正在使用这个项目,欢迎通过邮件 () 告诉我。这不是必须的,但我很乐意知道这个项目对您有帮助!

<目前项目是面向cursor mcp的server项目,没有client,因此仅建议用于cursor mcp> <目前项目是中文项目,注释中包含中文和英文内容,将在未来的某一个版本将注释全部改为英文,并提供中文注释文件备份方便中文用户> <目前项目没有完全实现ollama支持的所有api端点>

<添加对于项目功能和未实现功能的说明: 1.目前项目不支持流式传输 2.目前项目不支持图片处理(尽管有相关代码,但未完全实现并测试) 3.目前项目没有完全实现ollama支持的所有api端点 4.关于实现的功能,请把notes.md最后的表格复制到此readme中进行说明。>