@ebowwa/claude-code-mcp 1.0.0 → 1.0.2

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.
Files changed (48) hide show
  1. package/dist/__tests__/advanced.test.d.ts +6 -0
  2. package/dist/__tests__/advanced.test.d.ts.map +1 -0
  3. package/dist/__tests__/advanced.test.js +354 -0
  4. package/dist/__tests__/advanced.test.js.map +1 -0
  5. package/dist/advanced.d.ts +109 -0
  6. package/dist/advanced.d.ts.map +1 -0
  7. package/dist/advanced.js +427 -0
  8. package/dist/advanced.js.map +1 -0
  9. package/dist/cli-wrapper.d.ts +202 -0
  10. package/dist/cli-wrapper.d.ts.map +1 -0
  11. package/dist/cli-wrapper.js +347 -0
  12. package/dist/cli-wrapper.js.map +1 -0
  13. package/dist/cli-wrapper.test.d.ts +12 -0
  14. package/dist/cli-wrapper.test.d.ts.map +1 -0
  15. package/dist/cli-wrapper.test.js +354 -0
  16. package/dist/cli-wrapper.test.js.map +1 -0
  17. package/dist/cli.d.ts +16 -0
  18. package/dist/cli.d.ts.map +1 -0
  19. package/dist/cli.js +354 -0
  20. package/dist/cli.js.map +1 -0
  21. package/dist/index.d.ts +10 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +561 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/integration.test.d.ts +12 -0
  26. package/dist/integration.test.d.ts.map +1 -0
  27. package/dist/integration.test.js +716 -0
  28. package/dist/integration.test.js.map +1 -0
  29. package/dist/queue.d.ts +87 -0
  30. package/dist/queue.d.ts.map +1 -0
  31. package/dist/queue.js +273 -0
  32. package/dist/queue.js.map +1 -0
  33. package/dist/teammates-integration.d.ts +128 -0
  34. package/dist/teammates-integration.d.ts.map +1 -0
  35. package/dist/teammates-integration.js +353 -0
  36. package/dist/teammates-integration.js.map +1 -0
  37. package/dist/test-config.d.ts +104 -0
  38. package/dist/test-config.d.ts.map +1 -0
  39. package/dist/test-config.js +439 -0
  40. package/dist/test-config.js.map +1 -0
  41. package/dist/tools.d.ts +97 -0
  42. package/dist/tools.d.ts.map +1 -0
  43. package/dist/tools.js +627 -0
  44. package/dist/tools.js.map +1 -0
  45. package/package.json +7 -1
  46. package/ARCHITECTURE.md +0 -1802
  47. package/DOCUMENTATION.md +0 -747
  48. package/TESTING.md +0 -318
package/dist/tools.js ADDED
@@ -0,0 +1,627 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Claude Code MCP Server - Control Tools
4
+ *
5
+ * MCP server for controlling Claude Code instances with Doppler integration.
6
+ * Provides tools for starting, resuming, listing, and killing Claude Code sessions.
7
+ *
8
+ * This complements claude-code-history MCP which focuses on READ operations.
9
+ * This package focuses on CONTROL operations.
10
+ */
11
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
12
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
13
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
14
+ import { z } from "zod";
15
+ import { spawn } from "child_process";
16
+ import { homedir } from "os";
17
+ import { join, resolve } from "path";
18
+ import { existsSync, readFile } from "fs";
19
+ import { promisify } from "util";
20
+ const readFileAsync = promisify(readFile);
21
+ function loadConfig() {
22
+ return {
23
+ claudeDir: process.env.CLAUDE_DIR || `${homedir()}/.claude`,
24
+ dopplerProject: process.env.DOPPLER_PROJECT,
25
+ dopplerConfig: process.env.DOPPLER_CONFIG || "dev",
26
+ dopplerToken: process.env.DOPPLER_TOKEN,
27
+ };
28
+ }
29
+ // In-memory session tracking (per MCP server instance)
30
+ const activeSessions = new Map();
31
+ // ============================================================================
32
+ // Doppler Integration
33
+ // ============================================================================
34
+ /**
35
+ * Load secrets from Doppler for a Claude Code session
36
+ */
37
+ async function loadDopplerSecrets(config, projectPath) {
38
+ const secrets = {};
39
+ if (!config.dopplerToken) {
40
+ return secrets;
41
+ }
42
+ try {
43
+ // Use doppler CLI to fetch secrets
44
+ const dopplerArgs = ["secrets", "download", "--format", "json"];
45
+ if (config.dopplerProject) {
46
+ dopplerArgs.push("--project", config.dopplerProject);
47
+ }
48
+ if (config.dopplerConfig) {
49
+ dopplerArgs.push("--config", config.dopplerConfig);
50
+ }
51
+ const dopplerProcess = spawn("doppler", dopplerArgs, {
52
+ env: {
53
+ ...process.env,
54
+ DOPPLER_TOKEN: config.dopplerToken,
55
+ },
56
+ });
57
+ let output = "";
58
+ let errorOutput = "";
59
+ dopplerProcess.stdout?.on("data", (data) => {
60
+ output += data.toString();
61
+ });
62
+ dopplerProcess.stderr?.on("data", (data) => {
63
+ errorOutput += data.toString();
64
+ });
65
+ await new Promise((resolve, reject) => {
66
+ dopplerProcess.on("close", (code) => {
67
+ if (code === 0 && output) {
68
+ try {
69
+ const secretsData = JSON.parse(output);
70
+ Object.assign(secrets, secretsData);
71
+ resolve();
72
+ }
73
+ catch (e) {
74
+ reject(new Error(`Failed to parse Doppler secrets: ${e}`));
75
+ }
76
+ }
77
+ else {
78
+ reject(new Error(`Doppler CLI failed: ${errorOutput || "Unknown error"}`));
79
+ }
80
+ });
81
+ });
82
+ }
83
+ catch (error) {
84
+ console.error(`[claude-code-mcp] Failed to load Doppler secrets:`, error);
85
+ }
86
+ return secrets;
87
+ }
88
+ /**
89
+ * Inject Doppler secrets into environment for a Claude Code session
90
+ */
91
+ async function injectDopplerEnv(config, projectPath) {
92
+ const baseEnv = { ...process.env };
93
+ // Preserve critical environment variables
94
+ const preservedVars = [
95
+ "PATH",
96
+ "HOME",
97
+ "USER",
98
+ "SHELL",
99
+ "TERM",
100
+ "LANG",
101
+ "NODE_ENV",
102
+ "DOPPLER_TOKEN",
103
+ "DOPPLER_PROJECT",
104
+ "DOPPLER_CONFIG",
105
+ ];
106
+ const cleanEnv = {};
107
+ for (const key of preservedVars) {
108
+ if (baseEnv[key]) {
109
+ cleanEnv[key] = baseEnv[key];
110
+ }
111
+ }
112
+ // Load secrets from Doppler
113
+ const secrets = await loadDopplerSecrets(config, projectPath);
114
+ Object.assign(cleanEnv, secrets);
115
+ return cleanEnv;
116
+ }
117
+ // ============================================================================
118
+ // Zod Schemas for Tool Validation
119
+ // ============================================================================
120
+ const StartSessionSchema = z.object({
121
+ projectPath: z.string().describe("Absolute path to the project directory"),
122
+ sessionId: z.string().uuid().optional().describe("Custom session UUID (optional, auto-generated if not provided)"),
123
+ model: z.string().optional().describe("Claude model to use (e.g., 'claude-sonnet-4-5-20250929')"),
124
+ maxTokens: z.number().optional().describe("Maximum tokens for responses"),
125
+ dopplerEnabled: z.boolean().optional().describe("Enable Doppler integration (default: true)"),
126
+ });
127
+ const ResumeSessionSchema = z.object({
128
+ sessionId: z.string().uuid().describe("Session UUID to resume"),
129
+ projectPath: z.string().optional().describe("Project path (optional, inferred from session if not provided)"),
130
+ });
131
+ const ListSessionsSchema = z.object({
132
+ status: z.enum(["all", "running", "stopped"]).optional().describe("Filter by session status"),
133
+ limit: z.number().optional().describe("Maximum sessions to return"),
134
+ });
135
+ const KillSessionSchema = z.object({
136
+ sessionId: z.string().describe("Session ID or UUID to kill"),
137
+ force: z.boolean().optional().describe("Force kill if graceful shutdown fails"),
138
+ });
139
+ const GetSessionStatusSchema = z.object({
140
+ sessionId: z.string().describe("Session ID or UUID to check"),
141
+ });
142
+ // ============================================================================
143
+ // Helper Functions
144
+ // ============================================================================
145
+ /**
146
+ * Generate a UUID v4
147
+ */
148
+ function generateUUID() {
149
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
150
+ const r = (Math.random() * 16) | 0;
151
+ const v = c === "x" ? r : (r & 0x3) | 0x8;
152
+ return v.toString(16);
153
+ });
154
+ }
155
+ /**
156
+ * Create response object for MCP
157
+ */
158
+ function createResponse(data, isError = false) {
159
+ return {
160
+ content: [
161
+ {
162
+ type: "text",
163
+ text: JSON.stringify(data, null, 2),
164
+ },
165
+ ],
166
+ ...(isError && { isError: true }),
167
+ };
168
+ }
169
+ /**
170
+ * Validate project path exists
171
+ */
172
+ function validateProjectPath(projectPath) {
173
+ const resolvedPath = resolve(projectPath);
174
+ if (!existsSync(resolvedPath)) {
175
+ return { valid: false, error: `Project path does not exist: ${projectPath}` };
176
+ }
177
+ return { valid: true };
178
+ }
179
+ // ============================================================================
180
+ // Tool Implementations
181
+ // ============================================================================
182
+ /**
183
+ * Start a new Claude Code session
184
+ */
185
+ async function startSession(args) {
186
+ const config = loadConfig();
187
+ const parsed = StartSessionSchema.safeParse(args);
188
+ if (!parsed.success) {
189
+ return createResponse({
190
+ error: "Invalid arguments",
191
+ details: parsed.error.issues,
192
+ }, true);
193
+ }
194
+ const { projectPath, sessionId, model, maxTokens, dopplerEnabled = true } = parsed.data;
195
+ // Validate project path
196
+ const validation = validateProjectPath(projectPath);
197
+ if (!validation.valid) {
198
+ return createResponse({ error: validation.error }, true);
199
+ }
200
+ // Generate session ID
201
+ const sessionUUID = sessionId || generateUUID();
202
+ // Check if session already exists
203
+ if (activeSessions.has(sessionUUID)) {
204
+ return createResponse({
205
+ error: "Session already exists",
206
+ sessionId: sessionUUID,
207
+ }, true);
208
+ }
209
+ try {
210
+ // Prepare environment with Doppler integration
211
+ const envVars = dopplerEnabled
212
+ ? await injectDopplerEnv(config, projectPath)
213
+ : { ...process.env };
214
+ // Build Claude Code command
215
+ const claudeArgs = ["--session", sessionUUID];
216
+ if (model) {
217
+ claudeArgs.push("--model", model);
218
+ }
219
+ if (maxTokens) {
220
+ claudeArgs.push("--max-tokens", maxTokens.toString());
221
+ }
222
+ // Spawn Claude Code process
223
+ const childProcess = spawn("claude", claudeArgs, {
224
+ cwd: projectPath,
225
+ env: envVars,
226
+ stdio: ["ignore", "pipe", "pipe"],
227
+ });
228
+ // Create session record
229
+ const session = {
230
+ uuid: sessionUUID,
231
+ pid: childProcess.pid,
232
+ projectPath,
233
+ startTime: Date.now(),
234
+ status: "starting",
235
+ process: childProcess,
236
+ };
237
+ activeSessions.set(sessionUUID, session);
238
+ // Handle process events
239
+ childProcess.on("error", (err) => {
240
+ console.error(`[claude-code-mcp] Session ${sessionUUID} error:`, err);
241
+ session.status = "error";
242
+ });
243
+ childProcess.on("exit", (code) => {
244
+ console.error(`[claude-code-mcp] Session ${sessionUUID} exited with code ${code}`);
245
+ session.status = "stopped";
246
+ });
247
+ // Wait briefly to see if process starts successfully
248
+ await new Promise((resolve) => setTimeout(resolve, 500));
249
+ if (childProcess.pid && !childProcess.killed) {
250
+ session.status = "running";
251
+ }
252
+ return createResponse({
253
+ success: true,
254
+ sessionId: sessionUUID,
255
+ pid: childProcess.pid,
256
+ status: session.status,
257
+ projectPath,
258
+ startTime: session.startTime,
259
+ dopplerEnabled,
260
+ });
261
+ }
262
+ catch (error) {
263
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
264
+ return createResponse({
265
+ error: "Failed to start session",
266
+ details: errorMessage,
267
+ }, true);
268
+ }
269
+ }
270
+ /**
271
+ * Resume an existing Claude Code session
272
+ */
273
+ async function resumeSession(args) {
274
+ const config = loadConfig();
275
+ const parsed = ResumeSessionSchema.safeParse(args);
276
+ if (!parsed.success) {
277
+ return createResponse({
278
+ error: "Invalid arguments",
279
+ details: parsed.error.issues,
280
+ }, true);
281
+ }
282
+ const { sessionId, projectPath } = parsed.data;
283
+ // Check if session is in active tracking
284
+ const activeSession = activeSessions.get(sessionId);
285
+ if (activeSession) {
286
+ if (activeSession.status === "running") {
287
+ return createResponse({
288
+ success: true,
289
+ sessionId: activeSession.uuid,
290
+ status: activeSession.status,
291
+ message: "Session is already running",
292
+ pid: activeSession.pid,
293
+ });
294
+ }
295
+ else {
296
+ // Session was stopped, try to restart
297
+ return startSession({
298
+ projectPath: projectPath || activeSession.projectPath,
299
+ sessionId,
300
+ });
301
+ }
302
+ }
303
+ // Try to find session in history
304
+ const historyPath = join(config.claudeDir, "history.jsonl");
305
+ if (!existsSync(historyPath)) {
306
+ return createResponse({
307
+ error: "Session not found",
308
+ sessionId,
309
+ details: "No history file found",
310
+ }, true);
311
+ }
312
+ try {
313
+ const historyContent = await readFileAsync(historyPath, "utf-8");
314
+ const lines = historyContent.trim().split("\n");
315
+ for (const line of lines.reverse()) {
316
+ const entry = JSON.parse(line);
317
+ if (entry.sessionId === sessionId) {
318
+ // Found session in history, start new instance with same ID
319
+ const resolvedProjectPath = projectPath || entry.project;
320
+ return startSession({
321
+ projectPath: resolvedProjectPath,
322
+ sessionId,
323
+ });
324
+ }
325
+ }
326
+ return createResponse({
327
+ error: "Session not found",
328
+ sessionId,
329
+ details: "Session ID not found in history",
330
+ }, true);
331
+ }
332
+ catch (error) {
333
+ return createResponse({
334
+ error: "Failed to resume session",
335
+ details: error instanceof Error ? error.message : "Unknown error",
336
+ }, true);
337
+ }
338
+ }
339
+ /**
340
+ * List all Claude Code sessions
341
+ */
342
+ async function listSessions(args) {
343
+ const parsed = ListSessionsSchema.safeParse(args);
344
+ if (!parsed.success) {
345
+ return createResponse({
346
+ error: "Invalid arguments",
347
+ details: parsed.error.issues,
348
+ }, true);
349
+ }
350
+ const { status = "all", limit } = parsed.data;
351
+ // Collect active sessions
352
+ let sessions = Array.from(activeSessions.values());
353
+ // Filter by status
354
+ if (status !== "all") {
355
+ sessions = sessions.filter((s) => s.status === status);
356
+ }
357
+ // Apply limit
358
+ if (limit && limit > 0) {
359
+ sessions = sessions.slice(0, limit);
360
+ }
361
+ return createResponse({
362
+ total: sessions.length,
363
+ sessions: sessions.map((s) => ({
364
+ uuid: s.uuid,
365
+ pid: s.pid,
366
+ projectPath: s.projectPath,
367
+ startTime: s.startTime,
368
+ status: s.status,
369
+ })),
370
+ });
371
+ }
372
+ /**
373
+ * Kill a Claude Code session
374
+ */
375
+ async function killSession(args) {
376
+ const parsed = KillSessionSchema.safeParse(args);
377
+ if (!parsed.success) {
378
+ return createResponse({
379
+ error: "Invalid arguments",
380
+ details: parsed.error.issues,
381
+ }, true);
382
+ }
383
+ const { sessionId, force = false } = parsed.data;
384
+ const session = activeSessions.get(sessionId);
385
+ if (!session) {
386
+ return createResponse({
387
+ error: "Session not found",
388
+ sessionId,
389
+ }, true);
390
+ }
391
+ if (!session.process || session.process.killed) {
392
+ return createResponse({
393
+ success: true,
394
+ message: "Session already stopped",
395
+ sessionId,
396
+ }, false);
397
+ }
398
+ try {
399
+ if (force) {
400
+ session.process.kill("SIGKILL");
401
+ }
402
+ else {
403
+ session.process.kill("SIGTERM");
404
+ // Wait for graceful shutdown
405
+ await new Promise((resolve) => {
406
+ const timeout = setTimeout(() => {
407
+ if (!session.process?.killed) {
408
+ session.process?.kill("SIGKILL");
409
+ }
410
+ resolve();
411
+ }, 5000);
412
+ session.process?.once("exit", () => {
413
+ clearTimeout(timeout);
414
+ resolve();
415
+ });
416
+ });
417
+ }
418
+ session.status = "stopped";
419
+ return createResponse({
420
+ success: true,
421
+ message: "Session killed successfully",
422
+ sessionId,
423
+ method: force ? "SIGKILL" : "SIGTERM",
424
+ });
425
+ }
426
+ catch (error) {
427
+ return createResponse({
428
+ error: "Failed to kill session",
429
+ details: error instanceof Error ? error.message : "Unknown error",
430
+ }, true);
431
+ }
432
+ }
433
+ /**
434
+ * Get session status
435
+ */
436
+ async function getSessionStatus(args) {
437
+ const parsed = GetSessionStatusSchema.safeParse(args);
438
+ if (!parsed.success) {
439
+ return createResponse({
440
+ error: "Invalid arguments",
441
+ details: parsed.error.issues,
442
+ }, true);
443
+ }
444
+ const { sessionId } = parsed.data;
445
+ const session = activeSessions.get(sessionId);
446
+ if (!session) {
447
+ return createResponse({
448
+ found: false,
449
+ error: "Session not found in active tracking",
450
+ sessionId,
451
+ }, false);
452
+ }
453
+ return createResponse({
454
+ found: true,
455
+ sessionId: session.uuid,
456
+ pid: session.pid,
457
+ projectPath: session.projectPath,
458
+ startTime: session.startTime,
459
+ status: session.status,
460
+ uptime: Date.now() - session.startTime,
461
+ });
462
+ }
463
+ // ============================================================================
464
+ // MCP Server Setup
465
+ // ============================================================================
466
+ const server = new Server({
467
+ name: "@mcp/claude-code",
468
+ version: "1.0.0",
469
+ }, {
470
+ capabilities: {
471
+ tools: {},
472
+ },
473
+ });
474
+ // Tool definitions
475
+ const tools = [
476
+ {
477
+ name: "start_session",
478
+ description: "Launch a new Claude Code instance with optional Doppler integration",
479
+ inputSchema: {
480
+ type: "object",
481
+ properties: {
482
+ projectPath: {
483
+ type: "string",
484
+ description: "Absolute path to the project directory",
485
+ },
486
+ sessionId: {
487
+ type: "string",
488
+ description: "Custom session UUID (optional, auto-generated if not provided)",
489
+ format: "uuid",
490
+ },
491
+ model: {
492
+ type: "string",
493
+ description: "Claude model to use (e.g., 'claude-sonnet-4-5-20250929')",
494
+ },
495
+ maxTokens: {
496
+ type: "number",
497
+ description: "Maximum tokens for responses",
498
+ },
499
+ dopplerEnabled: {
500
+ type: "boolean",
501
+ description: "Enable Doppler integration (default: true)",
502
+ },
503
+ },
504
+ required: ["projectPath"],
505
+ },
506
+ },
507
+ {
508
+ name: "resume_session",
509
+ description: "Resume an existing Claude Code session by UUID",
510
+ inputSchema: {
511
+ type: "object",
512
+ properties: {
513
+ sessionId: {
514
+ type: "string",
515
+ description: "Session UUID to resume",
516
+ format: "uuid",
517
+ },
518
+ projectPath: {
519
+ type: "string",
520
+ description: "Project path (optional, inferred from session if not provided)",
521
+ },
522
+ },
523
+ required: ["sessionId"],
524
+ },
525
+ },
526
+ {
527
+ name: "list_sessions",
528
+ description: "List all active Claude Code sessions with optional filtering",
529
+ inputSchema: {
530
+ type: "object",
531
+ properties: {
532
+ status: {
533
+ type: "string",
534
+ enum: ["all", "running", "stopped"],
535
+ description: "Filter by session status",
536
+ },
537
+ limit: {
538
+ type: "number",
539
+ description: "Maximum sessions to return",
540
+ },
541
+ },
542
+ },
543
+ },
544
+ {
545
+ name: "kill_session",
546
+ description: "Terminate a Claude Code session gracefully or forcefully",
547
+ inputSchema: {
548
+ type: "object",
549
+ properties: {
550
+ sessionId: {
551
+ type: "string",
552
+ description: "Session ID or UUID to kill",
553
+ },
554
+ force: {
555
+ type: "boolean",
556
+ description: "Force kill if graceful shutdown fails",
557
+ },
558
+ },
559
+ required: ["sessionId"],
560
+ },
561
+ },
562
+ {
563
+ name: "get_session_status",
564
+ description: "Check the status of a Claude Code session",
565
+ inputSchema: {
566
+ type: "object",
567
+ properties: {
568
+ sessionId: {
569
+ type: "string",
570
+ description: "Session ID or UUID to check",
571
+ },
572
+ },
573
+ required: ["sessionId"],
574
+ },
575
+ },
576
+ ];
577
+ // Register handlers
578
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools }));
579
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
580
+ const { name, arguments: args } = request.params;
581
+ try {
582
+ switch (name) {
583
+ case "start_session":
584
+ return await startSession(args);
585
+ case "resume_session":
586
+ return await resumeSession(args);
587
+ case "list_sessions":
588
+ return await listSessions(args);
589
+ case "kill_session":
590
+ return await killSession(args);
591
+ case "get_session_status":
592
+ return await getSessionStatus(args);
593
+ default:
594
+ return createResponse({
595
+ error: "Unknown tool",
596
+ tool: name,
597
+ }, true);
598
+ }
599
+ }
600
+ catch (error) {
601
+ return createResponse({
602
+ error: "Tool execution failed",
603
+ tool: name,
604
+ details: error instanceof Error ? error.message : "Unknown error",
605
+ }, true);
606
+ }
607
+ });
608
+ // ============================================================================
609
+ // Server Entry Point
610
+ // ============================================================================
611
+ async function main() {
612
+ const config = loadConfig();
613
+ const transport = new StdioServerTransport();
614
+ await server.connect(transport);
615
+ console.error("Claude Code MCP server running on stdio");
616
+ console.error(`Config: CLAUDE_DIR=${config.claudeDir}`);
617
+ if (config.dopplerProject) {
618
+ console.error(`Config: DOPPLER_PROJECT=${config.dopplerProject}`);
619
+ console.error(`Config: DOPPLER_CONFIG=${config.dopplerConfig}`);
620
+ }
621
+ }
622
+ main().catch((error) => {
623
+ console.error("Fatal error:", error);
624
+ process.exit(1);
625
+ });
626
+ export { server, startSession, resumeSession, listSessions, killSession, getSessionStatus };
627
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebowwa/claude-code-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "MCP server for Claude Code integration - manage conversations, send messages, and sync context",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -8,6 +8,12 @@
8
8
  "bin": {
9
9
  "claude-code-mcp": "./bin/claude-code-mcp"
10
10
  },
11
+ "files": [
12
+ "dist",
13
+ "bin",
14
+ "README.md",
15
+ "LICENSE"
16
+ ],
11
17
  "scripts": {
12
18
  "build": "tsc",
13
19
  "dev": "bun --hot src/index.ts",