foundryvtt-mcp 1.2.0 → 1.4.0

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.
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @fileoverview Token manipulation mutation tool handlers (FR-019)
3
+ *
4
+ * Provides GM-gated token-control tools that operate on tokens placed on
5
+ * scenes: moving a token to new coordinates, and applying/removing a status
6
+ * condition (ActiveEffect) on the token's actor. All are WRITE operations —
7
+ * they require FOUNDRY_WRITE_ENABLED=true and an active Socket.IO connection
8
+ * (mutations use the core `modifyDocument` protocol), and the connected user
9
+ * needs GM/owner permission.
10
+ */
11
+ import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
12
+ import { withToolError } from './utils.js';
13
+ /**
14
+ * Moves a token to x/y coordinates on its scene (FR-019).
15
+ *
16
+ * The token is resolved from the cached worldData; `sceneId` is optional and
17
+ * only scopes the lookup (the parent scene is derived from the located token).
18
+ */
19
+ export async function handleMoveToken(args, foundryClient) {
20
+ const { tokenId, x, y, sceneId } = args;
21
+ if (!tokenId || typeof tokenId !== 'string') {
22
+ throw new McpError(ErrorCode.InvalidParams, 'tokenId is required and must be a string');
23
+ }
24
+ if (typeof x !== 'number' ||
25
+ !Number.isFinite(x) ||
26
+ typeof y !== 'number' ||
27
+ !Number.isFinite(y)) {
28
+ throw new McpError(ErrorCode.InvalidParams, 'x and y are required and must be finite numbers');
29
+ }
30
+ const located = foundryClient.findToken(tokenId, sceneId);
31
+ if (!located) {
32
+ throw new McpError(ErrorCode.InvalidRequest, `Token not found: ${tokenId}${sceneId ? ` on scene ${sceneId}` : ''}`);
33
+ }
34
+ return withToolError('move token', async () => {
35
+ const tokenName = located.token.name ?? tokenId;
36
+ await foundryClient.moveToken(located.scene._id, tokenId, x, y);
37
+ return {
38
+ content: [
39
+ {
40
+ type: 'text',
41
+ text: `🚶 **Token Moved**
42
+ **Token:** ${tokenName} (${tokenId})
43
+ **Scene:** ${located.scene.name} (${located.scene._id})
44
+ **Position:** (${x}, ${y})`,
45
+ },
46
+ ],
47
+ };
48
+ });
49
+ }
50
+ /**
51
+ * Applies or removes a status condition (ActiveEffect) on a token's actor
52
+ * (FR-019).
53
+ *
54
+ * `active` defaults to `true` (apply). Mirrors `Actor#toggleStatusEffect`:
55
+ * the effect is matched by its `statuses` array, so re-applying an already
56
+ * present condition (or removing an absent one) is a no-op. Linked actors
57
+ * resolve to `Actor.<id>`; unlinked tokens target their synthetic actor at
58
+ * `Scene.<sid>.Token.<tid>.Actor.<aid>`.
59
+ */
60
+ export async function handleApplyStatusEffect(args, foundryClient) {
61
+ const { tokenId, statusId, sceneId } = args;
62
+ const active = args.active ?? true;
63
+ if (!tokenId || typeof tokenId !== 'string') {
64
+ throw new McpError(ErrorCode.InvalidParams, 'tokenId is required and must be a string');
65
+ }
66
+ if (!statusId || typeof statusId !== 'string') {
67
+ throw new McpError(ErrorCode.InvalidParams, 'statusId is required and must be a string');
68
+ }
69
+ const located = foundryClient.findToken(tokenId, sceneId);
70
+ if (!located) {
71
+ throw new McpError(ErrorCode.InvalidRequest, `Token not found: ${tokenId}${sceneId ? ` on scene ${sceneId}` : ''}`);
72
+ }
73
+ const token = located.token;
74
+ const actorId = token.actorId;
75
+ if (!actorId) {
76
+ throw new McpError(ErrorCode.InvalidRequest, `Token ${tokenId} has no associated actor; cannot apply status effects.`);
77
+ }
78
+ // Linked tokens share the world actor; unlinked tokens own a synthetic actor
79
+ // (the per-token delta) that must be addressed through the Scene→Token path.
80
+ const linked = token.actorLink === true;
81
+ const parentActorUuid = linked
82
+ ? `Actor.${actorId}`
83
+ : `Scene.${located.scene._id}.Token.${tokenId}.Actor.${actorId}`;
84
+ // Find an existing effect carrying this status (matches toggleStatusEffect).
85
+ const effects = linked
86
+ ? (foundryClient.getRawActor(actorId)?.effects ?? [])
87
+ : (token.delta?.effects ?? []);
88
+ const existing = effects.find((e) => e.statuses?.includes(statusId));
89
+ return withToolError('apply status effect', async () => {
90
+ if (active) {
91
+ if (existing) {
92
+ return statusResult(`Status effect '${statusId}' is already active on ${token.name ?? tokenId}.`, tokenId, located.scene, statusId, true);
93
+ }
94
+ const effect = await foundryClient.createActorStatusEffect(parentActorUuid, statusId);
95
+ return statusResult(`Applied status effect '${statusId}' (effect ${effect._id}).`, tokenId, located.scene, statusId, true);
96
+ }
97
+ if (!existing) {
98
+ return statusResult(`Status effect '${statusId}' is not active on ${token.name ?? tokenId}; nothing to remove.`, tokenId, located.scene, statusId, false);
99
+ }
100
+ await foundryClient.deleteActorEffect(parentActorUuid, existing._id);
101
+ return statusResult(`Removed status effect '${statusId}' (effect ${existing._id}).`, tokenId, located.scene, statusId, false);
102
+ });
103
+ }
104
+ /** Builds the MCP text result for a status-effect mutation. */
105
+ function statusResult(summary, tokenId, scene, statusId, active) {
106
+ return {
107
+ content: [
108
+ {
109
+ type: 'text',
110
+ text: `${active ? '✨' : '🧹'} **Status Effect ${active ? 'Applied' : 'Removed'}**
111
+ **Token:** ${tokenId}
112
+ **Scene:** ${scene.name} (${scene._id})
113
+ **Status:** ${statusId}
114
+ ${summary}`,
115
+ },
116
+ ],
117
+ };
118
+ }
119
+ //# sourceMappingURL=token-mutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-mutations.js","sourceRoot":"","sources":["../../../src/tools/handlers/token-mutations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/tools/router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,WAAW,CAAC;AAsCzD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,UAAU,CAAC,CAgNrB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB;;;;;;GAIrC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/tools/router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,WAAW,CAAC;AAwCzD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,UAAU,CAAC,CA+OrB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB;;;;;;GAIrC"}
@@ -7,7 +7,7 @@ import { handleUpdateActorAttribute } from './handlers/actor-mutations.js';
7
7
  import { handleGetActorDetails, handleSearchActors } from './handlers/actors.js';
8
8
  import { handleGetChatMessages } from './handlers/chat.js';
9
9
  import { handleGetCombatState } from './handlers/combat.js';
10
- import { handleEndCombat, handleNextTurn, handleSetInitiative, } from './handlers/combat-mutations.js';
10
+ import { handleEndCombat, handleNextTurn, handleSetInitiative, handleStartCombat, } from './handlers/combat-mutations.js';
11
11
  import { handleSearchCompendium } from './handlers/compendium.js';
12
12
  import { handleDiagnoseErrors, handleGetHealthStatus, handleGetRecentLogs, handleGetSystemHealth, handleSearchLogs, } from './handlers/diagnostics.js';
13
13
  // Import all tool handlers
@@ -18,6 +18,7 @@ import { handleSearchItems } from './handlers/items.js';
18
18
  import { handleGetJournal, handleSearchJournals } from './handlers/journals.js';
19
19
  import { handleReadResource } from './handlers/resources.js';
20
20
  import { handleGetSceneInfo } from './handlers/scenes.js';
21
+ import { handleApplyStatusEffect, handleMoveToken } from './handlers/token-mutations.js';
21
22
  import { handleGetUsers } from './handlers/users.js';
22
23
  import { handleGetWorldSummary, handleRefreshWorldData, handleSearchWorld, } from './handlers/world.js';
23
24
  import { toolRegistry } from './registry.js';
@@ -58,7 +59,8 @@ export async function routeToolRequest(name, args, foundryClient, diagnosticsCli
58
59
  throw new Error('Missing required parameter: actorId');
59
60
  }
60
61
  return handleGetActorDetails(args, foundryClient);
61
- // Actor mutation tools (#143, require REST API module)
62
+ // Actor mutation tools (#143) — WRITE via the Socket.IO modifyDocument
63
+ // protocol (foundryClient); require FOUNDRY_WRITE_ENABLED=true + a GM user.
62
64
  case 'update_actor_attributes':
63
65
  if (!('actorId' in args) || typeof args.actorId !== 'string') {
64
66
  throw new Error('Missing required parameter: actorId');
@@ -76,7 +78,8 @@ export async function routeToolRequest(name, args, foundryClient, diagnosticsCli
76
78
  throw new Error('Missing required parameter: query');
77
79
  }
78
80
  return handleSearchCompendium(args, foundryClient);
79
- // Item mutation tools (WRITE — require REST API module)
81
+ // Item mutation tools (WRITE) — Socket.IO modifyDocument protocol
82
+ // (foundryClient); require FOUNDRY_WRITE_ENABLED=true + a GM user.
80
83
  case 'create_actor_item':
81
84
  if (!('actorId' in args) || typeof args.actorId !== 'string') {
82
85
  throw new Error('Missing required parameter: actorId');
@@ -123,6 +126,28 @@ export async function routeToolRequest(name, args, foundryClient, diagnosticsCli
123
126
  throw new Error('Missing required parameter: initiative');
124
127
  }
125
128
  return handleSetInitiative(args, foundryClient);
129
+ case 'start_combat':
130
+ return handleStartCombat(args, foundryClient);
131
+ // Token mutation tools (FR-019, WRITE — require FOUNDRY_WRITE_ENABLED)
132
+ case 'move_token':
133
+ if (!('tokenId' in args) || typeof args.tokenId !== 'string') {
134
+ throw new Error('Missing required parameter: tokenId');
135
+ }
136
+ if (!('x' in args) || typeof args.x !== 'number') {
137
+ throw new Error('Missing required parameter: x');
138
+ }
139
+ if (!('y' in args) || typeof args.y !== 'number') {
140
+ throw new Error('Missing required parameter: y');
141
+ }
142
+ return handleMoveToken(args, foundryClient);
143
+ case 'apply_status_effect':
144
+ if (!('tokenId' in args) || typeof args.tokenId !== 'string') {
145
+ throw new Error('Missing required parameter: tokenId');
146
+ }
147
+ if (!('statusId' in args) || typeof args.statusId !== 'string') {
148
+ throw new Error('Missing required parameter: statusId');
149
+ }
150
+ return handleApplyStatusEffect(args, foundryClient);
126
151
  // Chat tools
127
152
  case 'get_chat_messages':
128
153
  return handleGetChatMessages(args, foundryClient);
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/tools/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/tools/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foundryvtt-mcp",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Model Context Protocol server for FoundryVTT integration",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -72,39 +72,43 @@
72
72
  "dependencies": {
73
73
  "@modelcontextprotocol/sdk": "^1.29.0",
74
74
  "ajv": "^8.20.0",
75
- "axios": "^1.16.0",
75
+ "axios": "^1.18.0",
76
76
  "dotenv": "^17.4.2",
77
77
  "socket.io-client": "^4.8.3",
78
78
  "zod": "^4.4.3"
79
79
  },
80
80
  "devDependencies": {
81
- "@biomejs/biome": "^2.4.15",
82
- "@playwright/test": "^1.60.0",
83
- "@types/node": "^25.7.0",
81
+ "@biomejs/biome": "^2.5.0",
82
+ "@playwright/test": "^1.61.0",
83
+ "@types/node": "^25.9.4",
84
84
  "husky": "^9.1.7",
85
- "lint-staged": "^17.0.4",
85
+ "lint-staged": "^17.0.7",
86
86
  "rimraf": "^6.1.3",
87
- "tsx": "^4.21.0",
87
+ "tsx": "^4.22.4",
88
88
  "typedoc": "^0.28.19",
89
89
  "typescript": "^6.0.3",
90
- "vitest": "^4.1.6"
90
+ "vitest": "^4.1.9"
91
91
  },
92
92
  "engines": {
93
93
  "node": ">=18.0.0"
94
94
  },
95
95
  "overrides": {
96
96
  "@hono/node-server": "^1.19.14",
97
- "hono": "^4.12.18",
97
+ "hono": "^4.12.26",
98
98
  "express-rate-limit": "^8.5.1",
99
99
  "ip-address": "^10.2.0",
100
100
  "path-to-regexp": "^8.4.2",
101
101
  "fast-uri": "^3.1.2",
102
102
  "socket.io-parser": "^4.2.6",
103
- "vite": "^7.3.3",
103
+ "vite": "^7.3.5",
104
104
  "rollup": "^4.60.3",
105
105
  "postcss": "^8.5.14",
106
106
  "picomatch": "^4.0.4",
107
- "brace-expansion": "^5.0.6"
107
+ "brace-expansion": "^5.0.6",
108
+ "form-data": "^4.0.6",
109
+ "ws": "^8.21.0",
110
+ "markdown-it": "^14.2.0",
111
+ "qs": "^6.15.2"
108
112
  },
109
113
  "lint-staged": {
110
114
  "src/**/*.{ts,tsx,js,jsx}": [