恩里韦布
EnriWeb是一个 模型上下文协议(MCP) 服务器已关闭 stdio 这暴露了 网络搜索 和 URL获取 通过将执行委托给 EnriProxy 的.
如果您的MCP客户端可以调用MCP工具,它可以以一致的方式进行web搜索/获取,而无需实现特定于提供商的抓取逻辑。
这个项目是什么
- 您的MCP主机启动的MCP服务器进程(OpenCode、Claude Code、Codex等)
- EnriProxy的瘦客户端(输入验证+结构化输出)
需求
- Node.js
>= 22(推荐:Node 24 LTS) - 可访问的EnriProxy服务器,具有:
- POST /v1/tools/web_search - POST /v1/tools/web_fetch
- EnriProxy API密钥(在EnriProxy侧配置)
安装
# Global install
npm install -g @bedolla/enriweb
# Or run without installing
npx -y @bedolla/enriweb@latest --help构建
npm install
npm run typecheck
npm run build用法
1) 配置您的MCP主机
EnriWeb作为MCP服务器运行 stdio。您的MCP主机负责启动该进程。
示例:全局安装
{
"EnriWeb": {
"type": "stdio",
"command": "enriweb",
"args": [],
"env": {
"ENRIPROXY_URL": "http://127.0.0.1:8787",
"ENRIPROXY_API_KEY": "YOUR_ENRIPROXY_API_KEY"
}
}
}示例:无需安装(始终使用当前npm标签作为 latest)
{
"EnriWeb": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@bedolla/enriweb@latest"],
"env": {
"ENRIPROXY_URL": "http://127.0.0.1:8787",
"ENRIPROXY_API_KEY": "YOUR_ENRIPROXY_API_KEY"
}
}
}Use a local dev checkout
{
"EnriWeb": {
"type": "stdio",
"command": "node",
"args": ["C:\\\\Users\\\\Administrator\\\\Projects\\\\EnriWeb\\\\dist\\\\index.js"],
"env": {
"ENRIPROXY_URL": "http://127.0.0.1:8787",
"ENRIPROXY_API_KEY": "YOUR_ENRIPROXY_API_KEY"
}
}
}配置
EnriWeb是通过环境变量配置的:
ENRIPROXY_URL(string,可选,默认值:http://127.0.0.1:8787)ENRIPROXY_API_KEY(string,必填)ENRIWEB_TIMEOUT_MS(string,可选,默认值:60000)
- 解析为整数(毫秒)。
ENRIWEB_WEB_FETCH_DEFAULT_MAX_CHARS(string,可选,默认值:200000)
- 解析为整数。
ENRIWEB_GITHUB_TOKEN(string,可选)
- 用于GitHub API富集,以提高速率限制。
MCP工具
EnriWeb公开了这些MCP工具:
web_searchweb_fetch
Tool inputs (option-by-option)
一般注意事项:
- 所有工具都接受单个JSON对象作为输入(MCP
arguments对于该工具)。 - EnriWeb同时返回以下两个结果:
- 简短的人类可读预览(content) - 完整的结果有效载荷(structuredContent)
______________________________________________________________________
web_search
通过EnriProxy搜索网络。
输入:
query(string,必填):搜索查询字符串。max_results(number,可选)
- 必须是 >= 1. - 如果省略,EnriProxy将使用其配置的默认值。 - 上限在服务器端强制执行(EnriWeb没有硬编码max)。
recency(string,可选,默认值:noLimit)
- 什么之中的一个: oneDay | oneWeek | oneMonth | oneYear | noLimit
allowed_domains(string[],可选):允许包含域列表。blocked_domains(string[],可选):要排除的域的块列表。search_prompt(string,可选):额外的上下文来细化搜索意图。
示例 arguments 对象:
{
"query": "qdrant docker compose autostart systemd",
"max_results": 10,
"recency": "oneMonth"
}______________________________________________________________________
web_fetch
通过EnriProxy从URL获取和读取内容。
输入:
url(string,除非cursor提供):完整URL(http://或https://).cursor(string,可选):前一个返回的不透明光标web_fetch电话。offset(number,可选,默认值:0):光标读取字符偏移量。limit(number,可选):以字符为单位的光标读取限制(默认值:max_chars).prompt(string,可选):提取提示(关注什么)。max_chars(number,可选):最大内容长度(默认值:ENRIWEB_WEB_FETCH_DEFAULT_MAX_CHARS).
笔记:
- 如果响应包括
cursor,您可以通过调用来浏览捕获的内容web_fetch再次与cursor+offset+limit.
示例 arguments 对象:
{
"url": "https://example.com/docs",
"max_chars": 200000
}