@gripforgeai/mcp 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gamekit-tools.js +8 -0
- package/package.json +1 -1
package/dist/gamekit-tools.js
CHANGED
|
@@ -15,6 +15,7 @@ export const GAMEKIT_TOOL_NAMES = [
|
|
|
15
15
|
'gripforge_game_engine',
|
|
16
16
|
'gripforge_game_content',
|
|
17
17
|
'gripforge_game_play_url',
|
|
18
|
+
'gripforge_game_test',
|
|
18
19
|
'gripforge_game_web_export',
|
|
19
20
|
'gripforge_moba_roster',
|
|
20
21
|
'gripforge_ability_vfx',
|
|
@@ -355,6 +356,13 @@ export function registerGameKitTools(register, options, schema = z) {
|
|
|
355
356
|
const data = { url: playUrl, absolute };
|
|
356
357
|
return { structuredContent: data, content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
357
358
|
});
|
|
359
|
+
tool('gripforge_game_test', 'Playtest a Game Kit project', 'Play the project headless and report what works and what is broken. Run it after building or changing a game, before telling the user it is done. An automatic player spawns, walks, follows the mission waypoints, uses what offers a prompt, picks things up and attacks enemies. Probes check each capability the game provides (character control, combat, XP and levels, inventory, interactions, missions, needs, gathering, crafting, building, machines, world counters). Detectors flag a stuck player, unreachable goals, kit exceptions, NaN positions, a player under the ground, enemies that never reach the player, and step time. Returns { summary, text, report, next }: text has one line per result, ✓ pass, ⚠ warning, ✕ failure, · not checked, each with its time, position, entity or kit; "provoked" means the tester set the condition up through the kit service. Fix the ✕ lines first, then run it again. report.notCovered lists the capabilities no probe looks at. report.replay replays the same inputs; pass it back as replay to check a fix against the same run. Deterministic: same project, seed and budget, same report. Runs in the compute service, about 5–20 s. 0 credits.', {
|
|
360
|
+
project_id: projectId,
|
|
361
|
+
budget_seconds: schema.number().int().min(5).max(300).optional().describe('Game time to play, in seconds (default 120).'),
|
|
362
|
+
seed: schema.number().int().optional().describe('Seed of the run (default 1). The same seed gives the same report.'),
|
|
363
|
+
replay: schema.record(schema.string(), schema.unknown()).optional().describe('report.replay of an earlier run: plays the same inputs again (seed and budget come from it).'),
|
|
364
|
+
lang: schema.enum(['en', 'fr']).optional().describe('Language of text (default en).'),
|
|
365
|
+
}, { readOnly: true }, (args, extra) => api(`gamekit-projects/${enc(args.project_id)}/playtest`, body(args), 'POST', extra?.signal));
|
|
358
366
|
tool('gripforge_moba_roster', 'Set the champions of a MOBA project', 'Turn champions into the playable roster of a moba project (preset "moba"). Pass the Library ids of 1 to 10 champions that carry an ability pack (the items made by gripforge_abilities_generate: rigged model + basic_attack and ability_q…r clips). Writes the moba_heroes and abilities collections (ids <hero>__ability_q), binds each champion to moba_hero_<n> and the player\'s champion (player, else the first) to player_character. Bots play the other champions. Returns the heroes with their attack and Q/W/E/R. Then gripforge_game_play_url to play. 0 credits.', {
|
|
359
367
|
project_id: projectId,
|
|
360
368
|
heroes: schema.array(schema.string()).min(1).max(10).describe('Library ids (lib_…) of champions with an ability pack, in roster order.'),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gripforgeai/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"description": "The tools your AI needs to make your games. Turn prompts into production-ready game assets — animated characters with their weapons attached, seamless textures, terrain, VFX, HUDs — and playable game kits Unity, Godot, Unreal or Three.js can load.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|