模型上下文协议服务器

一个全面的模型上下文协议(MCP)服务器,用于Ollama集成,具有脚本管理、多代理工作流和进程泄漏预防等高级功能。

  • by angrysky56
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 angrysky56/ollama-mcp-server

使用说明

Ollama MCP服务器

用于Ollama集成的全面模型上下文协议(MCP)服务器,具有脚本管理、多代理工作流和流程泄漏预防等高级功能。

🌟 特性

  • 🔄 异步作业管理:在后台执行长时间运行的任务
  • 📝 脚本模板:使用变量替换创建可重用的提示模板
  • 🤖 快速代理集成:多代理工作流(链、并行、路由器、评估器)
  • 🛡️ 工艺泄漏预防:适当的清理和资源管理
  • 📊 综合监控:作业跟踪、状态监控和输出管理
  • 🎯 内置提示:常见任务的交互式指导模板
  • ⚡ 多模型支持:适用于任何本地安装的Olama型号

🚀 快速开始

先决条件

安装

  1. 设置环境: 请注意,本自述文件是由一个不太明智的人工智能修改的。
cd /path/to/ollama-mcp-server
uv venv --python 3.12 --seed
source .venv/bin/activate
uv add mcp[cli] python-dotenv
  1. 配置Claude桌面: 从复制配置 example_of_bad_ai_gen_mcp_config_do_not_use.json (不要笑。使用example_claude_desktop_config.json)到您的claude desktop配置文件:
  • Linux: ~/.config/Claude/claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  1. 更新路径 在配置中匹配您的系统

  2. 重新启动克劳德桌面

🛠️ 可用工具

核心业务

  • list_ollama_models -显示所有可用的Ollama型号
  • run_ollama_prompt -使用任何模型执行提示(同步/异步)
  • get_job_status -检查作业完成状态
  • list_jobs -查看所有正在运行和已完成的作业
  • cancel_job -停止运行作业

脚本管理

  • save_script -创建可重用的提示模板
  • list_scripts -查看已保存的模板
  • get_script -读取模板内容
  • run_script -使用变量执行模板

快速代理工作流

  • create_fastagent_script -单代理脚本
  • create_fastagent_workflow -多代理工作流
  • run_fastagent_script -执行代理工作流
  • list_fastagent_scripts -查看可用工作流

系统集成

  • run_bash_command -安全执行系统命令
  • run_workflow -多步骤工作流执行

📖 内置提示

指导常见任务的交互式提示:

  • ollama_guide -交互式用户指南
  • ollama_run_prompt -简单快速执行
  • model_comparison -比较多个模型
  • fast_agent_workflow -多代理工作流
  • script_executor -模板执行
  • batch_processing -多提示处理
  • iterative_refinement -内容改进工作流程

📁 目录结构

ollama-mcp-server/
├── src/ollama_mcp_server/
│   └── server.py                 # Main server code
├── outputs/                      # Generated output files
├── scripts/                      # Saved script templates
├── workflows/                    # Workflow definitions
├── fast-agent-scripts/          # Fast-agent Python scripts
├── prompts/                      # Usage guides
│   ├── tool_usage_guide.md
│   ├── prompt_templates_guide.md
│   └── setup_guide.md
├── example_mcp_config.json      # Claude Desktop config
└── README.md

🔧 发展

运行开发服务器

cd ollama-mcp-server
uv run python -m ollama_mcp_server.server

使用MCP检查器进行调试

mcp dev src/ollama_mcp_server/server.py

🛡️ 流程管理

服务器包括全面的进程泄漏预防:

  • 信号处理:正确处理信号/信号情报
  • 后台任务跟踪:监视所有异步任务
  • 资源清理:自动进程终止
  • 内存管理:防止僵尸进程的累积

通过以下方式监测健康状况:

ps aux | grep mcp | wc -l  # Should show <10 processes

📊 使用示例

简单快速执行

1. Use "ollama_run_prompt" prompt in Claude
2. Specify model and prompt text
3. Get immediate results

多代理工作流

1. Use "fast_agent_workflow" prompt
2. Choose workflow type (chain/parallel/router/evaluator)
3. Define agents and initial prompt
4. Monitor execution

脚本模板

1. Create template with save_script
2. Use variables: {variable_name}
3. Execute with run_script
4. Pass JSON variables object

🚨 故障排除

未找到型号:使用 list_ollama_models 确切名称 连接问题:从Ollama开始 ollama serve 进程数高:服务器现在可以自动防止泄漏 作业卡住:使用 cancel_job 停止有问题的任务

🤝 贡献

  1. 遵循MCP Python SDK开发指南
  2. 使用正确的类型提示和文档字符串
  3. 彻底测试所有新功能
  4. 确保所有代码路径中的进程清理

📄 许可证

此项目遵循与MCP Python SDK相同的许可条款。

🙏 致谢

建立在 模型上下文协议 和 奥拉马 采用MCP最佳实践中的流程管理模式。


准备好开始了吗? 检查 prompts/setup_guide.md 详细的安装说明!