通过本地LLM访问增强您的AI助手
一个MCP(模型上下文协议)服务器,公开完整的Ollama SDK作为MCP工具,实现本地LLM模型与兼容MCP的应用程序(如Claude Desktop和Cline)之间的无缝集成。
功能 • 安装 • 可用工具 • 配置 • 重试行为 • 开发
</div>此MCP服务器赋予Claude与Ollama交互的工具——但您还可以通过从Skillsforge Marketplace安装Ollama技能获得更多价值:
Ollama技能教会Claude:
安装两者以获得完整体验:
结果:Claude不仅拥有汽车——它还知道如何驾驶! 🏎️
添加到您的Claude Desktop配置文件(macOS上的~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ollama": {
"command": "npx",
"args": ["-y", "ollama-mcp"]
}
}
}
npm install -g ollama-mcp
添加到您的Cline MCP设置(cline_mcp_settings.json):
{
"mcpServers": {
"ollama": {
"command": "npx",
"args": ["-y", "ollama-mcp"]
}
}
}
| 工具 | 描述 |
|---|---|
ollama_list | 列出所有可用的本地模型 |
ollama_show | 获取特定模型的详细信息 |
ollama_pull | 从Ollama库下载模型 |
ollama_push | 将模型推送到Ollama库 |
ollama_copy | 创建现有模型的副本 |
ollama_delete | 从本地存储中删除模型 |
ollama_create | 从Modelfile创建自定义模型 |
| 工具 | 描述 |
|---|---|
ollama_ps | 列出当前运行的模型 |
ollama_generate | 生成文本补全 |
ollama_chat | 与模型进行交互式聊天(支持工具/函数) |
ollama_embed | 为文本生成嵌入 |
| 工具 | 描述 |
|---|---|
ollama_web_search | 使用可定制的结果限制搜索网络(需要OLLAMA_API_KEY) |
ollama_web_fetch | 抓取并解析网页内容(需要OLLAMA_API_KEY) |
注意:网络工具需要Ollama云API密钥。它们连接到
https://ollama.com/api进行网络搜索和抓取操作。
| 变量 | 默认值 | 描述 |
|---|---|---|
OLLAMA_HOST | http://127.0.0.1:11434 | Ollama服务器端点(使用https://ollama.com用于云) |
OLLAMA_API_KEY | - | Ollama云的API密钥(用于网络工具和云模型) |
{
"mcpServers": {
"ollama": {
"command": "npx",
"args": ["-y", "ollama-mcp"],
"env": {
"OLLAMA_HOST": "http://localhost:11434"
}
}
}
}
要使用Ollama的云平台以及网络搜索和抓取功能:
{
"mcpServers": {
"ollama": {
"command": "npx",
"args": ["-y", "ollama-mcp"],
"env": {
"OLLAMA_HOST": "https://ollama.com",
"OLLAMA_API_KEY": "your-ollama-cloud-api-key"
}
}
}
}
云功能:
ollama_web_search进行网络搜索(需要API密钥)ollama_web_fetch抓取网页内容(需要API密钥)获取您的API密钥:访问ollama.com注册并获取您的API密钥。
您可以同时使用本地和云模型,指向您的本地Ollama实例并提供API密钥:
{
"mcpServers": {
"ollama": {
"command": "npx",
"args": ["-y", "ollama-mcp"],
"env": {
"OLLAMA_HOST": "http://127..0.1:11434",
"OLLAMA_API_KEY": "your-ollama-cloud-api-key"
}
}
}
}
此配置:
MCP服务器包括智能重试逻辑,用于处理与Ollama API通信时出现的瞬态失败:
网络工具(ollama_web_search 和 ollama_web_fetch):
Retry-After头Retry-After时回退到带有抖动的指数退避服务器智能处理标准HTTP Retry-After头的两种格式:
1. 延迟-秒数格式:
Retry-After: 60
等待恰好60秒后重试。
2. HTTP-日期格式:
Retry-After: Wed, 21 Oct 2025 07:28:00 GMT
计算直到指定时间戳的延迟。
当未提供或提供的Retry-After无效时:
random(0, min(initialDelay × 2^attempt, maxDelay))示例重试延迟:
重试错误(瞬态失败):
不重试错误(永久失败):
重试机制确保了临时API问题的健壮处理,同时尊重服务器提供的重试指导,并防止过度请求率。瞬态5xx错误(500, 502, 503, 504)对于ollama_web_search和ollama_web_fetch使用的幂等POST操作是安全的。单个请求超时30秒以防止无限期挂起连接。
// MCP客户端可以调用:
{
"tool": "ollama_chat",
"arguments": {
"model": "llama3.2:latest",
"messages": [
{ "role": "user", "content": "解释量子计算" }
]
}
}
{
"tool": "ollama_embed",
"arguments": {
"model": "nomic-embed-text",
"input": ["你好世界", "嵌入很棒"]
}
}
{
"tool": "ollama_web_search",
"arguments": {
"query": "最新的人工智能发展",
"max_results": 5
}
}
此服务器使用热插拔自动加载器模式:
src/
├── index.ts # 入口点(27行)
├── server.ts # MCP服务器创建
├── autoloader.ts # 动态工具发现
└── tools/ # 工具实现
├── chat.ts # 每个导出toolDefinition
├── generate.ts
└── ...
关键优势:
src/tools/中放置文件来添加新工具# 克隆仓库
git clone https://github.com/rawveg/ollama-mcp.git
cd ollama-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 运行测试
npm test
# 运行带覆盖率的测试
npm run test:coverage
语句 : 96.37%
分支 : 84.82%
函数 : 100%
行 : 96.37%
src/tools/your-tool.ts:import { ToolDefinition } from '../autoloader.js';
import { Ollama } from 'ollama';
import { ResponseFormat } from '../types.js';
export const toolDefinition: ToolDefinition = {
name: 'ollama_your_tool',
description: '您的工具描述',
inputSchema: {
type: 'object',
properties: {
param: { type: 'string' }
},
required: ['param']
},
handler: async (ollama, args, format) => {
// 实现
return '结果';
}
};
tests/tools/your-tool.test.ts中创建测试欢迎贡献!请遵循以下指南:
git checkout -b feature/amazing-feature)git commit -m '添加精彩功能')git push origin feature/amazing-feature)toolDefinition本项目根据GNU Affero通用公共许可证v3.0(AGPL-3.0)许可。
查看LICENSE了解详情。
由以下构建:
由 Tim Green 制作 ❤️
</div>