@battlegrid/mcp-server 1.0.2 → 1.1.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.
package/dist/index.d.ts CHANGED
@@ -2,24 +2,38 @@
2
2
  /**
3
3
  * @battlegrid/mcp-server — stdio proxy to BattleGrid's remote MCP server
4
4
  *
5
- * Reads BATTLEGRID_API_KEY from environment, connects to the remote BattleGrid
6
- * MCP server via Streamable HTTP, and re-exposes all tools, prompts, and
7
- * resources over stdio transport for local MCP clients.
5
+ * Reads BATTLEGRID_API_KEYS (comma-separated) or BATTLEGRID_API_KEY from
6
+ * environment, discovers account identities via GET /mcp/identity, connects
7
+ * to the remote BattleGrid MCP server via Streamable HTTP, and re-exposes
8
+ * all tools, prompts, and resources over stdio transport for local MCP clients.
9
+ *
10
+ * Multi-account support: when multiple keys are configured, an `account`
11
+ * enum parameter is injected into every tool so the AI agent can choose
12
+ * which account to act as. Tool calls are routed with the matching Bearer token.
8
13
  *
9
14
  * Architecture: Matches Stripe's @stripe/mcp pattern — thin authenticated proxy.
10
15
  *
11
16
  * Usage:
12
17
  * BATTLEGRID_API_KEY=bg_live_... npx @battlegrid/mcp-server
18
+ * BATTLEGRID_API_KEYS=bg_live_aaa,bg_live_bbb npx @battlegrid/mcp-server
13
19
  *
14
20
  * Environment Variables:
15
- * BATTLEGRID_API_KEY (required) — Your BattleGrid API key (starts with bg_live_)
21
+ * BATTLEGRID_API_KEYS (optional) — Comma-separated list of API keys
22
+ * BATTLEGRID_API_KEY (optional) — Single API key (fallback if BATTLEGRID_API_KEYS not set)
16
23
  * BATTLEGRID_API_URL (optional) — Override server URL (default: https://mcp.battlegrid.trade)
17
24
  */
18
- export declare const VERSION = "1.0.1";
25
+ export declare const VERSION = "1.1.0";
19
26
  export declare const DEFAULT_URL = "https://mcp.battlegrid.trade";
20
27
  export interface EnvConfig {
21
- apiKey: string;
28
+ apiKeys: string[];
22
29
  apiUrl: string;
23
30
  }
31
+ export interface AccountIdentity {
32
+ apiKey: string;
33
+ userId: string;
34
+ username: string;
35
+ keyLabel: string | null;
36
+ }
24
37
  export declare function validateEnv(env: Record<string, string | undefined>): EnvConfig;
38
+ export declare function discoverIdentities(apiKeys: string[], apiUrl: string): Promise<AccountIdentity[]>;
25
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAeH,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAM1D,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAmB9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAeH,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAM1D,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CA+B9E;AAID,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC,CA2C5B"}
package/dist/index.js CHANGED
@@ -2,17 +2,24 @@
2
2
  /**
3
3
  * @battlegrid/mcp-server — stdio proxy to BattleGrid's remote MCP server
4
4
  *
5
- * Reads BATTLEGRID_API_KEY from environment, connects to the remote BattleGrid
6
- * MCP server via Streamable HTTP, and re-exposes all tools, prompts, and
7
- * resources over stdio transport for local MCP clients.
5
+ * Reads BATTLEGRID_API_KEYS (comma-separated) or BATTLEGRID_API_KEY from
6
+ * environment, discovers account identities via GET /mcp/identity, connects
7
+ * to the remote BattleGrid MCP server via Streamable HTTP, and re-exposes
8
+ * all tools, prompts, and resources over stdio transport for local MCP clients.
9
+ *
10
+ * Multi-account support: when multiple keys are configured, an `account`
11
+ * enum parameter is injected into every tool so the AI agent can choose
12
+ * which account to act as. Tool calls are routed with the matching Bearer token.
8
13
  *
9
14
  * Architecture: Matches Stripe's @stripe/mcp pattern — thin authenticated proxy.
10
15
  *
11
16
  * Usage:
12
17
  * BATTLEGRID_API_KEY=bg_live_... npx @battlegrid/mcp-server
18
+ * BATTLEGRID_API_KEYS=bg_live_aaa,bg_live_bbb npx @battlegrid/mcp-server
13
19
  *
14
20
  * Environment Variables:
15
- * BATTLEGRID_API_KEY (required) — Your BattleGrid API key (starts with bg_live_)
21
+ * BATTLEGRID_API_KEYS (optional) — Comma-separated list of API keys
22
+ * BATTLEGRID_API_KEY (optional) — Single API key (fallback if BATTLEGRID_API_KEYS not set)
16
23
  * BATTLEGRID_API_URL (optional) — Override server URL (default: https://mcp.battlegrid.trade)
17
24
  */
18
25
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
@@ -20,22 +27,70 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
20
27
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
21
28
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
22
29
  import { ListToolsRequestSchema, CallToolRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
23
- export const VERSION = '1.0.1';
30
+ export const VERSION = '1.1.0';
24
31
  export const DEFAULT_URL = 'https://mcp.battlegrid.trade';
25
32
  const MAX_RETRIES = 3;
26
33
  const RETRY_DELAYS_MS = [2000, 4000, 8000];
34
+ // --- Environment validation (exported for testing) ---
27
35
  export function validateEnv(env) {
28
- const apiKey = env.BATTLEGRID_API_KEY;
29
36
  const apiUrl = env.BATTLEGRID_API_URL || DEFAULT_URL;
30
- if (!apiKey) {
31
- throw new Error('BATTLEGRID_API_KEY environment variable is required.\n' +
37
+ // BATTLEGRID_API_KEYS (comma-separated) takes precedence
38
+ const keysRaw = env.BATTLEGRID_API_KEYS;
39
+ let apiKeys;
40
+ if (keysRaw) {
41
+ apiKeys = keysRaw.split(',').map(k => k.trim()).filter(Boolean);
42
+ }
43
+ else {
44
+ const singleKey = env.BATTLEGRID_API_KEY;
45
+ apiKeys = singleKey ? [singleKey] : [];
46
+ }
47
+ if (apiKeys.length === 0) {
48
+ throw new Error('BATTLEGRID_API_KEY or BATTLEGRID_API_KEYS environment variable is required.\n' +
32
49
  'Get your API key at: https://battlegrid.trade → Profile → MCP tab');
33
50
  }
34
- if (!apiKey.startsWith('bg_live_')) {
35
- throw new Error('API key must start with "bg_live_"\n' +
36
- 'Create a new key at: https://battlegrid.trade Profile MCP tab');
51
+ for (const key of apiKeys) {
52
+ if (!key.startsWith('bg_live_')) {
53
+ throw new Error(`API key must start with "bg_live_" (got "${key.slice(0, 12)}...")\n` +
54
+ 'Create a new key at: https://battlegrid.trade → Profile → MCP tab');
55
+ }
56
+ }
57
+ return { apiKeys, apiUrl };
58
+ }
59
+ // --- Identity discovery (exported for testing) ---
60
+ export async function discoverIdentities(apiKeys, apiUrl) {
61
+ // Derive identity base URL from MCP URL (strip /mcp suffix if present)
62
+ const baseUrl = apiUrl.replace(/\/mcp\/?$/, '');
63
+ const results = await Promise.allSettled(apiKeys.map(async (apiKey) => {
64
+ const response = await fetch(`${baseUrl}/mcp/identity`, {
65
+ headers: { Authorization: `Bearer ${apiKey}` },
66
+ });
67
+ if (!response.ok) {
68
+ const text = await response.text().catch(() => '');
69
+ throw new Error(`HTTP ${response.status}: ${text}`);
70
+ }
71
+ const data = await response.json();
72
+ return {
73
+ apiKey,
74
+ userId: data.userId,
75
+ username: data.username ?? data.userId.slice(0, 8),
76
+ keyLabel: data.keyLabel,
77
+ };
78
+ }));
79
+ const identities = [];
80
+ for (let i = 0; i < results.length; i++) {
81
+ const result = results[i];
82
+ if (result.status === 'fulfilled') {
83
+ identities.push(result.value);
84
+ }
85
+ else {
86
+ process.stderr.write(`Warning: identity discovery failed for key #${i + 1}: ${result.reason}\n`);
87
+ }
88
+ }
89
+ if (identities.length === 0) {
90
+ throw new Error('No valid API keys — all identity lookups failed.\n' +
91
+ 'Check your keys at: https://battlegrid.trade → Profile → MCP tab');
37
92
  }
38
- return { apiKey, apiUrl };
93
+ return identities;
39
94
  }
40
95
  // --- Connection with retry ---
41
96
  function isAuthError(error) {
@@ -52,7 +107,6 @@ async function connectWithRetry(client, transport, apiUrl) {
52
107
  return;
53
108
  }
54
109
  catch (error) {
55
- // Auth errors should not be retried — the key is wrong
56
110
  if (isAuthError(error)) {
57
111
  throw new Error('Invalid or revoked API key.\n' +
58
112
  'Create a new key at: https://battlegrid.trade → Profile → MCP tab');
@@ -65,12 +119,26 @@ async function connectWithRetry(client, transport, apiUrl) {
65
119
  const delay = RETRY_DELAYS_MS[attempt] ?? 8000;
66
120
  process.stderr.write(`Connection attempt ${attempt + 1} failed, retrying in ${delay / 1000}s...\n`);
67
121
  await sleep(delay);
68
- // Recreate transport for retry (previous one may be in a broken state)
69
- // Note: we can't reconnect the same transport, so we create a fresh Client+Transport
70
- // on each retry in the main function instead
71
122
  }
72
123
  }
73
124
  }
125
+ function injectAccountParam(tools, accountNames) {
126
+ return tools.map(tool => ({
127
+ ...tool,
128
+ inputSchema: {
129
+ ...tool.inputSchema,
130
+ properties: {
131
+ account: {
132
+ type: 'string',
133
+ enum: accountNames,
134
+ description: `Which BattleGrid account to use for this action. Available: ${accountNames.join(', ')}`,
135
+ },
136
+ ...tool.inputSchema.properties,
137
+ },
138
+ required: ['account', ...(tool.inputSchema.required ?? [])],
139
+ },
140
+ }));
141
+ }
74
142
  // --- Main ---
75
143
  async function main() {
76
144
  let config;
@@ -81,11 +149,29 @@ async function main() {
81
149
  process.stderr.write(`Error: ${error instanceof Error ? error.message : String(error)}\n`);
82
150
  process.exit(1);
83
151
  }
84
- // Connect to remote BattleGrid MCP server with retry
85
- const remoteTransport = new StreamableHTTPClientTransport(new URL(config.apiUrl), { requestInit: { headers: { Authorization: `Bearer ${config.apiKey}` } } });
86
- const remoteClient = new Client({ name: 'battlegrid-proxy', version: VERSION }, { capabilities: {} });
152
+ // Discover identities for all keys
153
+ let identities;
154
+ try {
155
+ identities = await discoverIdentities(config.apiKeys, config.apiUrl);
156
+ }
157
+ catch (error) {
158
+ process.stderr.write(`Error: ${error instanceof Error ? error.message : String(error)}\n`);
159
+ process.exit(1);
160
+ }
161
+ const isMultiAccount = identities.length > 1;
162
+ const accountNames = identities.map(id => id.username);
163
+ // Build lookup: username → apiKey
164
+ const keyByAccount = new Map();
165
+ for (const id of identities) {
166
+ keyByAccount.set(id.username, id.apiKey);
167
+ }
168
+ process.stderr.write(`BattleGrid MCP: ${identities.length} account(s) discovered — ${accountNames.join(', ')}\n`);
169
+ // Connect to remote using the first key (for capability discovery)
170
+ const primaryKey = identities[0].apiKey;
171
+ const primaryTransport = new StreamableHTTPClientTransport(new URL(config.apiUrl), { requestInit: { headers: { Authorization: `Bearer ${primaryKey}` } } });
172
+ const primaryClient = new Client({ name: 'battlegrid-proxy', version: VERSION }, { capabilities: {} });
87
173
  try {
88
- await connectWithRetry(remoteClient, remoteTransport, config.apiUrl);
174
+ await connectWithRetry(primaryClient, primaryTransport, config.apiUrl);
89
175
  }
90
176
  catch (error) {
91
177
  process.stderr.write(`Error: ${error instanceof Error ? error.message : String(error)}\n`);
@@ -93,13 +179,17 @@ async function main() {
93
179
  }
94
180
  // Discover remote capabilities
95
181
  const [toolsResult, promptsResult, resourcesResult] = await Promise.all([
96
- remoteClient.listTools(),
97
- remoteClient.listPrompts(),
98
- remoteClient.listResources(),
182
+ primaryClient.listTools(),
183
+ primaryClient.listPrompts(),
184
+ primaryClient.listResources(),
99
185
  ]);
100
186
  process.stderr.write(`BattleGrid MCP: ${toolsResult.tools.length} tools, ` +
101
187
  `${promptsResult.prompts.length} prompts, ` +
102
188
  `${resourcesResult.resources.length} resources\n`);
189
+ // Augment tools with account parameter if multi-account
190
+ const exposedTools = isMultiAccount
191
+ ? injectAccountParam(toolsResult.tools, accountNames)
192
+ : toolsResult.tools;
103
193
  // Create local stdio server
104
194
  const localServer = new Server({ name: 'battlegrid', version: VERSION }, {
105
195
  capabilities: {
@@ -110,13 +200,43 @@ async function main() {
110
200
  });
111
201
  // --- Proxy: tools ---
112
202
  localServer.setRequestHandler(ListToolsRequestSchema, async () => ({
113
- tools: toolsResult.tools,
203
+ tools: exposedTools,
114
204
  }));
205
+ // Keep a pool of remote clients keyed by API key for routing
206
+ const clientPool = new Map();
207
+ clientPool.set(primaryKey, primaryClient);
208
+ async function getClientForKey(apiKey) {
209
+ const existing = clientPool.get(apiKey);
210
+ if (existing)
211
+ return existing;
212
+ const transport = new StreamableHTTPClientTransport(new URL(config.apiUrl), { requestInit: { headers: { Authorization: `Bearer ${apiKey}` } } });
213
+ const client = new Client({ name: 'battlegrid-proxy', version: VERSION }, { capabilities: {} });
214
+ await connectWithRetry(client, transport, config.apiUrl);
215
+ clientPool.set(apiKey, client);
216
+ return client;
217
+ }
115
218
  localServer.setRequestHandler(CallToolRequestSchema, async (request) => {
116
219
  try {
117
- return await remoteClient.callTool({
220
+ let targetKey = primaryKey;
221
+ const args = { ...request.params.arguments };
222
+ if (isMultiAccount) {
223
+ const selectedAccount = args.account;
224
+ if (!selectedAccount || !keyByAccount.has(selectedAccount)) {
225
+ return {
226
+ content: [{
227
+ type: 'text',
228
+ text: `Error: "account" parameter is required. Choose one of: ${accountNames.join(', ')}`,
229
+ }],
230
+ isError: true,
231
+ };
232
+ }
233
+ targetKey = keyByAccount.get(selectedAccount);
234
+ delete args.account; // Strip before forwarding to remote
235
+ }
236
+ const client = await getClientForKey(targetKey);
237
+ return await client.callTool({
118
238
  name: request.params.name,
119
- arguments: request.params.arguments,
239
+ arguments: args,
120
240
  });
121
241
  }
122
242
  catch (error) {
@@ -132,7 +252,7 @@ async function main() {
132
252
  prompts: promptsResult.prompts,
133
253
  }));
134
254
  localServer.setRequestHandler(GetPromptRequestSchema, async (request) => {
135
- return await remoteClient.getPrompt({
255
+ return await primaryClient.getPrompt({
136
256
  name: request.params.name,
137
257
  arguments: request.params.arguments,
138
258
  });
@@ -142,7 +262,7 @@ async function main() {
142
262
  resources: resourcesResult.resources,
143
263
  }));
144
264
  localServer.setRequestHandler(ReadResourceRequestSchema, async (request) => {
145
- return await remoteClient.readResource({
265
+ return await primaryClient.readResource({
146
266
  uri: request.params.uri,
147
267
  });
148
268
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@battlegrid/mcp-server",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",