Webpawm
Webpawm是一个MCP(模型上下文协议)服务器,它提供具有多个搜索引擎支持的网络搜索功能。
特性
- 多个搜索引擎:支持SearXNG、谷歌、必应、Brave、必应中国(中国)和Arxiv
- 多种运输方式:
- HTTP/SSE模式(通过 webpawm web 命令) - 标准模式(通过 webpawm 或 webpawm std 命令)
- 统一搜索:单人
web_search具有智能默认值的工具(多引擎、查询扩展、重复数据删除) - 灵活的配置:支持配置文件(~/.webpawm/config.json)和环境变量
- 访问日志记录:内置基于slog的HTTP访问日志
- API密钥验证:HTTP端点的可选API密钥保护(X-API-key或Bearer令牌)
安装
go install github.com/liut/webpawm@latest或者从源代码构建:
git clone https://github.com/liut/webpawm.git
cd webpawm
make main
install dist/webpawm /usr/local/bin/用法
标准模式(默认)
作为本地MCP工具运行:
webpawmHTTP/SSE模式
启动web服务器(使用可选的API密钥身份验证):
webpawm web --listen localhost:8087服务器提供两个端点:
- HTTP:
http://localhost:8087/mcp - 上海证券交易所
http://localhost:8087/mcp/sse
使用URI前缀:
webpawm web --listen localhost:8087 --uri-prefix /api端点变为:
- HTTP:
http://localhost:8087/api/mcp - 上海证券交易所
http://localhost:8087/api/mcp/sse
认证
当 api_key 在配置文件中配置或 WEBPAWM_API_KEY 环境变量,HTTP端点需要身份验证。
请求与 X-API-Key 头球
curl -H "X-API-Key: your-secret-key" http://localhost:8087/mcp或与 Authorization: Bearer 头球
curl -H "Authorization: Bearer your-secret-key" http://localhost:8087/mcpMCP工具
Webpawm提供两个MCP工具:
网络搜索
具有智能默认值的统一搜索工具。支持单引擎、多引擎并行搜索和具有重复数据删除功能的自动查询扩展。
| 参数 | 类型 | 说明 |
|---|---|---|
| query | string | 搜索查询(必填) |
| engine | string | 使用单个搜索引擎(可选,与引擎互斥) |
| engines | array | 要使用的搜索引擎列表(可选,与引擎互斥) |
| max_results | integer | 返回的最大结果(默认值:10) |
| language | string | 搜索结果的语言代码(例如,'en'、'zh') |
| arxiv_classe | string | 用于学术论文搜索的arxiv类别(例如,“cs.AI”、“math.CO”) |
| search_depth | string | “快速”(1个查询)、“正常”(2个查询)和“深度”(3个查询)。默认值:“正常” |
| include_tacademic | boolean | 包含来自Arxiv的学术论文(默认值:false) |
| auto_query_expand | boolean | 使用变量自动展开查询(默认值:true) |
| auto_deduplicate | boolean | 按URL自动对结果进行重复数据消除(默认值:true) |
备注: engine 和 engines 支持枚举值-工具模式中列出了可用的引擎。
web_fetch
获取一个网站,并通过HTML到Markdown的转换返回其内容。
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 要获取的网站的url(必填) |
| max_length | integer | 返回的最大字符数(默认值:5000) |
| start_index | integer | 从此字符索引开始内容(默认值:0) |
| raw | boolean | 返回包含脚本和样式块的原始HTML(默认值:false) |
配置
配置文件
创建 ~/.webpawm/config.json:
{
"searchxng_url": "https://searchx.ng",
"google_api_key": "your-api-key",
"google_cx": "your-search-engine-id",
"bing_api_key": "your-bing-api-key",
"brave_api_key": "your-brave-api-key",
"api_key": "your-api-key",
"max_results": 10,
"default_engine": "searchxng",
"listen_addr": "localhost:8087",
"uri_prefix": "",
"log_level": "info"
}环境变量
| 变量 | 描述 |
|---|---|
| WEBPAWM_SEARCHXNG_URL | SearXNG基本URL |
| WEBPAWM_GOOGLE_API_KEY | GOOGLE自定义搜索API键 |
| WEBPAWM_GOOGLE_CX | 谷歌搜索引擎ID |
| WEBPAM_BING_API_KEY | 必应搜索API键 |
| WEBPAWM_BRAVE_API_KEY | 勇敢搜索API密钥 |
| WEBPAWM_API_KEY | 用于HTTP端点身份验证的API密钥 |
| WEBPAWM_MAX_RESULTS | 默认最大结果 |
| WEBPAWM_DEFAULT_ENGINE | 默认搜索引擎 |
| WEBPAWM_LISTEN_ADDR | HTTP侦听地址 |
| WEBPAWM_URI_PREFIX | 端点的URI前缀 |
| WEBPAWM_LOGLEVEL | 日志级别:调试、信息、警告、错误 |
优先
配置优先级(从高到低):
- 命令行标志
- 环境变量
- 配置文件
- 默认值
许可证
麻省理工学院
