MCP Server for FJcloud-V (Nifcloud) cloud infrastructure management
All 6 tools have identical structural weaknesses: zero input parameters (empty {} schemas), minimal descriptions (20-80 chars, below the 194-char baseline), and no parameter documentation. Tools are read-only discovery operations with no error handling guidance. Descriptions reference external API docs but lack context for LLM selection. No output schema documentation visible. Tool names follow verb_noun pattern (positive), but lack of input validation, pagination support, and result limits makes these unsuitable for production agent use.
List of all RDB server in FJcloud-V See. https://docs.nifcloud.com/rdb/api/DescribeDBInstances.htm
List of all disks in FJcloud-V See. https://docs.nifcloud.com/cp/api/DescribeVolumes.htm
List of all firewalls in FJcloud-V See. https://docs.nifcloud.com/cp/api/DescribeSecurityGroups.htm
List of all load balancers in FJcloud-V See. https://docs.nifcloud.com/cp/api/DescribeLoadBalancers.htm
List of all routers in FJcloud-V See. https://docs.nifcloud.com/cp/api/NiftyDescribeRouters.htm
List of all servers in FJcloud-V See. https://docs.nifcloud.com/cp/api/DescribeInstances.htm
All tools have empty input schemas ({}). Per hard scoring rule, schema score MUST be 0 when no schema is present. This prevents LLMs from understanding parameter constraints and makes tools inflexible.
Descriptions are 20 - 80 characters, below the 194-char baseline. They reference external API docs but lack context for LLM selection (WHEN to use this tool vs. similar ones, WHAT it returns, any prerequisites).
No output schema documentation. Return types are Pydantic models (DescribeInstancesResponse, etc.) but LLMs cannot infer field structure from type names alone. Must document what fields are returned and their meaning.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | <=2025-11-25 | v2 |
No pagination, result limits, or filtering parameters. Tools return entire API responses (potentially thousands of items). Large responses blow context windows and degrade LLM reasoning.
No error handling or recovery guidance. If API calls fail, LLMs receive raw exceptions with no actionable next steps. Must categorize errors (retryable vs. fatal) and provide recovery hints.