内容
# 工具列表
MCP 服务器,用于 Ollama 网络搜索和网页抓取 API。
## 概述
该 MCP 服务器提供了两个工具,用于与 Ollama 的网络服务交互:
- **网页搜索**:使用 Ollama 托管的搜索 API 进行网络搜索
- **网页抓取**:抓取网页内容
## 要求
- Python 3.10+
- Ollama 账户(用于云 API 访问)
## 安装
### 克隆
```bash
git clone https://github.com/akopper/ollama-websearch-mcp.git
cd ollama-websearch-mcp
```
### 从源代码安装
```bash
pip install -e .
```
### 使用 uvx
uvx 默认在 stdio 模式下运行服务器(适用于 Claude Desktop/Cursor):
```bash
uvx --from https://github.com/akopper/ollama-websearch-mcp ollama-websearch-mcp
```
对于 HTTP 模式:
```bash
uvx --from https://github.com/akopper/ollama-websearch-mcp ollama-websearch-mcp -- --http
```
### Docker
Docker 镜像默认使用 HTTP 模式。
```bash
# HTTP 模式(默认)- 适用于远程使用
docker run -d -p 8000:8000 -e OLLAMA_API_KEY=your-api-key ghcr.io/akopper/ollama-websearch-mcp
# stdio 模式 - 适用于 Claude Desktop/Cursor
docker run -it --rm -e OLLAMA_API_KEY=your-api-key ghcr.io/akopper/ollama-websearch-mcp --stdio
```
### Docker Compose
```bash
cp .env.example .env
# 编辑 .env 文件,填写 API 密钥
docker-compose up -d
```
## 配置
### 环境变量
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `OLLAMA_API_KEY` | Ollama 云服务的 API 密钥 | 无 |
| `OLLAMA_HOST` | Ollama 的主机 URL | `https://ollama.com` |
### 获取 API 密钥
1. 访问 [ollama.com](https://ollama.com)
2. 登录您的账户
3. 导航到 API 设置
4. 生成 API 密钥
## 使用
### 运行服务器
#### stdio 模式(默认,适用于 Claude Desktop/Cursor)
```bash
# 使用已安装的命令
ollama-websearch-mcp
# 或直接使用 Python
python -m ollama_websearch_mcp.server
```
#### HTTP 模式(适用于远程使用)
```bash
python -m ollama_websearch_mcp.server --http
```
服务器将默认在 `http://localhost:8000/mcp` 上启动。
### Claude Desktop 集成
将以下内容添加到您的 Claude Desktop 配置文件中:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"ollama-websearch": {
"command": "ollama-websearch-mcp",
"env": {
"OLLAMA_API_KEY": "your-api-key-here"
}
}
}
}
```
或使用自定义 Python 环境:
```json
{
"mcpServers": {
"ollama-websearch": {
"command": "/path/to/venv/bin/python",
"args": ["-m", "ollama_websearch_mcp.server"],
"env": {
"OLLAMA_API_KEY": "your-api-key-here"
}
}
}
}
```
### Cursor 集成
将以下内容添加到 Cursor 设置(或项目中的 `.cursor/mcp.json`)中:
```json
{
"mcpServers": {
"ollama-websearch": {
"command": "ollama-websearch-mcp",
"env": {
"OLLAMA_API_KEY": "your-api-key-here"
}
}
}
}
```
### MCPorter 集成
MCPorter 可以发现并使用此 MCP 服务器。创建配置文件:
```json
// config/mcporter.json
{
"mcpServers": {
"ollama-websearch": {
"description": "Ollama 网络搜索和网页抓取 MCP 服务器",
"command": "ollama-websearch-mcp",
"env": {
"OLLAMA_API_KEY": "$env:OLLAMA_API_KEY"
}
}
}
}
```
或运行 ad-hoc:
```bash
# 列出工具
npx mcporter list ollama-websearch
# 调用工具
npx mcporter call ollama-websearch.web_search query:python max_results:10
```
## 可用工具
### 网页搜索
使用 Ollama 托管的搜索 API 进行网络搜索。
**参数:**
- `query`(必填):搜索查询字符串
- `max_results`(可选):返回的最大结果数(默认:10)
**返回:** 包含搜索结果的字典,包含标题、网址和摘要。
### 网页抓取
抓取网页内容。
**参数:**
- `url`(必填):要抓取的绝对网址
**返回:** 包含抓取内容的字典,包含 HTML、文本和元数据。
## 开发
### 设置
```bash
# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate
# 安装开发依赖
pip install -e ".[dev]"
```
### 运行测试
```bash
# 运行所有测试
pytest
# 运行单个测试
pytest tests/test_server.py::TestWebSearch::test_web_search_returns_dict
# 运行详细输出
pytest -v
# 运行覆盖率报告
pytest --cov=src --cov-report=html
```
### 代码检查
```bash
# 检查代码风格
ruff check src/ tests/
# 自动修复问题
ruff check src/ tests/ --fix
```
### 为开发运行服务器
```bash
# 使用 mcp dev
mcp dev src/ollama_websearch_mcp/server.py
# 或直接运行
python -m ollama_websearch_mcp.server
```
## 许可证
MIT