MCP server for controlling RimWorld game via RIMAPI HTTP API
This server has critical definition quality gaps. Tool names lack clear verb-noun structure (e.g., 'post_camera_change_zoom' vs 'set_camera_zoom'). Descriptions are present but generic and lack actionable context for LLM selection. Parameter descriptions are minimal ('any integer accepted by the API' is not actionable). No input schemas are visible in the provided code, only query parameters are shown. Output schemas are documented in docstrings but not enforced. Tool #6 (get_stream_status) has a description that duplicates tool #4 (post_stream_stop), indicating copy-paste errors. No error handling guidance, no recovery paths, and no validation of inputs.
Gracefully stops the active live video stream of the game's camera view.
Instantly moves the in-game camera to the specified world coordinates on the current map.
Adjusts the in-game camera's zoom level to a specified value, instantly changing the field of view. This allows for precise control over how close or far the camera is on the game map.
Configures the parameters and settings for the live video stream of the game's camera view before starting it.
Starts a live video stream of the game's current camera view. This endpoint initiates a real-time broadcast of the rendered gameplay, capturing exactly what is visible in the player's main viewport.
Gracefully stops the active live video stream of the game's camera view.
No visible input schemas in tool definitions. Tools accept parameters but no JSON Schema with type constraints is enforced. Parameter descriptions are vague ('any integer accepted by the API').
Tool #6 (get_stream_status) description is identical to tool #4 (post_stream_stop): 'Gracefully stops the active live video stream...' This is a copy-paste error and makes the tool's purpose ambiguous.
Parameter descriptions lack actionable constraints. 'any integer accepted by the API' does not tell the LLM what range, format, or validation rules apply. No enums, min/max bounds, or format specifications.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Tool names use 'post_' and 'get_' HTTP verb prefixes instead of action verbs. 'set_camera_zoom' or 'move_camera' would be clearer than 'post_camera_change_zoom'. HTTP method should not leak into the tool name.
No error handling guidance. Tools return raw API responses without categorizing errors as retryable, user-fixable, or fatal. LLM has no recovery path if a call fails.