MCP server for AI control of a jailbroken PS3 via webMAN MOD — 16 tools including PS3MAPI deep hardware access
Server has 16 tools with explicit schemas and descriptions. Naming follows verb_noun convention (list_games, mount_game, press_button). Descriptions are present but vary in quality (10-200 chars). All tools have input schemas with type definitions and enums where appropriate. However, output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance. Missing parameter descriptions for some tools (e.g., ps3mapi_read_memory lacks address format details). No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Composition is sound, each tool has one responsibility. Security concern: no mention of authentication/authorization for PS3 access.
Get the title ID of the currently mounted game.
Get the current CPU and RSX temperatures in Celsius.
List all games on the PS3 for a given system. Returns a JSON list with game name and mount path. Use the "path" field with mount_game.
Mount a game by its internal path (obtained from list_games). The PS3 will load the game and return to the XMB.
Simulate a controller button press on the PS3.
Read PS3 firmware version via PS3MAPI.
List running processes (PID + name) via PS3MAPI.
No output schemas documented. LLMs cannot predict response structure (e.g., list_games returns JSON list, but field names and types are not declared). This forces agents to guess at downstream field names and risks extraction errors.
Destructive tools (shutdown, reboot, ps3mapi_write_memory) lack confirmation/dry-run support and have minimal descriptions. No guidance on recovery if called in error. Agents may irreversibly power off or corrupt memory without safeguards.
Memory access tools (ps3mapi_read_memory, ps3mapi_write_memory) lack parameter validation guidance. Address format ('0x80000000') and data encoding ('DEADBEEF') are mentioned but not enforced via regex patterns or detailed descriptions. LLMs may pass invalid hex strings.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | <=2025-11-25 | v2 |
Read bytes from PS3 memory. Max 4096 bytes.
Vibrate the controller (0=off, 1=light, 2=heavy).
Capture a screenshot from PS3 framebuffer via PS3MAPI. Returns base64 BMP.
Set PS3 console LED color (RGB hex, e.g. #FF0000).
Write bytes to PS3 memory. Max 4096 bytes.
Reboot the PS3.
Show a popup notification on the PS3 screen.
Adjust PS3 fan speed (0-100 percent).
Shut down the PS3.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Agents cannot distinguish safe reads from destructive writes without parsing descriptions. This violates current MCP spec (2026-07-28) which expects tool annotations.
No error handling or recovery guidance. Tools fail silently or return raw HTTP errors. LLMs receive no actionable next steps (e.g., 'PS3 unreachable, check PS3_IP environment variable' or 'Invalid game path, call list_games first').