CLI and tooling suite for Aliyun Model Studio (DashScope) AI Platform, including knowledge base tools, MCP server management, and agent configuration
Three tools with mixed quality. kb_search and kb_chat have exceptionally detailed descriptions (250+ chars each) that explain when to use each vs the other, include dependency hints, and cover prerequisites. Descriptions are LLM-optimized and address the WHEN and WHY. However, input schemas lack type information beyond basic 'string' and 'integer', no enums, formats, min/max bounds, or structured constraint documentation. The mcp tools command has a minimal description (43 chars) and lacks parameter descriptions entirely. kb_search and kb_chat parameter descriptions are thorough and include guidance on agent_id selection and credential handling. Error handling guidance is embedded in descriptions (e.g., 'say so rather than guessing'), but no structured error recovery patterns are visible. Security is well-handled: credentials are server-side injected and never exposed as parameters.
Q&A over a Bailian knowledge base with model-generated answers. The model reads the knowledge base through kb_search, synthesizes an answer, and cites the sources it used. Unlike kb_search, this tool hides the retrieval machinery — use it when the knowledge base should comprehensively answer the user question. When it cannot, the answer will say so. Credentials and workspace resolve automatically from DSH config (bailian-kb in ~/.dsh/settings.yaml, DASHSCOPE_API_KEY in ~/.dsh/.credentials.yaml) — never read or pass them yourself. agent_id is REQUIRED (see its parameter description). The timeout is configurable per deployment (chatTimeoutMs); the server side is a minutes-scale agentic loop.
Semantic search over a Bailian knowledge base. Returns raw knowledge chunks with scores and source references for you to verify, cite, or combine with other context. Retrieval scope and strategy (multi-KB weighting, routing, reranking) come from the service configuration. top_k caps how many chunks return (client-side cut of the score-ranked results). Use kb_chat instead when the user question can be answered by the knowledge base alone. Credentials and workspace resolve automatically from DSH config (bailian-kb in ~/.dsh/settings.yaml, DASHSCOPE_API_KEY in ~/.dsh/.credentials.yaml) — never read or pass them yourself. agent_id is REQUIRED (see its parameter description). If no listed service covers what the user is asking about, say so plainly rather than trying the closest-looking id: unrelated evidence is worse for the user than none.
List tools exposed by an MCP server (tools/list)
Input schemas lack type constraints (enums, patterns, min/max). kb_search 'top_k' has no min/max bounds; 'images' array items lack format specification. agent_id in both kb_search and kb_chat accepts free-form strings with no validation enum or pattern despite being critical routing parameters.
mcp tools lacks parameter descriptions entirely. 'server' parameter has no description; 'url' marked optional but purpose unclear. LLMs cannot determine when/how to use these parameters without explicit guidance.
mcp tools has a minimal description (43 chars) that does not explain when to call it (before other MCP operations?) or what it returns. Falls below baseline of 34-392 chars for adequate context.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No documented output schemas for any tool. kb_search and kb_chat descriptions mention what they return (chunks, answers, citations) but no formal schema shows field names, types, or structure. LLMs cannot reason about downstream tool chaining or field extraction.
No pagination parameters visible for kb_search (no limit enforcement, offset, cursor documented). Description mentions 'top_k caps', but no total_count, next_cursor, or explicit warning about result limits in response design.
Error handling guidance embedded in descriptions (e.g., 'say so plainly rather than trying') but no structured error classification (retryable, user-fixable, fatal) or recovery tool suggestions visible in schema or error documentation.