Skip to main content
Glama
FRANhss

Agent中国通

by FRANhss

Agent中国通

让 AI Agent 真正接入中国互联网的 MCP 工具箱。

Node.js >=20 MCP TypeScript License: MIT

Agent中国通是一个面向中文圈的 Model Context Protocol Server。它把中国互联网常用能力包装成标准 MCP 工具,让 Claude Desktop、Cursor、Cherry Studio、Dify/OpenCode 等 Agent 可以安全、稳定地调用。

30 秒快速开始

npx -y agent-cn-tong banner
npx -y agent-cn-tong list-tools
npx -y agent-cn-tong doctor

作为 MCP Server 启动:

npx -y agent-cn-tong serve

源码调试:

npm install
npm run build
node dist/cli.js list-tools
node dist/cli.js serve

Related MCP server: Bilibili MCP Server

支持工具

工具

分类

说明

配置

cn_time_now

time

中国时区当前时间

cn_amap_geocode

map

中文地址转经纬度

AMAP_API_KEY

cn_amap_regeocode

map

经纬度反查中文地址

AMAP_API_KEY

cn_amap_weather

map

中国城市天气

AMAP_API_KEY

cn_amap_place_search

map

中国 POI/地点搜索

AMAP_API_KEY

cn_express_track

logistics

中国快递轨迹查询

快递100或快递鸟授权

cn_rss_fetch

content

RSS/Atom 订阅读取、去重、排序、摘要控制

cn_bilibili_video_info

content

B站公开视频基础信息

cn_webpage_extract

web

公开网页正文提取,防 SSRF

cn_link_preview

web

公开链接预览

cn_ip_lookup

security

公网 IP 归属地/运营商查询

cn_holiday_info

utility

中国节假日/工作日查询,内置 2025/2026

cn_text_normalize

utility

中文文本清洗/脱敏

查看单个工具:

agent-cn-tong inspect cn_amap_weather
agent-cn-tong inspect cn_text_normalize --json

MCP 客户端配置

Claude Desktop / Cursor

{
  "mcpServers": {
    "agent-cn-tong": {
      "command": "npx",
      "args": ["-y", "agent-cn-tong", "serve"],
      "env": {
        "AMAP_API_KEY": "替换为你的高德 Web 服务 Key",
        "AGENT_CN_TONG_LOG_LEVEL": "warn"
      }
    }
  }
}

源码本地调试:

{
  "mcpServers": {
    "agent-cn-tong-local": {
      "command": "node",
      "args": ["/absolute/path/to/agent-cn-tong/dist/cli.js", "serve"],
      "env": {
        "AMAP_API_KEY": "替换为你的高德 Web 服务 Key"
      }
    }
  }
}

更多示例见 examples/

CLI

agent-cn-tong serve                 # 启动 MCP stdio server
agent-cn-tong list-tools [--json]   # 漂亮表格/JSON 列出工具
agent-cn-tong inspect <tool>        # 查看工具参数、配置、示例
agent-cn-tong doctor [--json]       # 彩色健康检查
agent-cn-tong config [--json]       # 展示配置说明
agent-cn-tong init [--json]         # 生成 .env.example 和客户端配置示例
agent-cn-tong banner                # 显示项目 banner
agent-cn-tong version               # 输出版本号

环境变量

AMAP_API_KEY=
EXPRESS_PROVIDER=              # kuaidi100 或 kdniao
KUAIDI100_CUSTOMER=
KUAIDI100_KEY=
KDNIAO_EBUSINESS_ID=
KDNIAO_API_KEY=
AGENT_CN_TONG_HTTP_TIMEOUT_MS=10000
AGENT_CN_TONG_HTTP_MAX_BYTES=2097152
AGENT_CN_TONG_HTTP_RETRIES=1
AGENT_CN_TONG_LOG_LEVEL=warn

高德地图

到高德开放平台创建 Web 服务 Key,配置 AMAP_API_KEY 后可使用高德相关工具。

快递查询

为了合规,项目不做未授权网页抓取。你需要选择一个授权服务商:

  • 快递100:EXPRESS_PROVIDER=kuaidi100,并配置 KUAIDI100_CUSTOMERKUAIDI100_KEY

  • 快递鸟:EXPRESS_PROVIDER=kdniao,并配置 KDNIAO_EBUSINESS_IDKDNIAO_API_KEY

部分快递公司可能要求手机号后四位,请在工具参数 phone 中传入。

常见任务示例

查一下北京望京 SOHO 的经纬度,然后找附近 2 公里内的咖啡店。
读取这个 RSS,按发布时间排序,总结最新 5 篇文章:https://example.com/feed.xml
帮我看这个 B 站视频的标题、UP 主和播放数据:BV1xx411c7mD
提取这个公开网页的正文摘要,并返回前 10 个链接:https://example.com/article
把这段群聊文本清洗一下,脱敏手机号和邮箱。
2026-10-01 是工作日吗?

安全与合规边界

Agent中国通坚持以下边界:

  • 不模拟登录、不绕过验证码、不绕过平台访问限制。

  • 不下载受版权保护或需登录授权的内容。

  • 不读取本地文件、内网地址、localhost 或 file 协议网页。

  • 不保存、不打印、不返回 API Key。

  • 网页工具默认禁止 localhost、内网、保留地址,降低 SSRF 风险。

  • 工具错误返回结构化 ok=falseerror.codeerror.messageerror.hint,方便 Agent 给用户修复建议。

开发

npm install
npm run typecheck
npm run lint
npm run format:check
npm run test
npm run build

单项测试:

npm run test:unit
npm run test:tools
npm run test:mcp
npm run test:cli

发布前建议:

npm run typecheck
npm run lint
npm run format:check
npm run test:unit
npm run test:tools
npm run test:mcp
npm run test:cli
npm run test
npm run build
npm pack --dry-run
node dist/cli.js list-tools
node dist/cli.js list-tools --json
node dist/cli.js doctor
node dist/cli.js doctor --json
node dist/cli.js inspect cn_time_now

路线图

  • 更多本土 API:飞书、企业微信、WPS、OCR。

  • 可选 Streamable HTTP 模式。

  • 工具市场式插件加载。

  • 更完整的中国节假日年度数据。

  • 更强网页正文抽取算法。

项目理念

国外 MCP 生态已经很丰富,但中文互联网服务适配还很分散。Agent中国通想做的是一个干净、可扩展、合规的中文 Agent 能力底座:

让你的 AI 终于认识中国互联网。

License

MIT

Available Tools

13 tools
cn_amap_geocode高德地址转坐标A
Read-onlyIdempotent

把中国地址解析为经纬度、行政区划和标准化地址。需要 AMAP_API_KEY。

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes中文地址,例如:北京市朝阳区望京 SOHO
cityNo可选城市名或 adcode,用于减少歧义,例如:北京

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the critical requirement of an AMAP_API_KEY, which is beyond what annotations provide. No contradiction is present. A slightly higher score is warranted because the API key is a significant behavioral prerequisite.

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 a single sentence that front-loads the purpose and includes the essential API key requirement. Every word serves a purpose, with no redundancy or extraneous information.

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 simplicity (2 parameters, no output schema, rich annotations), the description is sufficiently complete. It specifies the input requirements and the general outputs, though it could optionally mention output format or error handling. The API key note is a critical addition.

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?

The input schema has 100% description coverage for both parameters, clearly explaining their meaning (address and optional city). The description does not add any additional semantics beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 uses a specific verb '解析' (parse) and clearly states the resource '中国地址' and the outputs '经纬度、行政区划和标准化地址'. It effectively distinguishes from siblings like cn_amap_regeocode (reverse geocoding) and cn_amap_place_search (place search).

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 mentions the need for an AMAP_API_KEY, which is a crucial usage requirement. While it doesn't explicitly state when not to use this tool or provide alternatives, the sibling tool names (e.g., cn_amap_regeocode) imply the context for each, making the guideline adequate.

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

cn_amap_regeocode高德坐标转地址A
Read-onlyIdempotent

把经纬度反查为中文地址和行政区划。需要 AMAP_API_KEY。

ParametersJSON Schema
NameRequiredDescriptionDefault
longitudeYes经度,例如 116.397428
latitudeYes纬度,例如 39.90923
extensionsNo返回信息范围,默认 base;all 会包含更详细周边信息。

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate readOnly, non-destructive, idempotent, and open world behavior. The description adds the critical requirement of an AMAP_API_KEY, which is not in annotations. This provides additional behavioral constraint beyond what annotations offer. No contradictions.

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?

Two short, front-loaded sentences: first states purpose, second states prerequisite. No wasted words.

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

Completeness2/5

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

Despite clear purpose and good schema, the description lacks any indication of the output format or structure. With no output schema present, the description should at least mention what kind of data is returned (e.g., province, city, district). This gap reduces completeness for an AI agent.

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 coverage is 100% (all 3 parameters have descriptions). The description does not add any parameter-specific information beyond what the schema already provides, so baseline 3 is appropriate.

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 converts coordinates to Chinese address and administrative division, using a specific verb '反查'. It distinguishes from sibling tool cn_amap_geocode (which does the reverse) by mentioning '反查', implying the opposite direction.

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

Usage Guidelines3/5

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

The description implies usage for geocoding coordinates to Chinese addresses and mentions a prerequisite (AMAP_API_KEY), but does not provide explicit when-to-use or when-not-to-use guidance versus alternatives. The usage is clear from context but not elaborated.

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

cn_amap_weather高德中国天气A
Read-onlyIdempotent

查询中国城市实时天气或预报。city 可传城市名或 adcode。需要 AMAP_API_KEY。

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYes城市名或 adcode,例如:北京、310000
extensionsNobase=实时天气,all=天气预报;默认 base。

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. Description adds the crucial authentication requirement (AMAP_API_KEY), which is beyond annotations. No contradictions.

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?

Two very concise sentences. No wasted words: purpose, parameter hint, and authentication requirement are all front-loaded and clear.

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?

For a simple tool with 2 parameters, rich annotations, and no output schema, the description is sufficiently complete. It explains purpose, parameter usage, and authentication. It could mention return format, but not required.

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 covers both parameters with clear descriptions (e.g., city examples, extensions enum with defaults). Tool description adds no new parameter info beyond the schema, so baseline score of 3 is appropriate.

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?

Description clearly states the tool queries real-time weather or forecast for Chinese cities. It specifies the verb '查询' (query) and resource '天气' (weather), and distinguishes from sibling tools (none are weather-specific).

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?

Provides clear instructions: city can be name or adcode, extensions parameter explains base vs all, and mentions the AMAP_API_KEY requirement. No explicit alternatives or exclusions, but context is adequate.

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

cn_bilibili_video_infoB站公开视频信息A
Read-onlyIdempotent

获取 Bilibili 公开视频基础信息。只访问公开信息,不模拟登录、不下载受限内容。

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesBV号、AV号或包含 BV/AV 的视频链接。
includePagesNo是否返回分 P 信息,默认 true。

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds value by stating it does not simulate login or download restricted content, reinforcing the read-only and compliant nature. This provides extra context beyond annotations.

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 two short, focused sentences without any fluff. The first sentence delivers the core purpose, and the second adds behavioral constraints. Every word serves a purpose.

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?

Considering the simple read-only nature, full schema documentation, and informative annotations, the description is largely complete. It lacks details about the return format or field contents, but given the openWorldHint=true annotation and the tool's straightforward purpose, this is acceptable. A perfect score would require mention of typical response fields.

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%, with both parameters having clear descriptions: 'input' as BV号/AV号/link and 'includePages' as boolean default true. The description does not add further semantics beyond what the schema already provides, so baseline 3 is appropriate.

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 '获取 Bilibili 公开视频基础信息。' (Get Bilibili public video basic information), specifying the verb 'get', resource 'Bilibili video', and scope 'public'. Among the sibling tools (Amap, express, holiday, IP, etc.), this uniquely targets Bilibili video, making it easily distinguishable.

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 includes '只访问公开信息,不模拟登录、不下载受限内容。' (Only access public info, no simulated login, no downloading restricted content), which tells the agent when to use (for public info) and implicitly when not to use (for restricted content). However, no explicit alternative tool is named among siblings, though none exist for Bilibili video.

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

cn_express_track中国快递轨迹查询A
Read-onlyIdempotent

查询中国快递物流轨迹。支持快递100或快递鸟授权配置;不做非授权抓取。

ParametersJSON Schema
NameRequiredDescriptionDefault
trackingNumberYes快递单号
companyCodeNo快递公司编码。快递100如 sf/yto/zto;快递鸟如 SF/YTO/ZTO。
phoneNo可选手机号后四位;顺丰等公司可能需要。

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds that the tool requires authorization and does not scrape, providing useful behavioral context beyond annotations. No contradictions.

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 extremely concise with two sentences: the first states the primary purpose, and the second provides critical usage context. No redundant words.

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?

For a tool with 3 parameters, 100% schema coverage, and clear annotations, the description is sufficiently complete. It explains the core function and an important constraint (authorization required). No output schema exists, but the description does not need to detail return format.

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?

The input schema covers all three parameters with descriptions (100% coverage). The description does not add new parameter-level details, so it meets the baseline expectation without exceeding it.

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 verb '查询' (query) and the resource '中国快递物流轨迹' (Chinese express logistics tracking), distinguishing it from sibling tools which cover other Chinese services like maps, weather, and video info.

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 notes that it supports authorized configuration via Kuaidi100 or Kuaidiniao and explicitly states it does not do unauthorized scraping, guiding the agent to use it only when proper authorization is available. However, it does not explicitly mention when not to use it or compare with alternatives.

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

cn_holiday_info中国节假日/工作日查询A
Read-onlyIdempotent

查询中国日期信息:星期、是否周末、是否工作日、是否法定节假日或调休工作日。内置 2025/2026 数据。

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes日期,格式 YYYY-MM-DD。

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, etc. The description adds value by specifying the data is built-in for 2025/2026, implying static data and no external API calls. This contextual detail goes beyond annotations.

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?

Two well-structured sentences. The first sentence states the core query capabilities, the second provides data scope. No superfluous text.

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 simple input (one parameter) and no output schema, the description lists the types of information returned (weekday, weekend, workday, holiday, compensatory workday), which is sufficient for agent understanding of outcomes.

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

Parameters4/5

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

The schema covers the date parameter with format and description. The description adds that data is built-in for 2025/2026, indicating the valid date range. This extra context helps agents understand that dates outside this range may not return meaningful results.

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 queries Chinese date info (weekday, weekend, workday, holiday, compensatory workday) with built-in 2025/2026 data. The verb '查询' (query) and specific resource '中国日期信息' make it distinct from sibling tools like geocode or weather.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives. Usage is implied by the tool's purpose, but no guidance on exclusions or when not to use it is provided.

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

cn_ip_lookup公网 IP 归属地查询A
Read-onlyIdempotent

查询公开 IP 的国家/地区/城市/运营商/ASN 等信息;不传 IP 时查询当前公网出口。

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNo公网 IPv4/IPv6;不传则查询当前出口 IP。

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, and open-world hints. The description adds valuable context about the default behavior when no IP is provided, and what information is returned, which goes beyond the annotations.

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?

Two short sentences, no extraneous words. The information is front-loaded and every sentence adds value.

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

Completeness5/5

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

For a simple tool with one optional parameter and no output schema, the description covers purpose, parameter semantics, default behavior, and output contents. It is fully adequate.

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

Parameters4/5

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

The schema has 100% description coverage for the single optional parameter, including the default behavior. The tool description adds the list of returned fields (country, region, city, ISP, ASN), enriching understanding beyond the schema alone.

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 it queries geolocation info (country, region, city, ISP, ASN) for a given public IP, and defaults to the current egress IP if none is provided. This is specific and distinguishes it from sibling tools like cn_amap_geocode which handle address geocoding.

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 explains when to use: for IP geolocation lookup or to check the current egress IP. While it does not explicitly exclude other tools, the context and sibling names make it obvious that this is for IPs, not addresses or weather. The default behavior is also clarified.

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

cn_rss_fetchRSS/Atom 订阅读取A
Read-onlyIdempotent

读取公开 RSS/Atom 订阅,返回标题、链接、发布时间、摘要。适合中文博客、媒体和技术站点。

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesRSS/Atom URL
limitNo返回条数,默认 10,最大 50。
sortByPublishedAtNo是否按发布时间倒序排序,默认 false。
summaryMaxCharsNo每条摘要最大字符数,默认 500。

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds that it reads public feeds and returns specific fields but does not disclose additional traits like network behavior, caching, or error handling. With annotations covering safety, the description offers moderate added value.

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

Conciseness4/5

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

The description is a single sentence that is front-loaded with the core purpose. It is concise and efficient, though it could optionally include a second sentence for usage guidelines.

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 well-annotated read-only and idempotent nature, and full schema coverage, the description adequately covers the return fields and scope. It lacks details on error handling or non-RSS feeds but is sufficient for a simple fetch tool.

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 coverage is 100%, so the input schema already describes all four parameters. The description does not add meaning beyond what the schema provides, resulting in a baseline score.

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 verb (读取), resource (公开 RSS/Atom 订阅), and the returned data (标题、链接、发布时间、摘要). It also specifies suitability for Chinese blogs, media, and tech sites, differentiating it from sibling tools like cn_webpage_extract and cn_link_preview.

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

Usage Guidelines3/5

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

The description implies usage context by stating its suitability for Chinese blogs, media, and tech sites, but it does not explicitly state when to use it versus alternatives or provide exclusions. Guidance is implied rather than explicit.

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

cn_text_normalize中文文本清洗/脱敏A
Read-onlyIdempotent

清洗中文文本:空白归一化、全角半角转换、控制字符移除,并可选脱敏手机号/邮箱/身份证/URL 查询参数。

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes待清洗文本。
trimNo是否 trim 首尾空白,默认 true。
normalizeWhitespaceNo是否归一化空白,默认 true。
fullWidthToHalfWidthNo是否全角转半角,默认 true。
removeControlCharsNo是否移除控制字符,默认 true。
maskPhoneNo是否脱敏中国大陆手机号。
maskEmailNo是否脱敏邮箱。
maskIdCardNo是否脱敏中国身份证号。
maskUrlQueryNo是否脱敏 URL 查询参数。

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate readOnly, non-destructive, idempotent behavior. The description adds specific transformations (normalization, masking) that occur, which is beyond the annotations. No contradiction with annotations.

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 a single sentence with a list of operations. It is front-loaded with the main purpose and every phrase is meaningful. No redundant information.

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?

While there is no output schema, the description implies the result is the cleaned text. With rich schema and annotations, the description is complete enough for an agent to understand functionality. Minor gap: return format not detailed.

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 coverage is 100% with each parameter described in Chinese. The description provides a summary but does not add new parameter-level meaning beyond the schema. Baseline 3 is appropriate.

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 normalizes Chinese text with specific operations (whitespace normalization, full/half-width conversion, control character removal) and optional masking of sensitive data. The verb '清洗' (clean) and resource '中文文本' (Chinese text) are specific. No sibling tool performs text normalization, so it is well-distinguished.

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 implies when to use the tool: for cleaning Chinese text and optionally masking personal information. It does not explicitly state when not to use or provide alternatives, but given no similar sibling tools, the context is clear.

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

cn_time_now中国当前时间A
Read-only

获取中国时区(Asia/Shanghai)的当前时间,包含 ISO、本地中文、星期和时间戳。

ParametersJSON Schema
NameRequiredDescriptionDefault
nowNo占位参数;不传即可。

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds value by detailing the specific output formats (ISO, local Chinese, day of week, timestamp) beyond what annotations provide. No behavioral quirks or contradictions.

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 a single concise sentence that covers all essential information: timezone, output formats, and purpose. No unnecessary words, and the information is front-loaded.

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

Completeness5/5

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

Despite lacking an output schema, the description explicitly lists the return value formats (ISO, local Chinese, day of week, timestamp), which is sufficient for this simple tool. No required parameters, so the description is complete and meets all informational needs.

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%, with the only parameter 'now' described as a placeholder not needing to be passed. The description adds no further information on parameters, which is acceptable since the schema already clarifies their purpose. Baseline score of 3 applies.

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 verb (获取, 'obtain') and resource (当前时间, 'current time') with specificity about timezone (Asia/Shanghai) and output formats (ISO, local Chinese, day of week, timestamp). It fully captures the tool's purpose and distinguishes it from siblings, none of which are time-related.

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

Usage Guidelines3/5

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

The description does not explicitly state when or when not to use this tool, nor does it mention alternatives. While the sibling list contains no time tools, the description could be improved by adding guidance, such as noting that this is for China time only.

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

cn_webpage_extract公开网页正文提取A
Read-onlyIdempotent

读取公开网页标题、描述和正文简摘。默认禁止访问 localhost/内网/保留地址,降低 SSRF 风险。

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes公开 http/https 网页 URL
maxCharsNo最多返回正文字符数,默认 4000。
includeLinksNo是否返回前 30 个链接,默认 false。
includeMetadataNo是否返回更多 meta 信息,默认 true。
summaryModeNo正文模式,plain=纯文本,structured=分段。

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, destructiveHint false, idempotentHint true, and openWorldHint true. The description adds valuable behavioral context about SSRF protection (blocking localhost/intranet). No contradictions. Could mention other behaviors like rate limits or error handling, but current info is sufficient.

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?

Two sentences, front-loaded with the core action. No unnecessary words. Very efficient.

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 rich schema and annotations, the description covers the main behavioral detail (SSRF protection). Some information like error handling or return format is missing, but for a read-only tool with openWorldHint, this is acceptable.

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?

All parameters are described in the schema (100% coverage). The description does not add extra detail beyond what the schema provides. Baseline 3 is appropriate.

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 it reads title, description, and body excerpt of public web pages. The sibling tools cover distinct domains (maps, video, weather, etc.), so this tool's purpose is well differentiated.

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 explicitly mentions default blocking of localhost/intranet/private addresses to reduce SSRF risk, providing context. It does not explicitly state when to use versus siblings, but the tool's purpose is clear enough.

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. Dates show when Glama detected each change.

  1. 13 tool updatesv0.1.0
    • First observedcn_amap_geocode
    • First observedcn_amap_place_search
    • First observedcn_amap_regeocode
    • First observedcn_amap_weather
    • First observedcn_bilibili_video_info
    • First observedcn_express_track
    • First observedcn_holiday_info
    • First observedcn_ip_lookup
    • First observedcn_link_preview
    • First observedcn_rss_fetch
    • First observedcn_text_normalize
    • First observedcn_time_now
    • First observedcn_webpage_extract

TDQS

A4.2/5.0
Disambiguation5/5

Each tool serves a distinct purpose with no overlap, covering different domains such as geocoding, weather, video information, express tracking, etc. Agents can easily differentiate between them.

Naming Consistency5/5

All tools follow a consistent 'cn_<service>_<action>' pattern using snake_case, making them predictable and easy to parse. The naming convention is uniform across all 13 tools.

Tool Count5/5

With 13 tools, the count is well-suited for a general-purpose Chinese utilities server. It is neither too sparse nor overly numerous, and each tool serves a clear function.

Completeness4/5

The tool set covers a wide range of common Chinese utilities, including geocoding, weather, holiday info, and more. Minor gaps exist (e.g., no translation or OCR), but for its stated purpose, it is fairly complete.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/FRANhss/Agent-'

If you have feedback or need assistance with the MCP directory API, please join our Discord server