Skip to content

sunwu51/orz-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ORZ MCP

一个提供 web_searchweb_fetch 能力的 MCP (Model Context Protocol) 服务器。

让你的 AI 助手(Claude、Cursor、OpenCode 等)能够搜索互联网和抓取网页内容。

功能

web_search

同时查询 Brave、DuckDuckGo 两个搜索引擎,自动合并去重、过滤广告。

  • 入参: query(搜索关键词)、num_results(返回数量,默认 8)
  • 返回: { url, title, summary }[]

web_fetch

抓取指定 URL 的网页内容,默认简化为 Markdown 格式。

  • 入参: urlmax_char_size(最大字符数,默认 50000)、simplify(是否简化,默认 true)
  • 返回: 纯文本字符串(Markdown 格式)
  • 内置 10 秒超时

两种使用方式(二选一)

ORZ MCP 提供 stdioStreamable HTTP 两种 MCP 传输协议的实现,功能完全一致,根据你的需求选择其中一种即可。

stdio Streamable HTTP
运行方式 通过 npx 本地启动 远程 HTTP 服务(Netlify Functions)
适用场景 需要代理访问海外搜索引擎 开箱即用,无需本地环境
代理支持 支持 --proxy 参数 不支持(服务端已部署在海外)
依赖 Node.js >= 18

方式一:stdio(通过 npx 本地运行)

无需安装,直接通过 npx 运行。适合需要配置代理的用户。

在你的 MCP 客户端配置中添加:

不需要代理:

{
  "mcpServers": {
    "orz": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "orz-mcp"]
    }
  }
}

需要代理(国内用户):

{
  "mcpServers": {
    "orz": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "orz-mcp", "--proxy", "http://127.0.0.1:7890"]
    }
  }
}

http://127.0.0.1:7890 替换为你的代理地址。


方式二:Streamable HTTP(远程连接)

无需本地安装任何东西,直接连接部署在 Netlify 上的远程服务。

{
  "mcpServers": {
    "orz": {
      "type": "http",
      "url": "https://<your-netlify-domain>/mcp"
    }
  }
}

如果你的 MCP 客户端不支持直接 URL 连接,可以通过 mcp-remote 桥接:

{
  "mcpServers": {
    "orz": {
      "command": "npx",
      "args": ["mcp-remote@next", "https://<your-netlify-domain>/mcp"]
    }
  }
}

配置文件位置

不同的 MCP 客户端配置文件位置不同:

  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
  • Cursor: Settings > MCP Servers
  • OpenCode: .opencode/config.json 或通过 /mcp 命令添加

项目结构

orz-mcp/
├── stdio/                              # stdio 传输协议 (npm 包)
│   ├── client.mjs                      # 入口文件
│   └── package.json                    # npm 发布配置(依赖: mcp sdk, turndown, undici)
├── streamable-http/                    # Streamable HTTP 传输协议 (Netlify Functions)
│   ├── netlify/
│   │   ├── mcp-server/
│   │   │   └── index.ts                # MCP Server 定义(工具注册与业务逻辑)
│   │   └── functions/
│   │       └── hono-mcp-server.ts      # Hono HTTP handler (Netlify Function)
│   ├── public/
│   │   └── index.html                  # 静态首页
│   ├── netlify.toml                    # Netlify 构建配置
│   └── package.json                    # 服务端依赖(依赖: mcp sdk, hono, zod, turndown)
└── README.md

开发

stdio

cd stdio
npm install

node client.mjs
node client.mjs --proxy http://127.0.0.1:7890
node client.mjs --help

# 用 MCP Inspector 调试
npx @modelcontextprotocol/inspector node client.mjs

Streamable HTTP(本地调试)

cd streamable-http
npm install

# 启动本地开发服务器(需要 Netlify CLI)
netlify dev

# 用 MCP Inspector 测试(在 UI 中选择 Streamable HTTP,填入 URL)
npx @modelcontextprotocol/inspector --url http://localhost:8888/mcp

部署到 Netlify

cd streamable-http

# 安装 Netlify CLI
npm install -g netlify-cli

# 登录
netlify login

# 初始化并关联站点
netlify init

# 部署
netlify deploy --prod

或者通过 GitHub 连接 Netlify,push 到 main 分支自动部署。

License

MIT

About

MCP server with web_search and web_fetch tools. Searches Brave, DuckDuckGo. Supports HTTP proxy.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors