返回市场
MCP-奥拉玛服务器

MCP-奥拉玛服务器

作者:Sethuram200312 星标更新:2025-06-17

项目介绍

🚀 MCP-Ollama Server

<div align="center">

连接模型上下文协议与本地LLM的能力

GitHub license GitHub stars GitHub forks GitHub issues PRs Welcome

快速开始关键特性架构文档贡献常见问题

</div>

📋 概述

MCP-Ollama Server通过Ollama将Anthropic的模型上下文协议(MCP)与本地LLM连接起来。这种集成使您的本地AI模型具备类似Claude的工具能力,包括文件系统访问、日历集成、网络浏览、电子邮件通信、GitHub交互以及AI图像生成——同时完全保持数据隐私。

与基于云的AI解决方案不同,MCP-Ollama Server:

  • 所有数据处理都在您本地基础设施上进行
  • 不需要与第三方共享敏感信息
  • 提供模块化方法,允许您仅使用所需的组件
  • 在空气隔离或高安全环境中启用企业级AI功能

✨ 关键特性

  • 🔒 完全数据隐私:所有计算都通过Ollama在本地完成
  • 🔧 工具使用于本地LLM:扩展Ollama模型以包含文件、日历和其他功能
  • 🧩 模块化架构:可以独立部署的选择性Python服务模块
  • 🔌 简单集成:简单的API用于连接现有应用程序
  • 🚀 性能优化:最小的开销以维持响应式的AI交互
  • 📦 容器化部署:每个模块的Docker支持(即将推出)
  • 🧪 广泛测试:全面的测试覆盖以确保可靠性

🚀 快速开始

先决条件

  • 安装Python 3.8+
  • 在您的系统上设置好Ollama
  • 使用Git克隆仓库

🧩 组件概述

MCP-Ollama Server被组织成专门的模块,每个模块提供特定的功能:

📅 日历模块

calendar/
├── README.md          # 模块特定文档
├── google_calendar.py # Google日历API集成
├── pyproject.toml     # 依赖项和包信息
└── uv.lock        # 依赖项锁定文件

日历模块使您的本地LLM能够:

  • 创建、修改和删除日历事件
  • 检查可用性和调度冲突
  • 发送会议邀请
  • 设置提醒和通知

🔄 客户端MCP模块

client_mcp/
├── README.md      # 模块特定文档
├── client.py      # 主客户端实现
├── pyproject.toml # 依赖项和包信息
├── testing.txt    # 测试数据
└── uv.lock        # 依赖项锁定文件

客户端模块提供:

  • 统一接口以与所有MCP启用的服务交互
  • 对话历史管理
  • 上下文处理以提高响应质量
  • 工具选择和路由逻辑

📁 文件系统模块

file_system/
├── README.md          # 模块特定文档
├── file_system.py     # 文件系统操作实现
├── pyproject.toml     # 依赖项和包信息
└── uv.lock            # 依赖项锁定文件

文件系统模块允许您的本地LLM:

  • 安全地读写文件
  • 列出目录内容
  • 搜索匹配特定模式的文件
  • 解析不同的文件格式(文本、CSV、JSON等)

安装

# 1. 如果尚未安装,请先安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. 克隆仓库
git clone https://github.com/sethuram2003/mcp-ollama_server.git
cd mcp-ollama_server

# 3. 验证Ollama模型已安装(用您偏好的模型替换'llama3')
ollama pull llama3

模块配置

  1. 📅 日历模块:
cd calendar
uv add pyproject.toml  # 安装日历特定依赖项
  1. 🔄 客户端MCP模块:
cd client_mcp
uv add pyproject.toml  # 安装日历特定依赖项
  1. 📁 文件系统模块:
cd file_system
uv add pyproject.toml  # 安装文件系统依赖项

使用

cd client_mcp
uv run client.py ../file_system/file_system.py

与代理的交互:

Chat_1 AI代理之间的对话

🏗️ 架构

MCP-Ollama Server遵循微服务架构模式,其中每种能力都是作为独立服务实现的:

关键组件:

  1. Ollama集成层:连接到您的本地Ollama实例并路由适当的请求
  2. MCP协议处理器:在标准MCP格式和Ollama的要求之间进行转换
  3. 服务模块:实现特定能力的独立模块
  4. 客户端库:为应用程序提供统一接口以与系统交互

此架构提供了以下好处:

  • 可扩展性:添加新模块而不影响现有模块
  • 弹性:即使个别模块失败,系统仍能继续运行
  • 灵活性:仅部署您需要的组件
  • 安全性:对每个模块的数据访问进行细粒度控制

📚 文档

模块特定文档

每个模块都包含其自己的README,详细说明了实现细节:

🛠️ 使用案例

企业安全与合规

适用于需要AI能力但面临严格数据主权要求的组织:

  • 处理机密案件文件的法律公司
  • 分析患者数据的医疗保健提供商
  • 处理敏感交易的金融机构

开发者生产力

转变您的本地开发环境:

  • 访问项目文件的代码生成
  • 基于代码库分析的自动化文档
  • 与本地git存储库的集成

个人知识管理

创建一个尊重您隐私的强大第二大脑:

  • 处理个人文档和笔记
  • 管理日历和时间优化
  • 根据您的个人知识库生成内容

🤝 贡献

我们欢迎社区的贡献!以下是您可以如何帮助:

  1. 分叉仓库:创建项目的自己分支
  2. 创建功能分支git checkout -b feature/amazing-feature
  3. 实施更改:实现您的功能或修复错误
  4. 运行测试:确保您的更改通过所有测试
  5. 提交更改git commit -m '添加一些惊人的功能'
  6. 推送到分支git push origin feature/amazing-feature
  7. 打开拉取请求:提交您的更改以供审查

请阅读我们的贡献指南以获取更多详情。

❓ 常见问题

Q: 这与使用基于云的AI助手有何不同?
A: MCP-Ollama Server完全在您的本地基础设施上运行,确保了完全的数据隐私,并消除了对外部API的依赖。

Q: 支持哪些模型?
A: 只要兼容Ollama,任何模型都可以使用。为了获得最佳效果,我们推荐Llama 3、Mistral或其他至少具有7B参数的最新开放模型。

Q: 如何扩展系统的新功能?
A: 遵循模块化架构模式来创建新的服务模块。详情请参阅我们的扩展指南

Q: 系统需求是什么?
A: 需求取决于您选择的Ollama模型。对于基本功能,我们建议至少16GB内存和现代多核CPU。

📄 许可

本项目根据LICENSE文件中的条款授权。

🙏 致谢

  • Anthropic 提供模型上下文协议规范
  • Ollama 提供优秀的本地LLM服务器

<div align="center"> <p><strong>MCP-Ollama Server</strong> - 将云端级别的AI能力带到您的本地环境</p> <p> <a href="https://github.com/sethuram2003/mcp-ollama_server/stargazers">⭐ 在GitHub上关注我们</a> • <a href="https://github.com/sethuram2003/mcp-ollama_server/issues">🐛 报告Bug</a> • <a href="https://github.com/sethuram2003/mcp-ollama_server/issues">✨ 请求功能</a> </p> </div>