Ollama+MCP主持人可靠角色
可重用的Ansible角色,用于设置本地AI mcphost 还有Ollama。
特性
模型选择 -任何Olama型号 多个MCP服务器 -配置无限制的MCP服务器\ 完全可扩展 -所有参数均可定制\ 清理支持 -完全删除选项\ 基于标签的执行 -仅运行特定部件
快速开始
# 1. Clone
git clone && cd ollama-mcphost-setup
# 2. Run example
ansible-playbook example-basic.yml # Basic: ollama + mcphost only
ansible-playbook example-risu-insights.yml # With RISU Insights MCP
ansible-playbook example-multiple-mcp.yml # Multiple MCP servers
# 3. Start using
mcphost用法
基本安装
- hosts: localhost
roles:
- ollama_mcphost使用自定义模型
- hosts: localhost
roles:
- role: ollama_mcphost
ollama_model: "llama3.2:3b" # 2GB, faster
temperature: 0.4使用MCP服务器
- hosts: localhost
roles:
- role: ollama_mcphost
mcp_servers:
- name: "my-mcp"
path: "/path/to/mcp_server.py"
description: "My MCP server"
- name: "another-mcp"
path: "/path/to/another.py"
project_root: "/path/to/project" # For ANSIBLE_LIBRARY etc
description: "Another server"
env: # Optional extra env vars
CUSTOM_VAR: "value"清理
ansible-playbook your-playbook.yml --tags cleanup变量
模型选择
ollama_model: "mistral:7b" # Default可用型号:
| 型号 | 大小 | RAM | 最适合 |
|---|---|---|---|
| mistral:7b | 4.1GB | 8GB | 常规/系统管理员(默认) |
| llama3.2:3b | 2GB | 4GB | 快速高效 |
| codellama:7b | 3.8GB | 8GB | 代码/脚本 |
| phi3:3.8b | 2.3GB | 4GB | 高效 |
生成参数
temperature: 0.3 # 0.0-1.0 (lower = deterministic)
max_tokens: 2048 # Response length
max_steps: 20 # Agent steps
enable_streaming: true
enable_debug: falseMCP服务器
mcp_servers:
- name: "server-name" # Required
path: "/path/to/mcp.py" # Required
description: "Description" # Optional
project_root: "/path" # Optional (for ANSIBLE_LIBRARY)
env: # Optional
VAR_NAME: "value"控制
install_packages: true # Install ollama/mcphost
packages_to_install: [ollama, mcphost]
cleanup_models: true # Remove models on cleanup
cleanup_config: true # Remove config on cleanup标签
--tags install # Install packages only
--tags model # Pull model only
--tags config # Configure only
--tags verify # Verify only
--tags cleanup # Remove everything例子
示例1:RISU见解
- hosts: localhost
roles:
- role: ollama_mcphost
mcp_servers:
- name: "risu-insights"
path: "/home/user/risu-insights/risu_insights_mcp.py"
project_root: "/home/user/risu-insights"
description: "RISU diagnostics"示例2:多个MCP服务器
- hosts: localhost
roles:
- role: ollama_mcphost
ollama_model: "mistral:7b"
mcp_servers:
- name: "risu"
path: "/home/user/risu-insights/risu_insights_mcp.py"
project_root: "/home/user/risu-insights"
- name: "custom-tools"
path: "/home/user/tools/mcp_server.py"示例3:轻量级
- hosts: localhost
roles:
- role: ollama_mcphost
ollama_model: "llama3.2:3b" # Only 2GB
temperature: 0.4
max_tokens: 1024配置文件
角色创建 ~/.mcphost.yml:
model: "ollama:mistral:7b"
provider-url: "http://localhost:11434"
temperature: 0.3
max-tokens: 2048
mcpServers:
your-mcp-server:
type: "local"
command: ["python3", "/path/to/mcp.py"]要稍后添加更多MCP服务器,请执行以下操作之一:
- 重新运行角色并更新
mcp_servers列表 - 手动编辑
~/.mcphost.yml
使用mcphost
# Start interactive
mcphost
# Commands
> /servers # List MCP servers
> /tools # Show available tools
> Your query here
# Non-interactive
mcphost -p "Your query" --quiet清理
# Remove everything
ansible-playbook your-playbook.yml --tags cleanup
# Keep config
ansible-playbook your-playbook.yml --tags cleanup -e "cleanup_config=false"需求
- 答案2.9+
- 带包管理器的Linux(zypper/yum/apt)
- 可提供ollama和mcphost套餐
- 8GB+RAM(默认型号)
项目结构
ollama-mcphost-setup/
├── roles/
│ └── ollama_mcphost/
│ ├── tasks/main.yml # Role tasks
│ ├── defaults/main.yml # Default variables
│ ├── templates/
│ │ └── mcphost-config.yml.j2 # Config template
│ ├── meta/main.yml # Role metadata
│ └── README.md # Role documentation
├── example-basic.yml # Example: basic setup
├── example-risu-insights.yml # Example: RISU Insights MCP
├── example-multiple-mcp.yml # Example: multiple MCP servers
└── README.md # This file许可证
麻省理工学院
作者
哈尔什瓦尔丹·夏尔马
