Skip to main content
Glama

ORZ MCP

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

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

功能

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

  • 入参: query(搜索关键词)、num_results(返回数量,默认 8)

  • 返回: { url, title, summary }[]

web_fetch

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

  • 入参: urlmax_char_size(最大字符数,默认 50000)、simplify(是否简化,默认 true)

  • 返回: 纯文本字符串(Markdown 格式)

  • 内置 10 秒超时

Related MCP server: Web Search MCP Server

两种使用方式(二选一)

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

Available Tools

2 tools
web_fetchA

Fetch a web page and return its content. When simplify is enabled (default), removes useless HTML tags and converts to Markdown. Has a 10-second timeout.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to fetch
max_char_sizeNoMaximum character size of the returned content (default: 50000)
simplifyNoWhether to simplify the content by removing useless tags and converting to Markdown (default: true)

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and discloses key behavioral traits: it describes the transformation behavior (removing useless HTML tags, converting to Markdown when simplify is enabled), timeout constraint (10 seconds), and default settings (simplify enabled by default). This provides essential operational context beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, and subsequent sentences efficiently add crucial behavioral details (simplification behavior, timeout). Every sentence earns its place with no wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is largely complete: it covers purpose, key behavior, and constraints. However, it doesn't describe the return format (e.g., structure of the content) or error handling, which would be helpful given the lack of output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by mentioning the simplify parameter's effect, but doesn't provide additional syntax, format details, or usage examples. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('fetch a web page', 'return its content') and distinguishes it from sibling tools by focusing on direct URL fetching rather than searching. It specifies the resource (web page) and transformation behavior (simplification to Markdown).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (fetching web pages with optional simplification) but does not explicitly mention when not to use it or name alternatives. It implies usage for direct URL access rather than search-based retrieval, though it doesn't contrast with the sibling 'web_search' tool by name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedweb_fetch
    • First observedweb_search

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: web_fetch retrieves and processes the content of a specific URL, while web_search queries multiple search engines to find relevant web pages. There is no overlap in functionality, making it easy for an agent to choose the right tool for the task.

Naming Consistency5/5

Both tools follow a consistent 'web_' prefix and snake_case naming pattern (web_fetch and web_search). The naming is predictable and aligns with their web-related functions, providing clear and uniform conventions.

Tool Count2/5

With only two tools, the server feels thin for a web-related domain. While the tools cover fetching and searching, there are obvious gaps such as navigation, form handling, or API interactions that could enhance completeness, making the count insufficient for robust web operations.

Completeness2/5

The tool set is severely incomplete for web-related tasks. It lacks essential operations like navigating between pages, handling cookies or sessions, interacting with forms, or accessing APIs. This will likely cause agent failures when trying to perform common web automation or data extraction workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables web searching through Google, DuckDuckGo, and Bing using a headless Chrome browser, returning structured results with titles, URLs, and snippets. Also supports fetching and extracting text content from any webpage.
    13
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables comprehensive web searching and content extraction using multiple search engines (Bing, Brave, DuckDuckGo) without API keys. Provides tools for full web searches with content extraction, quick search summaries, and single webpage content retrieval.
    1,137
    MIT