MCP server for magic-api backend integration, providing tools to manage APIs, tasks, functions, groups, and datasources
21 tools with complete schemas and descriptions, but quality is uneven. Naming is verb-first and clear (list_*, get_*, create_*, update_*, delete_*, run_*, search_*). Descriptions are present but brief (avg ~60 chars, well below the 194-char baseline). Parameters have types and descriptions, but many lack constraints (enums, ranges, format hints). Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Composition is good: tools are single-responsibility and chainable (e.g., list_apis → get_api → update_api_script). Security: no secrets in params (good). Overall: solid foundation, but descriptions and output documentation need expansion to meet A-grade standards.
创建接口。自动建立缺失分组。返回 id 与完整运行路径 runPath。
创建分组。type 默认 api。返回新分组 id。
创建定时任务。自动建立缺失分组。enabled 默认 false(需显式启用)。返回 id。
删除接口。ref 可为 id/name/path。
删除定时任务。ref 可为 id/name/path。
关闭定时任务。ref 可为 id/name/path。
启用定时任务。ref 可为 id/name/path。
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Affects all 21 tools.
Descriptions are too brief (avg ~50 chars vs 194-char baseline). Missing WHEN to use, prerequisites, and side effects. E.g., 'delete_api' lacks warning that deletion is irreversible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
获取接口详情(含脚本)。ref 可为 id、name 或 path。
获取函数详情(含脚本)。ref 为 id 或 name。
获取定时任务详情(含脚本/cron/enabled)。ref 可为 id、name 或 path。
列出所有接口,含 id/name/method/path/runPath/group。可按分组名过滤。
列出所有数据源。
列出所有 magic-script 函数。
列出 magic-api 中所有分组(folder)。
列出所有定时任务,含 id/name/path/cron/enabled/group。可按分组名过滤。
查询 magic-script 用法(db/http/response/env 模块、请求变量、分页、事务等)。
运行(测试)接口。向真实路径发请求并返回 status/headers/body。被测接口的错误不算工具错误。
手动执行一次定时任务。ref 可为 id/name/path。返回脚本执行结果。
在所有接口/函数脚本中全局搜索关键词。
更新接口脚本。ref 可为 id/name/path。
更新定时任务,未传字段保留原值。ref 可为 id/name/path。
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without explicit hints.
Parameters lack constraints. 'method' in run_api accepts free-form strings (should enum: GET|POST|PUT|DELETE|PATCH). 'cron' in create_task has no format validation hint.
Error handling is minimal. No recovery guidance (e.g., 'ref not found, try list_apis() first'). No categorization of retryable vs fatal errors.