MCP server for automating Toutiao (ByteDance's content platform) operations including article publishing, micro-post management, analytics, and account management
Server has 11 tools with explicit schemas and descriptions in Chinese. All tools are registered with mcp.AddTool() and include jsonschema_description tags. However, descriptions are brief (avg ~60 chars, below the 194-char baseline), lack actionable context for LLM selection, and several parameter constraints are underdocumented. No output schemas are visible in the code. Error handling and recovery guidance are absent. Tool naming follows verb_noun convention (login_with_credentials, publish_article, get_article_list) but some names are verbose. Security concerns: credentials passed as parameters (username/password in login_with_credentials), no visible secret injection pattern, and destructive operations (delete_article, delete_cookies) lack confirmation mechanisms.
检查当前登录状态
删除文章或草稿
删除本地 Cookie,重置登录状态
生成分析报告(支持日报、周报、月报)
获取账户数据概览(粉丝数、阅读量、获赞等)
获取内容列表,支持按状态筛选(all/published/draft/review)
获取指定文章的统计数据(阅读、点赞、评论、转发)
使用账号密码启动登录流程。浏览器将自动打开并尝试填写账密,如触发验证码需人工补充完成。
Credentials exposed as tool parameters: login_with_credentials accepts username and password directly. Credentials must never appear in tool parameters, they are logged in traces and prompt history. Use server-side secret injection via environment variables or vault.
Destructive operations lack confirmation mechanism: delete_article and delete_cookies have no dry-run or confirmation step. Agents make mistakes, irreversible operations should support a confirm_before_execute pattern to prevent catastrophic errors.
Output schemas not documented: No visible return type documentation for any tool. LLMs cannot plan downstream calls or extract required data without knowing what fields to expect. Document the structure of responses (e.g., article_id, status, created_at).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
发布图文文章。支持标题、正文、图片、标签、分类、封面和原创标记。
发布微头条。支持纯文本和图文内容,图片最多9张。
保存微头条草稿
Descriptions lack actionable context: Most descriptions are under 60 characters and do not explain WHEN to use the tool or what it returns. E.g., 'get_account_overview' description is only 30 chars. Descriptions should be 50-200 chars and answer: What does it do? When should the LLM call it? What does it return?
Parameter constraints underdocumented: get_article_list accepts 'status' with values 'all/published/draft/review' but this is only in the description text, not as an enum constraint. publish_micro_post limits content to 2000 chars and images to 9, but no min/max validation is visible. Use JSON Schema enums and numeric bounds.