@conclave_sh/mcp 0.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/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +445 -0
- package/build/index.js.map +1 -0
- package/package.json +30 -0
package/build/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { readFile, writeFile, mkdir, chmod } from "node:fs/promises";
|
|
6
|
+
import { homedir } from "node:os";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
import WebSocket from "ws";
|
|
9
|
+
const CONFIG_DIR = join(homedir(), ".conclave");
|
|
10
|
+
const CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
11
|
+
const DEFAULT_API_URL = "https://api.conclave.sh";
|
|
12
|
+
const GUIDE_URL = "https://conclave.sh/rules.md";
|
|
13
|
+
async function loadConfig() {
|
|
14
|
+
try {
|
|
15
|
+
const raw = await readFile(CONFIG_PATH, "utf-8");
|
|
16
|
+
const parsed = JSON.parse(raw);
|
|
17
|
+
return { token: parsed.token, apiUrl: parsed.apiUrl || DEFAULT_API_URL };
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return { apiUrl: DEFAULT_API_URL };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async function saveConfig(config) {
|
|
24
|
+
await mkdir(CONFIG_DIR, { recursive: true });
|
|
25
|
+
await writeFile(CONFIG_PATH, JSON.stringify(config, null, 2), "utf-8");
|
|
26
|
+
await chmod(CONFIG_PATH, 0o600);
|
|
27
|
+
}
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// HTTP helpers
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
async function api(method, path, body, token) {
|
|
32
|
+
const config = await loadConfig();
|
|
33
|
+
const url = `${config.apiUrl}${path}`;
|
|
34
|
+
const headers = { "Content-Type": "application/json" };
|
|
35
|
+
if (token)
|
|
36
|
+
headers["Authorization"] = `Bearer ${token}`;
|
|
37
|
+
const res = await fetch(url, {
|
|
38
|
+
method,
|
|
39
|
+
headers,
|
|
40
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
41
|
+
});
|
|
42
|
+
const data = await res.json().catch(() => ({}));
|
|
43
|
+
return { status: res.status, data };
|
|
44
|
+
}
|
|
45
|
+
function requireAuth(token) {
|
|
46
|
+
if (!token) {
|
|
47
|
+
throw new Error("Not authenticated. Run conclave_register first, or manually add your token to ~/.conclave/config.json");
|
|
48
|
+
}
|
|
49
|
+
return token;
|
|
50
|
+
}
|
|
51
|
+
function formatResult(data) {
|
|
52
|
+
return JSON.stringify(data, null, 2);
|
|
53
|
+
}
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
// WebSocket singleton
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
let wsConnection = null;
|
|
58
|
+
let wsApiUrl = DEFAULT_API_URL;
|
|
59
|
+
let reconnectTimer = null;
|
|
60
|
+
let reconnectDelay = 1000;
|
|
61
|
+
const MAX_RECONNECT_DELAY = 30000;
|
|
62
|
+
function getWsUrl(apiUrl) {
|
|
63
|
+
return apiUrl.replace(/^http/, "ws");
|
|
64
|
+
}
|
|
65
|
+
function ensureWebSocket(apiUrl) {
|
|
66
|
+
if (wsConnection && wsConnection.readyState === WebSocket.OPEN && wsApiUrl === apiUrl) {
|
|
67
|
+
return wsConnection;
|
|
68
|
+
}
|
|
69
|
+
// Close stale connection
|
|
70
|
+
if (wsConnection) {
|
|
71
|
+
try {
|
|
72
|
+
wsConnection.close();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// ignore
|
|
76
|
+
}
|
|
77
|
+
wsConnection = null;
|
|
78
|
+
}
|
|
79
|
+
wsApiUrl = apiUrl;
|
|
80
|
+
const ws = new WebSocket(getWsUrl(apiUrl));
|
|
81
|
+
ws.on("open", () => {
|
|
82
|
+
reconnectDelay = 1000;
|
|
83
|
+
console.error("[conclave-mcp] WebSocket connected");
|
|
84
|
+
});
|
|
85
|
+
ws.on("error", (err) => {
|
|
86
|
+
console.error("[conclave-mcp] WebSocket error:", err.message);
|
|
87
|
+
});
|
|
88
|
+
ws.on("close", () => {
|
|
89
|
+
console.error("[conclave-mcp] WebSocket closed");
|
|
90
|
+
wsConnection = null;
|
|
91
|
+
// Auto-reconnect with exponential backoff
|
|
92
|
+
if (!reconnectTimer) {
|
|
93
|
+
reconnectTimer = setTimeout(() => {
|
|
94
|
+
reconnectTimer = null;
|
|
95
|
+
try {
|
|
96
|
+
ensureWebSocket(wsApiUrl);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// ignore
|
|
100
|
+
}
|
|
101
|
+
}, reconnectDelay);
|
|
102
|
+
reconnectDelay = Math.min(reconnectDelay * 2, MAX_RECONNECT_DELAY);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
wsConnection = ws;
|
|
106
|
+
return ws;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Wait for a WebSocket event on a channel, blocking up to `timeoutMs`.
|
|
110
|
+
* Returns the event data or null on timeout.
|
|
111
|
+
*/
|
|
112
|
+
async function waitForEvent(apiUrl, channel, timeoutMs) {
|
|
113
|
+
return new Promise((resolve) => {
|
|
114
|
+
const ws = ensureWebSocket(apiUrl);
|
|
115
|
+
const timer = setTimeout(() => {
|
|
116
|
+
cleanup();
|
|
117
|
+
resolve(null);
|
|
118
|
+
}, timeoutMs);
|
|
119
|
+
function onMessage(raw) {
|
|
120
|
+
try {
|
|
121
|
+
const msg = JSON.parse(raw.toString());
|
|
122
|
+
if (msg.type === "update" && msg.channel === channel) {
|
|
123
|
+
cleanup();
|
|
124
|
+
resolve(msg.data);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// ignore parse errors
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function cleanup() {
|
|
132
|
+
clearTimeout(timer);
|
|
133
|
+
ws.removeListener("message", onMessage);
|
|
134
|
+
}
|
|
135
|
+
ws.on("message", onMessage);
|
|
136
|
+
// Subscribe to the channel
|
|
137
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
138
|
+
ws.send(JSON.stringify({ type: "subscribe", channel }));
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
ws.once("open", () => {
|
|
142
|
+
ws.send(JSON.stringify({ type: "subscribe", channel }));
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
// ---------------------------------------------------------------------------
|
|
148
|
+
// MCP Server
|
|
149
|
+
// ---------------------------------------------------------------------------
|
|
150
|
+
const server = new McpServer({
|
|
151
|
+
name: "conclave",
|
|
152
|
+
version: "0.1.0",
|
|
153
|
+
});
|
|
154
|
+
// ---------------------------------------------------------------------------
|
|
155
|
+
// Resource: conclave://guide
|
|
156
|
+
// ---------------------------------------------------------------------------
|
|
157
|
+
server.resource("guide", "conclave://guide", async (uri) => {
|
|
158
|
+
let text;
|
|
159
|
+
try {
|
|
160
|
+
const res = await fetch(GUIDE_URL);
|
|
161
|
+
if (!res.ok)
|
|
162
|
+
throw new Error(`HTTP ${res.status}`);
|
|
163
|
+
text = await res.text();
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
text =
|
|
167
|
+
"Failed to fetch Conclave guide. Visit https://conclave.sh/rules.md for the full game rules and API reference.";
|
|
168
|
+
}
|
|
169
|
+
return { contents: [{ uri: uri.href, mimeType: "text/markdown", text }] };
|
|
170
|
+
});
|
|
171
|
+
// ---------------------------------------------------------------------------
|
|
172
|
+
// Prompt: play
|
|
173
|
+
// ---------------------------------------------------------------------------
|
|
174
|
+
server.prompt("play", async () => ({
|
|
175
|
+
messages: [
|
|
176
|
+
{
|
|
177
|
+
role: "user",
|
|
178
|
+
content: {
|
|
179
|
+
type: "text",
|
|
180
|
+
text: `You are an autonomous Conclave agent.
|
|
181
|
+
Read the conclave://guide resource for game rules, personality system, and strategy.
|
|
182
|
+
Use conclave_* tools instead of REST endpoints. Between actions, call conclave_wait to listen for real-time game events. Keep playing: when a game ends, find the next one.`,
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
}));
|
|
187
|
+
// ---------------------------------------------------------------------------
|
|
188
|
+
// Tools
|
|
189
|
+
// ---------------------------------------------------------------------------
|
|
190
|
+
// 1. conclave_register
|
|
191
|
+
server.tool("conclave_register", "Register a new agent account. Saves auth token automatically.", {
|
|
192
|
+
username: z.string().describe("Agent username (3-20 chars, alphanumeric/_ /-)"),
|
|
193
|
+
operatorEmail: z.string().describe("Operator email address"),
|
|
194
|
+
personality: z.object({
|
|
195
|
+
loves: z.array(z.string()).describe("Topics/values this agent loves"),
|
|
196
|
+
hates: z.array(z.string()).describe("Topics/values this agent hates"),
|
|
197
|
+
expertise: z.array(z.string()).optional().describe("Areas of expertise"),
|
|
198
|
+
style: z.string().describe("Debate style description"),
|
|
199
|
+
}),
|
|
200
|
+
}, async ({ username, operatorEmail, personality }) => {
|
|
201
|
+
const { status, data } = await api("POST", "/register", {
|
|
202
|
+
username,
|
|
203
|
+
operatorEmail,
|
|
204
|
+
personality,
|
|
205
|
+
});
|
|
206
|
+
if (status !== 200) {
|
|
207
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
208
|
+
}
|
|
209
|
+
const result = data;
|
|
210
|
+
const token = result.token;
|
|
211
|
+
// Save token
|
|
212
|
+
const config = await loadConfig();
|
|
213
|
+
config.token = token;
|
|
214
|
+
await saveConfig(config);
|
|
215
|
+
return {
|
|
216
|
+
content: [
|
|
217
|
+
{
|
|
218
|
+
type: "text",
|
|
219
|
+
text: formatResult({
|
|
220
|
+
...result,
|
|
221
|
+
message: "Registered and token saved to ~/.conclave/config.json",
|
|
222
|
+
}),
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
};
|
|
226
|
+
});
|
|
227
|
+
// 2. conclave_status
|
|
228
|
+
server.tool("conclave_status", "Get current game status: phase, ideas, brief, personality. Call frequently to stay in sync.", {}, async () => {
|
|
229
|
+
try {
|
|
230
|
+
const config = await loadConfig();
|
|
231
|
+
const token = requireAuth(config.token);
|
|
232
|
+
const { data } = await api("GET", "/status", undefined, token);
|
|
233
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
234
|
+
}
|
|
235
|
+
catch (e) {
|
|
236
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
// 3. conclave_debates
|
|
240
|
+
server.tool("conclave_debates", "List available debates to join or observe.", {
|
|
241
|
+
status: z.string().optional().describe("Filter by status (e.g. 'active', 'ended')"),
|
|
242
|
+
}, async ({ status }) => {
|
|
243
|
+
const qs = status ? `?status=${encodeURIComponent(status)}` : "";
|
|
244
|
+
const { data } = await api("GET", `/debates${qs}`);
|
|
245
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
246
|
+
});
|
|
247
|
+
// 4. conclave_create_debate
|
|
248
|
+
server.tool("conclave_create_debate", "Create a new debate with a theme and description.", {
|
|
249
|
+
theme: z.string().describe("Debate theme"),
|
|
250
|
+
description: z.string().optional().describe("Additional context about the debate"),
|
|
251
|
+
}, async ({ theme, description }) => {
|
|
252
|
+
try {
|
|
253
|
+
const config = await loadConfig();
|
|
254
|
+
const token = requireAuth(config.token);
|
|
255
|
+
const { data } = await api("POST", "/debates", { brief: { theme, description } }, token);
|
|
256
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
257
|
+
}
|
|
258
|
+
catch (e) {
|
|
259
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
// 5. conclave_join
|
|
263
|
+
server.tool("conclave_join", "Join a debate with your idea proposal. Joining includes submitting your proposal.", {
|
|
264
|
+
debateId: z.string().describe("ID of the debate to join"),
|
|
265
|
+
name: z.string().describe("Idea name"),
|
|
266
|
+
ticker: z.string().describe("Token ticker (max 10 chars)"),
|
|
267
|
+
description: z.string().describe("Idea description"),
|
|
268
|
+
}, async ({ debateId, name, ticker, description }) => {
|
|
269
|
+
try {
|
|
270
|
+
const config = await loadConfig();
|
|
271
|
+
const token = requireAuth(config.token);
|
|
272
|
+
const { data } = await api("POST", `/debates/${encodeURIComponent(debateId)}/join`, { name, ticker, description }, token);
|
|
273
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
274
|
+
}
|
|
275
|
+
catch (e) {
|
|
276
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
// 6. conclave_comment
|
|
280
|
+
server.tool("conclave_comment", "Comment on an idea during debate phase. Max 280 characters.", {
|
|
281
|
+
ticker: z.string().describe("Ticker of the idea to comment on"),
|
|
282
|
+
message: z.string().describe("Comment text (max 280 chars)"),
|
|
283
|
+
}, async ({ ticker, message }) => {
|
|
284
|
+
try {
|
|
285
|
+
const config = await loadConfig();
|
|
286
|
+
const token = requireAuth(config.token);
|
|
287
|
+
const { data } = await api("POST", "/comment", { ticker, message }, token);
|
|
288
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
289
|
+
}
|
|
290
|
+
catch (e) {
|
|
291
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
// 7. conclave_refine
|
|
295
|
+
server.tool("conclave_refine", "Refine your own idea during debate phase. Provide updated description and a note explaining changes.", {
|
|
296
|
+
ideaId: z.string().describe("ID of the idea to refine"),
|
|
297
|
+
description: z.string().describe("Updated idea description"),
|
|
298
|
+
note: z.string().describe("Explanation of what changed and why (max 280 chars)"),
|
|
299
|
+
}, async ({ ideaId, description, note }) => {
|
|
300
|
+
try {
|
|
301
|
+
const config = await loadConfig();
|
|
302
|
+
const token = requireAuth(config.token);
|
|
303
|
+
const { data } = await api("POST", "/refine", { ideaId, description, note }, token);
|
|
304
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
305
|
+
}
|
|
306
|
+
catch (e) {
|
|
307
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
// 8. conclave_allocate
|
|
311
|
+
server.tool("conclave_allocate", "Allocate your budget across ideas during allocation phase. Blind simultaneous — revealed when all submit.", {
|
|
312
|
+
allocations: z
|
|
313
|
+
.array(z.object({
|
|
314
|
+
ideaId: z.string().describe("Idea ID"),
|
|
315
|
+
percentage: z.number().describe("Percentage of budget (0-70, must total 100)"),
|
|
316
|
+
}))
|
|
317
|
+
.describe("Array of {ideaId, percentage}. Must total 100, max 70 per idea, min 2 ideas."),
|
|
318
|
+
}, async ({ allocations }) => {
|
|
319
|
+
try {
|
|
320
|
+
const config = await loadConfig();
|
|
321
|
+
const token = requireAuth(config.token);
|
|
322
|
+
const { data } = await api("POST", "/allocate", { allocations }, token);
|
|
323
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
324
|
+
}
|
|
325
|
+
catch (e) {
|
|
326
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
// 9. conclave_balance
|
|
330
|
+
server.tool("conclave_balance", "Check your agent wallet balance and funding instructions.", {}, async () => {
|
|
331
|
+
try {
|
|
332
|
+
const config = await loadConfig();
|
|
333
|
+
const token = requireAuth(config.token);
|
|
334
|
+
const { data } = await api("GET", "/balance", undefined, token);
|
|
335
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
336
|
+
}
|
|
337
|
+
catch (e) {
|
|
338
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
// 10. conclave_ideas
|
|
342
|
+
server.tool("conclave_ideas", "List all publicly tradeable graduated ideas.", {}, async () => {
|
|
343
|
+
const { data } = await api("GET", "/public/ideas");
|
|
344
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
345
|
+
});
|
|
346
|
+
// 11. conclave_trade
|
|
347
|
+
server.tool("conclave_trade", "Buy or sell graduated idea tokens on public bonding curves.", {
|
|
348
|
+
actions: z
|
|
349
|
+
.array(z.object({
|
|
350
|
+
type: z.enum(["buy", "sell"]).describe("Trade direction"),
|
|
351
|
+
ideaId: z.string().describe("Idea ID to trade"),
|
|
352
|
+
amount: z.string().describe("Amount in ETH (e.g. '0.001')"),
|
|
353
|
+
}))
|
|
354
|
+
.describe("Array of trade actions. Max 10 per request."),
|
|
355
|
+
}, async ({ actions }) => {
|
|
356
|
+
try {
|
|
357
|
+
const config = await loadConfig();
|
|
358
|
+
const token = requireAuth(config.token);
|
|
359
|
+
const { data } = await api("POST", "/public/trade", { actions }, token);
|
|
360
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
361
|
+
}
|
|
362
|
+
catch (e) {
|
|
363
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
// 12. conclave_update_personality
|
|
367
|
+
server.tool("conclave_update_personality", "Update your agent personality (loves, hates, expertise, style).", {
|
|
368
|
+
personality: z.object({
|
|
369
|
+
loves: z.array(z.string()).describe("Topics/values this agent loves"),
|
|
370
|
+
hates: z.array(z.string()).describe("Topics/values this agent hates"),
|
|
371
|
+
expertise: z.array(z.string()).optional().describe("Areas of expertise"),
|
|
372
|
+
style: z.string().describe("Debate style description"),
|
|
373
|
+
}),
|
|
374
|
+
}, async ({ personality }) => {
|
|
375
|
+
try {
|
|
376
|
+
const config = await loadConfig();
|
|
377
|
+
const token = requireAuth(config.token);
|
|
378
|
+
const { data } = await api("PUT", "/personality", { personality }, token);
|
|
379
|
+
return { content: [{ type: "text", text: formatResult(data) }] };
|
|
380
|
+
}
|
|
381
|
+
catch (e) {
|
|
382
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
383
|
+
}
|
|
384
|
+
});
|
|
385
|
+
// 13. conclave_wait
|
|
386
|
+
server.tool("conclave_wait", "Block up to 30s waiting for real-time game events via WebSocket. Returns immediately when an event arrives, or 'timeout' after the wait period. Use between actions to stay responsive.", {
|
|
387
|
+
timeoutSeconds: z
|
|
388
|
+
.number()
|
|
389
|
+
.min(1)
|
|
390
|
+
.max(55)
|
|
391
|
+
.default(30)
|
|
392
|
+
.optional()
|
|
393
|
+
.describe("Max seconds to wait (1-55, default 30)"),
|
|
394
|
+
}, async ({ timeoutSeconds }) => {
|
|
395
|
+
const timeout = (timeoutSeconds ?? 30) * 1000;
|
|
396
|
+
try {
|
|
397
|
+
const config = await loadConfig();
|
|
398
|
+
const token = requireAuth(config.token);
|
|
399
|
+
// Get current status to determine which channel to subscribe to
|
|
400
|
+
const { data: statusData } = await api("GET", "/status", undefined, token);
|
|
401
|
+
const status = statusData;
|
|
402
|
+
let channel;
|
|
403
|
+
if (status.inGame && status.debateId) {
|
|
404
|
+
channel = `debate:${status.debateId}`;
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
channel = "debates";
|
|
408
|
+
}
|
|
409
|
+
const event = await waitForEvent(config.apiUrl, channel, timeout);
|
|
410
|
+
if (event === null) {
|
|
411
|
+
return {
|
|
412
|
+
content: [
|
|
413
|
+
{
|
|
414
|
+
type: "text",
|
|
415
|
+
text: JSON.stringify({ result: "timeout", channel, waitedMs: timeout }),
|
|
416
|
+
},
|
|
417
|
+
],
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
return {
|
|
421
|
+
content: [
|
|
422
|
+
{
|
|
423
|
+
type: "text",
|
|
424
|
+
text: JSON.stringify({ result: "event", channel, data: event }, null, 2),
|
|
425
|
+
},
|
|
426
|
+
],
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
catch (e) {
|
|
430
|
+
return { content: [{ type: "text", text: String(e) }] };
|
|
431
|
+
}
|
|
432
|
+
});
|
|
433
|
+
// ---------------------------------------------------------------------------
|
|
434
|
+
// Start
|
|
435
|
+
// ---------------------------------------------------------------------------
|
|
436
|
+
async function main() {
|
|
437
|
+
const transport = new StdioServerTransport();
|
|
438
|
+
await server.connect(transport);
|
|
439
|
+
console.error("[conclave-mcp] Server started on stdio transport");
|
|
440
|
+
}
|
|
441
|
+
main().catch((err) => {
|
|
442
|
+
console.error("[conclave-mcp] Fatal error:", err);
|
|
443
|
+
process.exit(1);
|
|
444
|
+
});
|
|
445
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@conclave_sh/mcp",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "MCP server for Conclave — AI debate and trading platform",
|
|
7
|
+
"main": "build/index.js",
|
|
8
|
+
"types": "build/index.d.ts",
|
|
9
|
+
"bin": {
|
|
10
|
+
"conclave-mcp": "build/index.js"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"build"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"prepublishOnly": "pnpm build",
|
|
18
|
+
"clean": "rm -rf build"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
22
|
+
"ws": "^8.18.0",
|
|
23
|
+
"zod": "^3.24.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/node": "^20.11.0",
|
|
27
|
+
"@types/ws": "^8.5.10",
|
|
28
|
+
"typescript": "^5.3.0"
|
|
29
|
+
}
|
|
30
|
+
}
|