MCP server that exposes Lark (Feishu) CLI tools as Model Context Protocol tools, enabling LLM agents to interact with Lark services through a generated tool catalog
Three tools with explicit schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. lark_invoke has a complex _confirm parameter that lacks proper validation guidance. lark_discover and lark_get_skill descriptions are adequate (80-120 chars) but lack actionable context for LLM selection. No output schemas documented for any tool. Parameter descriptions exist but are sparse (avg ~40 chars vs baseline 72). Tool naming follows verb_noun pattern (good), but lark_invoke conflates two concerns (shortcut commands vs raw API calls). Error handling and recovery guidance absent.
Search and discover available Lark tools by name, description, or service category. Returns matching tools with their schemas and risk levels.
Retrieve detailed documentation and guidance for a Lark skill domain and section. Returns markdown-formatted skill documentation with examples and best practices.
Execute a Lark CLI command by service, resource, and method. Supports both shortcut commands and raw API calls with automatic --yes injection for high-risk operations.
lark_invoke combines two distinct operations (shortcut commands vs raw API calls) in one tool, violating single-responsibility principle. Parameters like 'command', 'resource', 'method' are mutually exclusive but not documented as such.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., tool IDs from lark_discover, skill sections from lark_get_skill). Baseline: 100% of A+ tools document return types.
_confirm parameter in lark_invoke lacks validation guidance. Description says 'Must be set to true' but does not explain consequences of false, when it is required, or what 'destructive operations' means. No enum constraint.
flags parameter in lark_invoke is an untyped object with no schema. LLMs cannot infer valid flag names, types, or constraints. Should enumerate common flags or provide a discovery mechanism.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
No error handling or recovery guidance in any tool. Descriptions do not explain failure modes, retryability, or what to do if a search returns no results. Baseline: error responses must guide LLM to next action.