wecom-docs-mcp-server
wecom-docs-mcp-server
⚠️ 已于 2026-08-18 归档 — 请先阅读
已停止维护,且从未发布到 PyPI。 下文中的
pip install wecom-docs-mcp-server命令无法使用,也从未可用过——如果仍想运行,请从源码安装。归档原因
此服务器是企微 robot-doc MCP 后端的 stdio 代理。腾讯的投入已明显转向其他方向:官方
WecomTeam/wecom-cli(Rust 编写;2026-08-17 为 v1.1.0 重写,覆盖 14 个服务域)以及官方WecomTeam/wecom-unified智能体技能。robot-doc MCP 后端自 2026-04-22 起再无公开更新。官方 CLI 现已覆盖的内容
已于 2026-08-18 对照
@wecom/cliv1.1.0 验证:
本项目的卖点
v1.1.0 中的状态
stdio 传输
已过时 — CLI 本身就是本地进程。任何能运行 shell 的智能体都不需要 MCP 层。
ms-epoch → ISO 8601
已过时 — CLI 直接返回
2026-08-17 12:17:25。中文错误提示
已过时 — CLI 返回
help_message+help_instruction,包括可点击的授权修复链接。Schema 透传
已过时 — 每个子命令都接受
--schema(带字段描述的完整 JSON Schema)和--doc。Smartsheet 单元格解包
仍未解决。 v1.1.0 仍返回
values[field] = [{"type":"text","text":...}],且长富文本单元格会碎片化为数十个片段。如果你来这里是为了让智能体访问企微文档
请使用官方 CLI,而不是本项目:
npm install -g @wecom/cli npx skills add WecomTeam/wecom-unified -y -g wecom-cli auth init唯一值得借鉴的部分
wecom_doc_mcp/transforms.py— 单元格解包转换。约 120 行,无 MCP 依赖。将其作为 CLI 输出的后处理过滤器来使用,而不是运行此服务器。两条值得保留的经验发现
2026-07 针对 robot-doc 后端观测到:
get_doc_content和smartsheet_get_*使用独立的权限范围。 同一个机器人可以通过smartsheet_get_records读取智能表(errcode 0),但对同一文档调用get_doc_content仍可能得到851003 no authority。请按文档类型路由读取;一个可用的权限范围不能证明另一个也可用。请传递包含
?scode=的完整文档url,而不是自行拼接docid。后端会解析 URL;手动去除前缀会得到301085 invalid docid。
一个在企微官方 robot-doc MCP 后端之上的易用 stdio MCP 门面。它原样代理全部 25 个后端工具,并增加一层转换,使原始输出对 LLM 智能体可用:
Schema 透传 — 工具列表在启动时从后端获取,因此会自动跟踪官方更新。零 schema 维护。
单元格解包 — 智能表
values[field] = [{"type":"text","text":...}]单元格变为普通标量(在_rows视图中)。ms → ISO — 13 位毫秒时间戳(
create_time、update_time)转换为 ISO 8601。中文错误提示 —
errcode851003 等会附带_error_summary+_error_hint,让智能体了解修复方法,而不仅仅是错误码。
与后端的关系:此服务器需要官方 robot-doc MCP 后端(来自企微管理后台 → 智能文档机器人 → API 的 apikey)。它是一个薄代理 + 易用性层,不是替代品。
Related MCP server: google-suite-mcp
为什么存在
官方 robot-doc 后端是一个 HTTP (StreamableHttp) MCP 服务器。两个摩擦点:(1) 许多 MCP 客户端和开发工作流更偏好 stdio;(2) 其原始输出对智能体不友好——嵌套单元格格式、毫秒时间戳字符串、不透明的错误码。此服务器弥合了这两点:
官方 robot-doc | 此服务器 | |
传输 | HTTP (StreamableHttp) | stdio |
工具 schema | 原始 25 个工具 | 相同 25 个,透传 |
单元格格式 |
| 解包后的标量( |
时间戳 | 毫秒时间戳字符串 | ISO 8601 |
错误码 |
| + 中文摘要 + 修复提示 |
apikey | 必需 | 必需(代理) |
环境要求
Python 3.9+
一个企微 智能文档机器人 及其 API 密钥 — 企业(≥10 名成员)可通过 企微管理后台 → 应用管理 → 智能文档机器人 → API 获取。
安装
⚠️ 从未发布到 PyPI。
pip install wecom-docs-mcp-server返回 404。源码安装是唯一途径。
克隆 + 可编辑安装:
git clone https://github.com/Beltran12138/wecom-docs-mcp-server
cd wecom-docs-mcp-server
pip install -e .配置
变量 | 必需 | 说明 |
| 是 | robot-doc apikey |
| 否 | 覆盖后端 URL(默认 |
Claude Desktop(claude_desktop_config.json)
{
"mcpServers": {
"wecom-doc": {
"command": "wecom-docs-mcp-server",
"env": { "WECOM_MCP_APIKEY": "your_apikey_here" }
}
}
}工具
全部 25 个后端工具均原样暴露(启动时实时获取)。按域划分:
域 | 读取 | 写入 |
doc | get_doc_content | create_doc, edit_doc_content, upload_doc_image, upload_doc_file |
smartsheet(智能表) | get_sheet, get_fields, get_records | add/update/delete × sheet/fields/records |
sheet(电子表格) | get_info | add_sub, delete_sub, update_range_data, append_data |
smartpage(智能页面) | get_export_result | create, export_task |
权限模型(2026-07 实测观察):
get_doc_content和smartsheet_get_*使用独立的权限范围。一个机器人可能通过smartsheet_get_records读取智能表(errcode 0),但对同一文档调用get_doc_content却得到851003 no authority。请按文档类型路由读取。
转换(增值部分)
在每个 tools/call 响应上自动应用:
_rows于smartsheet_get_records— 扁平化视图,单元格解包为标量,顶层记录字段(record_id、create_time等)保留。原始records数组保持完整。ms → ISO 于所有成功的字典负载 — 13 位毫秒时间戳字符串 → ISO 8601。字母数字 ID(
q979lj)不受影响。_error_summary+_error_hint于任何非零 errcode — 中文解释 + 具体修复方法。
用法
端到端读取一个智能表:
User: read https://doc.weixin.qq.com/smartsheet/s3_xxx?scode=yyy
Agent:
1. smartsheet_get_sheet(url=...) → sheet_id (e.g. "q979lj")
2. smartsheet_get_fields(sheet_id, url) → field schema (types, IDs)
3. smartsheet_get_records(sheet_id, url) → records + _rows (cells unwrapped, timestamps ISO)请传递完整的
url(含?scode=),而不是猜测docid— 后端会解析它。手动去除前缀提取 docid 容易出错(实测:301085 invalid docid)。
故障排查
errcode | 含义 | 修复方法 |
851000 | 文档链接有误 | 检查 url + scode,或使用 docid |
851002 | 文档类型与工具不兼容 | smartsheet → 使用 |
851003 | 无文档权限 | smartsheet 用 |
851008 | 缺文档内容读取权限 | 企微后台 → 机器人 → API 权限 |
301085 | 无效 docid | 用完整 url 含 scode |
40058 | 参数缺失 | smartsheet 需 sheet_id(先 get_sheet) |
相关项目
项目 | 重点 |
官方 robot-doc MCP | 后端(HTTP,≥10 人企业) |
通过 webhook 发送机器人消息 | |
此服务器 | robot-doc stdio 代理 + 易用性 |
测试
pip install -e ".[dev]" # or: pip install pytest httpx
pytest25 个单元测试覆盖 SSE/JSON 解析、毫秒时间戳规范化、单元格解包、错误人性化,以及服务器路由/后处理 — 全部离线运行(httpx 已 mock)。
许可证
MIT
Available Tools
9 toolswecom_create_docA
Create a new WeCom document or smartsheet. Returns url and docid — save the docid for subsequent edits.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_name | Yes | Document name (max 255 chars) | |
| doc_type | Yes | 3 = regular document, 10 = smartsheet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It indicates the tool is a create operation (non-destructive) and provides essential output info. However, it does not mention any side effects, auth requirements, or error conditions, which is a gap given the lack of 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, concise sentence that communicates purpose and key output. It is front-loaded with the action and resource.
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 is simple with two required params, no nested objects, and no output schema, the description covers the creation purpose and output. However, it lacks workflow guidance (e.g., how to use docid with sibling tools) and does not explain return format details.
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%, so the schema already documents both parameters. The description adds that docid is for subsequent edits, but does not elaborate on the meaning of doc_name or doc_type beyond the schema. A score of 3 is appropriate as per guidelines.
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 creates a new WeCom document or smartsheet, specifying the two types via doc_type. It distinguishes this from siblings like wecom_edit_doc and wecom_read_doc by using the verb 'create' and mentioning the output (url and docid).
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 creation tasks and instructs to save the docid for subsequent edits, suggesting a common workflow. However, it does not explicitly state when not to use this tool or compare with alternatives such as wecom_edit_doc for modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wecom_edit_docB
Write Markdown content to a WeCom document. Supports headings, lists, tables, bold, italic. Use docid (preferred) or url to identify the document.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Markdown content to write | |
| docid | No | Document docid from wecom_create_doc (preferred) | |
| url | No | Document URL (fallback if docid unavailable) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool writes content but does not disclose if the operation is destructive (overwrites vs appends), whether it requires special permissions, or what happens if the document does not exist. This is a significant gap for a mutation tool.
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, no filler. The first sentence states the action, the second provides necessary detail on supported syntax and identification methods. Efficient 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?
Given no output schema and no annotations, the description could benefit from mentioning return behavior (e.g., success confirmation, errors). The tool has 3 params, one required, and current description covers identification but not the write behavior (overwrite vs append) or effects on existing content.
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%, and description adds value by explaining that 'docid' is preferred and 'url' is a fallback, which clarifies their relative importance beyond the schema 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 the verb 'Write' and resource 'Markdown content to a WeCom document', and lists supported syntax (headings, lists, tables, bold, italic). However, it does not explicitly distinguish itself from sibling tools like wecom_read_doc or wecom_get_doc_content, though the action is different.
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 using docid (preferred) or url to identify the document, which gives some guidance. But it does not explain when to use this tool over alternatives, e.g., when to edit vs create (wecom_create_doc) or read (wecom_read_doc).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wecom_get_doc_contentA
Fetch the full content of a WeCom online doc as Markdown. Uses async polling internally.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Document URL | |
| task_id | No | Polling task_id (omit on first call) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'Uses async polling internally', disclosing behavioral trait beyond what the schema provides (which only lists parameters). Without annotations, this is valuable. It also implies the tool may return partial results initially.
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, concise and front-loaded with the purpose. The second sentence adds behavioral context. No waste.
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 no output schema and no annotations, the description could be improved by mentioning the return format (Markdown) and any limits. However, it covers the main purpose and polling nature adequately.
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 schema already documents both parameters. The description adds that task_id is for polling and implies it should be omitted on first call, but this is already in the schema description. So baseline 3.
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 'Fetch the full content of a WeCom online doc as Markdown', which is a specific verb ('Fetch') and resource ('WeCom online doc'). It also distinguishes from siblings like wecom_read_doc likely by focusing on full content and Markdown format.
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 says 'Uses async polling internally', which implies it is for getting full content and may require an initial call with just url and then polling with task_id. However, it does not explicitly state when to use this vs siblings or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wecom_read_docA
Read a WeCom document or smartsheet. Returns content as Markdown. Auto-detects URL type: /smartsheet/ URLs return table data, /doc/ URLs return document content.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full WeCom doc or smartsheet URL (include scode param if present) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description carries full burden. It discloses auto-detection of URL type and return format (Markdown). However, it does not mention potential errors, rate limits, or whether authentication is needed. Still, for a read tool, this is adequate.
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?
Three sentences, all essential. No fluff, front-loaded with purpose, then adss specific behavior about return format and URL auto-detection.
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 only one parameter, no output schema, and no annotations, the description is relatively complete. It explains input, behavior, and output. Could mention pagination or limitations for large docs, but overall sufficient.
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% (the url parameter is described). The description adds meaning beyond the schema by explaining what URLs are accepted and how they are processed (auto-detect). It could be more precise about the scode parameter, but minimal.
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 reads a WeCom document or smartsheet and returns content as Markdown. It distinguishes itself from siblings (e.g., wecom_get_doc_content, wecom_smartsheet_get_records) by focusing on reading with Markdown output and URL auto-detection.
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 not to use this tool vs. siblings, but it does provide context on URL types (smartsheet vs. doc) and what to expect. Implicitly, if the user wants raw data or specific fields, other tools might be better, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wecom_smartsheet_add_recordsA
Append rows to a smartsheet. Each record is a plain {column_name: value} dict — cell format conversion is handled automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Smartsheet URL | |
| docid | No | Smartsheet docid | |
| sheet_id | Yes | Sheet ID | |
| records | Yes | List of {column_name: value} objects |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It correctly states mutation ('Append rows') but does not disclose potential side effects, error behaviors (e.g., row limit, duplicate handling), or authentication requirements. The automatic format conversion is mentioned, which is a behavioral trait, but more could be said.
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 sentences: first defines purpose, second clarifies input format. No wasted words. Could be slightly more structured (e.g., bullet points for prerequisites), but it is efficient and 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?
Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description covers the key action and input format but lacks details on error cases, rate limits, or what happens on success. It is adequate but not comprehensive.
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 parameters are described in the schema. The description adds value by explaining the records parameter format ('plain dict') and that cell conversion is automatic, which is not in the schema. The other parameters (url, docid, sheet_id) are already clear from schema 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 the action ('Append rows to a smartsheet') and the input format ('Each record is a plain {column_name: value} dict'). It distinguishes from sibling tools like wecom_smartsheet_get_records (read) and wecom_smartsheet_setup_fields (schema setup). The scope of operation is explicit.
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 use when you need to add data to an existing smartsheet, but does not explicitly state when not to use it (e.g., for creating new sheets or updating existing records) or mention alternatives among siblings. It provides no prerequisites or context about required identifiers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wecom_smartsheet_get_fieldsA
Get column definitions (field names, types, IDs) for a smartsheet sheet.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Smartsheet URL | |
| sheet_id | Yes | Sheet ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It correctly states 'Get column definitions', indicating a read operation. However, it does not disclose any behavioral traits such as pagination, performance, or authentication requirements.
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?
Single sentence, front-loaded with the action and resource. No unnecessary 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?
Given the simple nature and good schema coverage, the description is adequate but could include what happens if a sheet doesn't exist or if parameters are invalid.
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% and the schema already provides descriptions. The description adds no extra meaning beyond what the schema gives.
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 starts with the verb 'Get' and specifies the resource 'column definitions for a smartsheet sheet', clearly distinguishing it from siblings like wecom_smartsheet_add_records and wecom_smartsheet_get_records. It also lists the content: field names, types, IDs.
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?
No guidance on when to use this tool vs alternatives (e.g., wecom_smartsheet_get_sheet or wecom_smartsheet_setup_fields). The description implies it is for reading metadata, but does not explicitly state when to choose this over other sheet-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wecom_smartsheet_get_recordsC
Fetch all rows from a smartsheet sheet. Returns structured row data.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Smartsheet URL | |
| sheet_id | Yes | Sheet ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It lacks details on read-only nature, pagination, authorization requirements, or rate limits. The word 'Fetch' implies read, but no explicit safety guarantee.
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?
Short and to the point with two sentences. No redundant information, but could be improved by front-loading the core action more clearly.
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 no output schema and no annotations, the description is incomplete. It doesn't explain what 'structured row data' includes, how errors are handled, or whether results are paginated. For a fetch operation, return format is crucial.
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 descriptions. However, the description adds no extra meaning beyond the schema—no format or usage hints for url or sheet_id.
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 'Fetch all rows from a smartsheet sheet' with the verb 'Fetch' and resource 'rows from a smartsheet sheet', and distinctively mentions 'all rows' versus sibling tools like 'wecom_smartsheet_get_fields' which fetches fields.
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?
No guidance on when to use this tool versus siblings like 'wecom_smartsheet_get_sheet' (which likely returns sheet metadata) or 'wecom_smartsheet_add_records'. The description only says what it does, not when to prefer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wecom_smartsheet_get_sheetA
List all sheets (sub-tables) in a WeCom smartsheet. Returns sheet IDs and titles.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Smartsheet URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns IDs and titles, which is helpful. Since no annotations are provided, the description carries the full transparency burden. It lacks detail about potential side effects (none expected for a list operation), permissions, or pagination. But it correctly implies a read-only operation.
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 concise and directly states the tool's purpose and return value. No superfluous words; it 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?
For a simple listing tool with one parameter and no output schema, the description is adequate but minimal. It doesn't explain the format of the return (e.g., whether it's a list of objects) or any limitations. It lacks contextual completeness about potential errors or prerequisites.
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 one parameter 'url' having a description 'Smartsheet URL'. The description does not add new meaning beyond the schema; it just reiterates that it lists sheets. With high schema coverage, the baseline is 3, and there is no extra parameter context added.
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's purpose: listing sheets in a WeCom smartsheet and returning their IDs and titles. It uses the specific verb 'list' and identifies the resource (sheets/sub-tables). However, it does not differentiate this tool from siblings like wecom_smartsheet_get_fields or wecom_smartsheet_get_records, which might list other entities.
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 this tool: when you need to discover available sheets and their IDs. However, it does not provide explicit guidance on when not to use it or mention alternatives like wecom_smartsheet_get_fields for columns or wecom_smartsheet_get_records for data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wecom_smartsheet_setup_fieldsA
Initialize a smartsheet's column schema. Renames the default field and adds remaining fields. Must be called before adding records to a new sheet.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Smartsheet URL (or use docid) | |
| docid | No | Smartsheet docid (or use url) | |
| sheet_id | Yes | Sheet ID from wecom_smartsheet_get_sheet | |
| field_names | Yes | Column names in order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it renames the default field and adds fields, hinting at destructive or setup behavior. However, no annotations are provided, so the description carries the full burden. It lacks details on reversibility, idempotency, or what happens if called on an already-initialized sheet, which is a gap for a setup action.
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: two sentences that cover purpose, action, and 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?
Given 4 parameters (2 required) and no output schema, the description provides basic setup context but omits details like what the default field is renamed to, error handling, or return value. The note about ordering is helpful but not comprehensive.
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%, so the schema already documents all parameters. The description does not add meaning beyond the schema; 'field_names' purpose is clear from context. 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 initializes a smartsheet's column schema by renaming the default field and adding remaining fields. The verb 'Initialize' and resource 'column schema' are specific, and the setup nature distinguishes it from read/record siblings.
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 states the tool must be called before adding records to a new sheet, giving clear temporal guidance. However, it does not mention when not to use this tool versus alternatives like wecom_smartsheet_get_fields, so it is not a full 5.
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.
9 tool updates
v1.0.0- First observed
wecom_create_doc - First observed
wecom_edit_doc - First observed
wecom_get_doc_content - First observed
wecom_read_doc - First observed
wecom_smartsheet_add_records - First observed
wecom_smartsheet_get_fields - First observed
wecom_smartsheet_get_records - First observed
wecom_smartsheet_get_sheet - First observed
wecom_smartsheet_setup_fields
TDQS
Scored across 9 tools
Tools are mostly distinct: docs (create, edit, get, read) vs smartsheets (add_records, get_fields, get_records, get_sheet, setup_fields). However, wecom_get_doc_content and wecom_read_doc overlap in purpose (both fetch content), though read auto-detects smartsheets, creating slight ambiguity.
All tools follow wecom_verb_noun pattern, but verbs vary (create, edit, get, read, add, setup). Consistent snake_case and prefix, but 'get' vs 'read' for similar operations is a minor inconsistency.
With 9 tools covering document and smartsheet operations, the count is well-scoped. Each tool serves a clear purpose without redundancy, appropriate for the domain.
Covers core CRUD for docs (create, edit, read) and smartsheets (schema, records, sheets). Missing delete/update for smartsheets or document deletion, but essential workflows are complete, so minor gaps.
Maintenance
Related MCP Connectors
Tools for charts, PDFs, tables, webpages, temporary sharing, webhooks, forms, and feeds.
Documents: DOCX template fill, Office to PDF, any file to Markdown, PDF to Word, OCR, PDF pipeline.
391An agent-first office suite Claude & ChatGPT read and write over one MCP URL.
Generate, edit, merge, translate and PDF-convert PowerPoint (.pptx) over MCP. 8 tools.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA tool designed to help users connect AI Agents with the Feishu/Lark platform, encapsulating Feishu/Lark Open Platform API interfaces as MCP tools for document processing, conversation management, calendar scheduling and more.6,381 npm-
- AlicenseNot gradedqualityCmaintenanceRead and write Google Sheets, Docs, Drive, and Apps Script from any MCP client. 82 tools with OAuth2 auth, tested against live Google APIs.1MIT
- AlicenseNot gradedqualityDmaintenanceGoogle Drive + Workspace MCP — 98 tools for Docs, Sheets, Slides, Shared Drives, Labels, Approvals. Supports OAuth2 and Service Account + Domain-Wide Delegation.364 npmMIT
- AlicenseNot gradedqualityDmaintenanceThis is the Feishu/Lark official OpenAPI MCP (Model Context Protocol) tool designed to help users quickly connect to the Feishu/Lark platform and enable efficient collaboration between AI Agents and Feishu/Lark. The tool encapsulates Feishu/Lark Open Platform API interfaces as MCP tools, allowing AI assistants to directly call these interfaces and implement various automation scenarios such as document processing, conversation management, calendar scheduling, and more.6,381 npmMIT