{"server":{"name":"platphorm-quake","version":"1.0.0","displayName":"PlatPhorm Arena MCP Server","description":"JSON-RPC MCP surface for Quake / PlatPhorm Arena. Tools expose real active sessions, protected server registration, match records, leaderboards, bots, practice, events, and platform compliance state."},"protocol":"mcp","protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":false},"resources":{"subscribe":false,"listChanged":false},"prompts":{"listChanged":false}},"tools":[{"name":"list_servers","description":"List real active Quake browser sessions and protected registered servers. Returns empty/degraded state when no live rooms exist.","inputSchema":{"type":"object","properties":{"mode":{"type":"string","enum":["ffa","tdm","duel","ctf","br","brctf","bot","practice","all"]},"region":{"type":"string"},"page":{"type":"integer","default":1},"limit":{"type":"integer","default":20,"maximum":100}}}},{"name":"get_server","description":"Get one server or session by id with real roster when available.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}},{"name":"register_server","description":"Protected server registration. Requires PLATPHORM_API_KEY via MCP request headers in production clients.","inputSchema":{"type":"object","required":["name","map","mode","maxPlayers","region"],"properties":{"name":{"type":"string"},"map":{"type":"string"},"mode":{"type":"string","enum":["ffa","tdm","duel","ctf","br","brctf","bot","practice"]},"maxPlayers":{"type":"integer"},"region":{"type":"string"},"endpoint":{"type":"string"},"password":{"type":"boolean"}}}},{"name":"update_server","description":"Protected server status or heartbeat update.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"players":{"type":"integer"},"maxPlayers":{"type":"integer"},"pingMs":{"type":"integer"},"status":{"type":"string"},"map":{"type":"string"},"mode":{"type":"string"}}}},{"name":"deregister_server","description":"Protected server deregistration.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}},{"name":"list_matches","description":"List protected recorded match history. Does not synthesize fake matches.","inputSchema":{"type":"object","properties":{"page":{"type":"integer","default":1},"limit":{"type":"integer","default":20,"maximum":100}}}},{"name":"list_active_matches","description":"List current human-backed multiplayer matches with host, arena, match rules, elapsed time, bot configuration, kills, deaths, and live leaderboard.","inputSchema":{"type":"object","properties":{}}},{"name":"get_active_match","description":"Get one current multiplayer match and its public-safe live roster and rules.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}},{"name":"get_match","description":"Get one match record by id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}},{"name":"create_match","description":"Create a protected match draft with a browser play URL.","inputSchema":{"type":"object","properties":{"map":{"type":"string"},"mode":{"type":"string"},"serverId":{"type":"string"}}}},{"name":"join_match","description":"Return the browser join URL for a match.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"playerName":{"type":"string"}}}},{"name":"record_match","description":"Protected match result recording. Results are official only when durable persistence is configured.","inputSchema":{"type":"object","required":["map","players"],"properties":{"id":{"type":"string"},"map":{"type":"string"},"mode":{"type":"string"},"players":{"type":"array"},"winner":{"type":"string"},"duration":{"type":"integer"}}}},{"name":"get_leaderboard","description":"Get leaderboard entries derived from real recorded matches.","inputSchema":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"sort":{"type":"string"},"order":{"type":"string"}}}},{"name":"get_global_stats","description":"Get global Quake stats derived from active sessions and recorded matches.","inputSchema":{"type":"object","properties":{}}},{"name":"list_maps","description":"List playable and honestly degraded Quake map catalog entries.","inputSchema":{"type":"object","properties":{}}},{"name":"get_map","description":"Get one map catalog entry, including playable/degraded state.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}},{"name":"list_modes","description":"List Quake modes with playable/local/degraded truth labels.","inputSchema":{"type":"object","properties":{}}},{"name":"list_weapons","description":"List shipped weapon behavior, ammo, damage, and telemetry metadata.","inputSchema":{"type":"object","properties":{}}},{"name":"get_game_manifest","description":"Return the public Quake game manifest and exact capability counts.","inputSchema":{"type":"object","properties":{}}},{"name":"get_performance_status","description":"Return public performance capability state and client-measured FPS policy.","inputSchema":{"type":"object","properties":{}}},{"name":"get_lan_status","description":"Return LAN launcher and WebRTC DataChannel capability state without claiming authoritative LAN matchmaking.","inputSchema":{"type":"object","properties":{}}},{"name":"validate_game_routes","description":"Return the public route inventory used for sitemap/dead-link validation.","inputSchema":{"type":"object","properties":{}}},{"name":"validate_playable_arena","description":"Report playable maps, local bot support, restoration state, and honest mode capability truth.","inputSchema":{"type":"object","properties":{}}},{"name":"get_health","description":"Return the public Quake health summary payload.","inputSchema":{"type":"object","properties":{}}},{"name":"get_info","description":"Return public Quake service identity, auth policy, and discovery links.","inputSchema":{"type":"object","properties":{}}},{"name":"list_bots","description":"List local AI bot profiles available for browser practice.","inputSchema":{"type":"object","properties":{}}},{"name":"start_bot_practice","description":"Start a local bot practice session and return the play URL.","inputSchema":{"type":"object","properties":{"botCount":{"type":"integer"},"map":{"type":"string"},"playerName":{"type":"string"}}}},{"name":"record_practice_result","description":"Record local-only practice result state.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"frags":{"type":"integer"},"deaths":{"type":"integer"},"notes":{"type":"string"}}}},{"name":"list_game_events","description":"List public-safe Quake event outbox entries.","inputSchema":{"type":"object","properties":{"type":{"type":"string"},"limit":{"type":"integer"}}}},{"name":"receive_game_webhook","description":"Receive a game webhook event into protected event state.","inputSchema":{"type":"object","required":["event"],"properties":{"event":{"type":"string"},"data":{"type":"object"}}}},{"name":"get_route_compliance","description":"Return Quake route compliance and degraded capability summary.","inputSchema":{"type":"object","properties":{}}},{"name":"get_discovery_compliance","description":"Return discovery file and sitemap compliance state.","inputSchema":{"type":"object","properties":{}}},{"name":"create_docs_report","description":"Return a docs report payload for docs.platphormnews.com. External publishing is degraded unless invoked by a protected platform job.","inputSchema":{"type":"object","properties":{}}},{"name":"create_sheet_report","description":"Return a Sheets-ready structured report payload. External sheet creation is degraded unless invoked by a protected platform job.","inputSchema":{"type":"object","properties":{}}},{"name":"create_deck_summary","description":"Return a Decks-ready executive summary payload. External deck creation is degraded unless invoked by a protected platform job.","inputSchema":{"type":"object","properties":{}}}],"resources":[{"uri":"quake://servers","name":"servers","mimeType":"application/json"},{"uri":"quake://server/{id}","name":"server/{id}","mimeType":"application/json"},{"uri":"quake://matches","name":"matches","mimeType":"application/json"},{"uri":"quake://active-matches","name":"active-matches","mimeType":"application/json"},{"uri":"quake://match/{id}","name":"match/{id}","mimeType":"application/json"},{"uri":"quake://leaderboard","name":"leaderboard","mimeType":"application/json"},{"uri":"quake://stats","name":"stats","mimeType":"application/json"},{"uri":"quake://maps","name":"maps","mimeType":"application/json"},{"uri":"quake://map/{id}","name":"map/{id}","mimeType":"application/json"},{"uri":"quake://modes","name":"modes","mimeType":"application/json"},{"uri":"quake://weapons","name":"weapons","mimeType":"application/json"},{"uri":"quake://game-manifest","name":"game-manifest","mimeType":"application/json"},{"uri":"quake://performance","name":"performance","mimeType":"application/json"},{"uri":"quake://lan-status","name":"lan-status","mimeType":"application/json"},{"uri":"quake://faq","name":"faq","mimeType":"application/json"},{"uri":"quake://bots","name":"bots","mimeType":"application/json"},{"uri":"quake://events","name":"events","mimeType":"application/json"},{"uri":"quake://settings","name":"settings","mimeType":"application/json"},{"uri":"quake://openapi","name":"openapi","mimeType":"application/json"},{"uri":"quake://llms","name":"llms","mimeType":"application/json"},{"uri":"quake://trust-policy","name":"trust-policy","mimeType":"application/json"}],"prompts":[{"name":"recommend_quake_server","description":"Quake prompt: recommend quake server"},{"name":"explain_quake_mode","description":"Quake prompt: explain quake mode"},{"name":"explain_quake_weapon","description":"Quake prompt: explain quake weapon"},{"name":"summarize_match","description":"Quake prompt: summarize match"},{"name":"generate_bot_tuning_notes","description":"Quake prompt: generate bot tuning notes"},{"name":"create_game_testing_plan","description":"Quake prompt: create game testing plan"},{"name":"create_quake_report","description":"Quake prompt: create quake report"},{"name":"human_machine_quake_handoff","description":"Quake prompt: human machine quake handoff"}],"links":{"docs":"https://quake.platphormnews.com/api/docs","llms":"https://quake.platphormnews.com/llms.txt","discovery":"https://quake.platphormnews.com/.well-known/mcp.json","platform":"https://mcp.platphormnews.com","games":"https://games.platphormnews.com"}}