Agent中国通
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agent中国通查一下北京望京 SOHO 的经纬度,然后找附近 2 公里内的咖啡店。"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agent中国通
让 AI Agent 真正接入中国互联网的 MCP 工具箱。
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 serveRelated MCP server: Bilibili MCP Server
支持工具
工具 | 分类 | 说明 | 配置 |
| time | 中国时区当前时间 | 无 |
| map | 中文地址转经纬度 |
|
| map | 经纬度反查中文地址 |
|
| map | 中国城市天气 |
|
| map | 中国 POI/地点搜索 |
|
| logistics | 中国快递轨迹查询 | 快递100或快递鸟授权 |
| content | RSS/Atom 订阅读取、去重、排序、摘要控制 | 无 |
| content | B站公开视频基础信息 | 无 |
| web | 公开网页正文提取,防 SSRF | 无 |
| web | 公开链接预览 | 无 |
| security | 公网 IP 归属地/运营商查询 | 无 |
| utility | 中国节假日/工作日查询,内置 2025/2026 | 无 |
| utility | 中文文本清洗/脱敏 | 无 |
查看单个工具:
agent-cn-tong inspect cn_amap_weather
agent-cn-tong inspect cn_text_normalize --jsonMCP 客户端配置
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_CUSTOMER、KUAIDI100_KEY。快递鸟:
EXPRESS_PROVIDER=kdniao,并配置KDNIAO_EBUSINESS_ID、KDNIAO_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=false、error.code、error.message、error.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 toolscn_amap_geocode高德地址转坐标ARead-onlyIdempotent
把中国地址解析为经纬度、行政区划和标准化地址。需要 AMAP_API_KEY。
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | 中文地址,例如:北京市朝阳区望京 SOHO | |
| city | No | 可选城市名或 adcode,用于减少歧义,例如:北京 |
TDQS
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.
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.
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.
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.
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.
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_place_search高德地点搜索ARead-onlyIdempotent
搜索中国 POI/地点,可按城市或经纬度附近搜索。需要 AMAP_API_KEY。
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | Yes | 搜索关键词,例如:咖啡、医院、充电站 | |
| city | No | 城市名或 adcode,例如:上海 | |
| longitude | No | 经度,例如 116.397428 | |
| latitude | No | 纬度,例如 39.90923 | |
| radius | No | 周边搜索半径,单位米,需配合经纬度。 | |
| limit | No | 返回数量,默认 10,最大 25。 | |
| page | No | 页码,默认 1。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds the important context that an AMAP API key is required, which is a behavioral constraint not covered by annotations. It does not detail pagination or rate limits, but the key requirement is a valuable addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no extraneous information. It front-loads the core purpose and quickly covers the two modes and the API key requirement. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and no output schema, the description covers the essential missing pieces: dual search modes, parameter dependencies, and API key requirement. It does not explain the output format, but for a search tool the agent can infer a list of places. The annotations further reduce the need for behavioral detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the dependency between radius and coordinates ('需配合经纬度'), and implicitly groups parameters into city-mode (keywords + city) and coordinate-mode (keywords + longitude/latitude + radius). This goes beyond the schema's standalone descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '搜索中国 POI/地点' (search Chinese POI/places) and specifies two search modes (by city or near coordinates). It distinguishes from sibling tools like cn_amap_geocode and cn_amap_regeocode which handle geocoding and reverse geocoding, not POI search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by stating the two search modes (city or coordinates). It does not explicitly exclude alternatives, but the sibling tool names and context make it clear that this tool is for POI search, not geocoding or other functions. A more explicit when-not-to-use statement would improve this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cn_amap_regeocode高德坐标转地址ARead-onlyIdempotent
把经纬度反查为中文地址和行政区划。需要 AMAP_API_KEY。
| Name | Required | Description | Default |
|---|---|---|---|
| longitude | Yes | 经度,例如 116.397428 | |
| latitude | Yes | 纬度,例如 39.90923 | |
| extensions | No | 返回信息范围,默认 base;all 会包含更详细周边信息。 |
TDQS
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.
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.
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.
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.
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.
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高德中国天气ARead-onlyIdempotent
查询中国城市实时天气或预报。city 可传城市名或 adcode。需要 AMAP_API_KEY。
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | 城市名或 adcode,例如:北京、310000 | |
| extensions | No | base=实时天气,all=天气预报;默认 base。 |
TDQS
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.
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.
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.
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.
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.
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站公开视频信息ARead-onlyIdempotent
获取 Bilibili 公开视频基础信息。只访问公开信息,不模拟登录、不下载受限内容。
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | BV号、AV号或包含 BV/AV 的视频链接。 | |
| includePages | No | 是否返回分 P 信息,默认 true。 |
TDQS
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.
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.
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.
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.
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.
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中国快递轨迹查询ARead-onlyIdempotent
查询中国快递物流轨迹。支持快递100或快递鸟授权配置;不做非授权抓取。
| Name | Required | Description | Default |
|---|---|---|---|
| trackingNumber | Yes | 快递单号 | |
| companyCode | No | 快递公司编码。快递100如 sf/yto/zto;快递鸟如 SF/YTO/ZTO。 | |
| phone | No | 可选手机号后四位;顺丰等公司可能需要。 |
TDQS
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.
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.
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.
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.
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.
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中国节假日/工作日查询ARead-onlyIdempotent
查询中国日期信息:星期、是否周末、是否工作日、是否法定节假日或调休工作日。内置 2025/2026 数据。
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | 日期,格式 YYYY-MM-DD。 |
TDQS
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.
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.
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.
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.
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.
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 归属地查询ARead-onlyIdempotent
查询公开 IP 的国家/地区/城市/运营商/ASN 等信息;不传 IP 时查询当前公网出口。
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | 公网 IPv4/IPv6;不传则查询当前出口 IP。 |
TDQS
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.
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.
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.
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.
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.
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_link_preview公开链接预览ARead-onlyIdempotent
轻量提取公开网页标题、描述、站点名、canonical 和 favicon,适合群聊链接预览。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 公开 http/https 网页 URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds value by specifying that it extracts lightweight data like title, description, site name, canonical, and favicon. No contradictions, and it clarifies the scope of extraction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose, scope, and use case without unnecessary words. It is front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the presence of annotations, the description provides adequate context including the output fields and use case. It could be more complete if it described the output format, but the listed fields partially compensate for the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is fully covered (100%) with a clear description for the single 'url' parameter. The tool description adds no additional parameter meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'extract' and the resource (公开网页标题、描述、站点名、canonical 和 favicon). It also distinguishes the tool from siblings like cn_webpage_extract by noting it's '轻量' (lightweight) and suitable for group chat link previews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the use case ('适合群聊链接预览'), providing clear context for when to use. However, it does not explicitly state when not to use or mention alternative tools, missing some differentiation guidance.
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 订阅读取ARead-onlyIdempotent
读取公开 RSS/Atom 订阅,返回标题、链接、发布时间、摘要。适合中文博客、媒体和技术站点。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | RSS/Atom URL | |
| limit | No | 返回条数,默认 10,最大 50。 | |
| sortByPublishedAt | No | 是否按发布时间倒序排序,默认 false。 | |
| summaryMaxChars | No | 每条摘要最大字符数,默认 500。 |
TDQS
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.
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.
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.
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.
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.
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中文文本清洗/脱敏ARead-onlyIdempotent
清洗中文文本:空白归一化、全角半角转换、控制字符移除,并可选脱敏手机号/邮箱/身份证/URL 查询参数。
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | 待清洗文本。 | |
| trim | No | 是否 trim 首尾空白,默认 true。 | |
| normalizeWhitespace | No | 是否归一化空白,默认 true。 | |
| fullWidthToHalfWidth | No | 是否全角转半角,默认 true。 | |
| removeControlChars | No | 是否移除控制字符,默认 true。 | |
| maskPhone | No | 是否脱敏中国大陆手机号。 | |
| maskEmail | No | 是否脱敏邮箱。 | |
| maskIdCard | No | 是否脱敏中国身份证号。 | |
| maskUrlQuery | No | 是否脱敏 URL 查询参数。 |
TDQS
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.
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.
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.
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.
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.
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中国当前时间ARead-only
获取中国时区(Asia/Shanghai)的当前时间,包含 ISO、本地中文、星期和时间戳。
| Name | Required | Description | Default |
|---|---|---|---|
| now | No | 占位参数;不传即可。 |
TDQS
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.
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.
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.
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.
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.
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公开网页正文提取ARead-onlyIdempotent
读取公开网页标题、描述和正文简摘。默认禁止访问 localhost/内网/保留地址,降低 SSRF 风险。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 公开 http/https 网页 URL | |
| maxChars | No | 最多返回正文字符数,默认 4000。 | |
| includeLinks | No | 是否返回前 30 个链接,默认 false。 | |
| includeMetadata | No | 是否返回更多 meta 信息,默认 true。 | |
| summaryMode | No | 正文模式,plain=纯文本,structured=分段。 |
TDQS
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.
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.
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.
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.
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.
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.
13 tool updates
v0.1.0- First observed
cn_amap_geocode - First observed
cn_amap_place_search - First observed
cn_amap_regeocode - First observed
cn_amap_weather - First observed
cn_bilibili_video_info - First observed
cn_express_track - First observed
cn_holiday_info - First observed
cn_ip_lookup - First observed
cn_link_preview - First observed
cn_rss_fetch - First observed
cn_text_normalize - First observed
cn_time_now - First observed
cn_webpage_extract
TDQS
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.
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.
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.
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
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
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
MCP server for AI dialogue using various LLM models via AceDataCloud
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- FlicenseBqualityDmaintenanceProduction-ready MCP server that integrates OpenAI API with extensible tool support, enabling dynamic plugin loading and knowledge search capabilities through multiple interfaces including CLI and browser UI.2-
- AlicenseNot gradedqualityDmaintenanceAn MCP server powered by public Bilibili APIs so AI agents can search videos and read public video and creator metadata.MIT
- MIT
- AlicenseAqualityBmaintenanceA lightweight Node.js MCP server that integrates Alibaba Cloud's Qwen models, providing vision understanding, real-time web search, and general chat capabilities through three ready-to-use tools.3MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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