Gitee (Chinese GitHub) bridge - trending repo radar, search, repo intel and zh to en translation
gitee-mcp demonstrates solid tool design with explicit schemas, clear descriptions, and thoughtful parameter constraints. All 7 tools have descriptions (194 - 450 chars, within baseline 34 - 392 range). Input schemas are present and typed. However, several tools lack output schema documentation in code, parameter descriptions are sometimes generic, and error handling lacks recovery guidance. Tool naming is domain-specific but not consistently verb-first (e.g., 'gitee_corpus', 'gitee_ecosystem' are noun-heavy). Composition is good, tools chain well (e.g., gitee_repo auto-indexes into gitee_corpus). Security is sound: no secrets in params, WRITE/READ_ONLY annotations present. Averaging individual tool scores: 72.
Search the local README corpus for Chinese-OSS projects. [RATIONALE] "Which Gitee project does X" is a recurring question. READMEs fetched through the server are indexed into a local SQLite FTS5 table and searched with BM25. This is honest keyword retrieval (RAG-lite) - NOT embeddings - for exact-fact lookups. ## Return Format {"success": bool, "operation": str, "message": str, "results": [...], "count": int} ## Examples gitee_corpus(operation="search", query="multi-tenant low-code") gitee_corpus(operation="ingest", owner="dromara", repo="hutool") gitee_corpus(operation="status")
Chinese-OSS ecosystem intelligence - graph, GitHub mirror comparison, weekly digest, RSS. [RATIONALE] The radar answers "what is humming now"; these operations answer "what is changing" (digest), "who relates to whom" (graph), "where is the real community" (mirror) and "how do I subscribe" (feed). ## Return Format {"success": bool, "operation": str, ...operation-specific fields} ## Examples gitee_ecosystem(operation="graph") gitee_ecosystem(operation="graph", scope="watchlist") gitee_ecosystem(operation="mirror", owner="dromara", repo="hutool") gitee_ecosystem(operation="digest", days=7) gitee_ecosystem(operation="feed")
Gitee MCP help - tools, tiers, configuration and tips. ## Return Format {"success": bool, "help": str} ## Examples gitee_help()
Gracefully stop the gitee-mcp server process. [RATIONALE] Agents and operators need a sanctioned way to stop a long-running HTTP server without taskkilling it by hand. This tool exits the process after a short delay so the in-flight response can flush. ## Return Format {"success": bool, "message": str} ## Examples gitee_shutdown(confirm=True)
Tool names lack action verbs. 'gitee_corpus', 'gitee_ecosystem', 'gitee_help' are noun-heavy. LLMs infer intent from verb-first names (search_*, list_*, get_*). Rename to 'search_corpus', 'analyze_ecosystem', 'get_help' for clarity.
Output schemas missing from tool definitions. gitee_ecosystem, gitee_help, gitee_webhook lack explicit output_schema declarations in code. Only gitee_corpus and gitee_shutdown define _OUTPUT_SCHEMA. LLMs cannot plan downstream calls without knowing return structure.
Error handling lacks recovery guidance. Tools return success/failure booleans but do not suggest next steps. E.g., 'ingest failed' should say 'Check owner/repo spelling or call gitee_help() for examples.' Errors must guide agent recovery.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | <=2025-11-25 | v2 |
Translate Chinese to English, detect Chinese, check provider health, or explain Chinese-OSS context. [RATIONALE] The core value of a Gitee bridge for non-Chinese speakers is reading the ecosystem; translation belongs next to discovery in the tool surface, and 'explain' adds the cultural context translation cannot convey. ## Return Format {"success": bool, "operation": str, "translated": bool, "translation": str, "note": str | null} ## Examples gitee_translate(operation="zh_to_en", text="企业级微服务快速开发框架") gitee_translate(operation="detect", text="hello world") gitee_translate(operation="status") gitee_translate(operation="explain", text="RuoYi")
Watch Gitee repos persistently and detect what changed since the last check. [RATIONALE] One persistent watchlist turns the radar into a notification feed: add repos you care about, check periodically, and see exactly what changed (new commits, optional activity-threshold crossings) instead of re-scanning everything. ## Return Format {"success": bool, "operation": str, "message": str, "entries": [...], "count": int} ## Examples gitee_watchlist(operation="add", full_name="dromara/hutool") gitee_watchlist(operation="add", full_name="macrozheng/mall", min_activity=8.0) gitee_watchlist(operation="list") gitee_watchlist(operation="check") gitee_watchlist(operation="remove", full_name="dromara/hutool")
Inspect inbound Gitee webhook events or read a grouped daily digest. [RATIONALE] Gitee pushes events to POST /api/webhooks/gitee when a repo webhook is configured; this tool surfaces the captured feed so agents can react to CI pushes, stars and forks - and 'digest' turns the raw feed into a "what happened on my repos" report. ## Return Format {"success": bool, "operation": str, "events": [...], "count": int} ## Examples gitee_webhook(operation="list", limit=10) gitee_webhook(operation="digest", since_hours=24) gitee_webhook(operation="clear")
Parameter descriptions sometimes generic. 'owner' and 'repo' appear in multiple tools with identical descriptions ('Repo owner', 'Repo name'). Add context: 'Gitee org/user name (e.g., dromara)' and 'Repository name (e.g., hutool)' to match chat data model.
gitee_shutdown is destructive but lacks confirmation UX. Tool accepts confirm=True but no dry-run or multi-step confirmation. Agents can accidentally stop the server. Add a 'dry_run' param or require explicit confirmation message.