couchloop-eq-mcp 1.3.0 → 1.3.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 (68) hide show
  1. package/README.md +62 -48
  2. package/dist/clients/shrinkChatClient.d.ts +8 -8
  3. package/dist/developer/analyzers/bloat-detector.js +6 -6
  4. package/dist/developer/analyzers/bloat-detector.js.map +1 -1
  5. package/dist/developer/reports/review-summary.d.ts.map +1 -1
  6. package/dist/developer/reports/review-summary.js +20 -22
  7. package/dist/developer/reports/review-summary.js.map +1 -1
  8. package/dist/developer/scanners/review-assistant.d.ts +0 -1
  9. package/dist/developer/scanners/review-assistant.d.ts.map +1 -1
  10. package/dist/developer/scanners/review-assistant.js +47 -55
  11. package/dist/developer/scanners/review-assistant.js.map +1 -1
  12. package/dist/developer/scanners/secret-scanner.d.ts.map +1 -1
  13. package/dist/developer/scanners/secret-scanner.js +37 -12
  14. package/dist/developer/scanners/secret-scanner.js.map +1 -1
  15. package/dist/developer/scanners/xss-detector.d.ts.map +1 -1
  16. package/dist/developer/scanners/xss-detector.js +18 -9
  17. package/dist/developer/scanners/xss-detector.js.map +1 -1
  18. package/dist/index.js +147 -99
  19. package/dist/index.js.map +1 -1
  20. package/dist/server/http-mcp.d.ts +40 -1
  21. package/dist/server/http-mcp.d.ts.map +1 -1
  22. package/dist/server/http-mcp.js +295 -195
  23. package/dist/server/http-mcp.js.map +1 -1
  24. package/dist/server/index.d.ts.map +1 -1
  25. package/dist/server/index.js +179 -159
  26. package/dist/server/index.js.map +1 -1
  27. package/dist/server/sse.d.ts.map +1 -1
  28. package/dist/server/sse.js +13 -4
  29. package/dist/server/sse.js.map +1 -1
  30. package/dist/tools/comprehensive-code-review.d.ts +4 -1
  31. package/dist/tools/comprehensive-code-review.d.ts.map +1 -1
  32. package/dist/tools/comprehensive-code-review.js +48 -21
  33. package/dist/tools/comprehensive-code-review.js.map +1 -1
  34. package/dist/tools/detect-code-smell.js +2 -2
  35. package/dist/tools/detect-code-smell.js.map +1 -1
  36. package/dist/tools/index-full.js +2 -2
  37. package/dist/tools/index-full.js.map +1 -1
  38. package/dist/tools/index.d.ts +19 -19
  39. package/dist/tools/index.d.ts.map +1 -1
  40. package/dist/tools/index.js +19 -19
  41. package/dist/tools/index.js.map +1 -1
  42. package/dist/tools/insight.d.ts +7 -7
  43. package/dist/tools/intent-router.d.ts +1 -0
  44. package/dist/tools/intent-router.d.ts.map +1 -1
  45. package/dist/tools/intent-router.js +5 -4
  46. package/dist/tools/intent-router.js.map +1 -1
  47. package/dist/tools/primary-tools.d.ts +18 -10
  48. package/dist/tools/primary-tools.d.ts.map +1 -1
  49. package/dist/tools/primary-tools.js +8 -2
  50. package/dist/tools/primary-tools.js.map +1 -1
  51. package/dist/tools/scan-security.js +17 -29
  52. package/dist/tools/scan-security.js.map +1 -1
  53. package/dist/tools/sendMessage.js +1 -1
  54. package/dist/tools/sendMessage.js.map +1 -1
  55. package/dist/tools/session.d.ts +1 -1
  56. package/dist/tools/smart-context.d.ts +1 -1
  57. package/dist/tools/status.d.ts +3 -2
  58. package/dist/tools/status.d.ts.map +1 -1
  59. package/dist/tools/status.js +1 -0
  60. package/dist/tools/status.js.map +1 -1
  61. package/dist/tools/verify.d.ts +5 -4
  62. package/dist/tools/verify.d.ts.map +1 -1
  63. package/dist/tools/verify.js +69 -31
  64. package/dist/tools/verify.js.map +1 -1
  65. package/dist/types/insight.d.ts +2 -2
  66. package/dist/types/journey.d.ts +12 -12
  67. package/dist/workflows/index.d.ts +2 -2
  68. package/package.json +2 -1
package/dist/index.js CHANGED
@@ -1,27 +1,32 @@
1
1
  #!/usr/bin/env node
2
- import { Server } from '@modelcontextprotocol/sdk/server';
3
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
- import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema } from '@modelcontextprotocol/sdk/types.js';
5
- import dotenv from 'dotenv';
6
- import { setupTools } from './tools/index.js';
7
- import { setupResources } from './resources/index.js';
8
- import { logger } from './utils/logger.js';
9
- import { initDatabase, getDb } from './db/client.js';
10
- import { governancePreCheck, governancePostCheck } from './governance/middleware.js';
11
- import { governanceAuditLog } from './db/schema.js';
2
+ import { Server } from "@modelcontextprotocol/sdk/server";
3
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
+ import { CallToolRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
5
+ import dotenv from "dotenv";
6
+ import { getDb, initDatabase } from "./db/client.js";
7
+ import { governanceAuditLog } from "./db/schema.js";
8
+ import { governancePostCheck, governancePreCheck, } from "./governance/middleware.js";
9
+ import { setupResources } from "./resources/index.js";
10
+ import { setupTools } from "./tools/index.js";
11
+ import { logger } from "./utils/logger.js";
12
12
  // Load environment variables
13
- dotenv.config({ path: '.env.local' });
13
+ dotenv.config({ path: ".env.local" });
14
14
  // Initialize server
15
15
  async function main() {
16
16
  try {
17
- logger.info('Starting CouchLoop MCP Server...');
18
- // Initialize database connection
19
- await initDatabase();
20
- logger.info('Database connection established');
17
+ logger.info("Starting CouchLoop MCP Server...");
18
+ // Initialize database connection (non-fatal — server responds to tools/list even without DB)
19
+ try {
20
+ await initDatabase();
21
+ logger.info("Database connection established");
22
+ }
23
+ catch (dbError) {
24
+ logger.warn("Database unavailable — starting in degraded mode (tool discovery still works):", dbError);
25
+ }
21
26
  // Create MCP server instance
22
27
  const server = new Server({
23
- name: 'couchloop-mcp',
24
- version: '1.2.0',
28
+ name: "couchloop-mcp",
29
+ version: "1.3.1",
25
30
  }, {
26
31
  capabilities: {
27
32
  tools: {},
@@ -33,12 +38,12 @@ async function main() {
33
38
  const tools = await setupTools();
34
39
  // Set up tool handlers
35
40
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
36
- tools: tools.map(t => t.definition)
41
+ tools: tools.map((t) => t.definition),
37
42
  }));
38
43
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
39
44
  const toolName = request.params.name;
40
45
  const args = request.params.arguments || {};
41
- const tool = tools.find(t => t.definition.name === toolName);
46
+ const tool = tools.find((t) => t.definition.name === toolName);
42
47
  if (!tool) {
43
48
  throw new Error(`Tool ${toolName} not found`);
44
49
  }
@@ -52,8 +57,8 @@ async function main() {
52
57
  try {
53
58
  const db = getDb();
54
59
  await db.insert(governanceAuditLog).values({
55
- actionType: 'pre_check_block',
56
- reason: preCheck.issues.join('; '),
60
+ actionType: "pre_check_block",
61
+ reason: preCheck.issues.join("; "),
57
62
  confidenceScore: Math.round(preCheck.confidence * 100),
58
63
  metadata: {
59
64
  tool: toolName,
@@ -63,24 +68,37 @@ async function main() {
63
68
  });
64
69
  }
65
70
  catch (auditError) {
66
- logger.warn('Failed to log governance audit:', auditError);
71
+ logger.warn("Failed to log governance audit:", auditError);
67
72
  }
68
73
  return {
69
- content: [{
70
- type: 'text',
74
+ content: [
75
+ {
76
+ type: "text",
71
77
  text: JSON.stringify({
72
78
  blocked: true,
73
- reason: 'Governance pre-check failed',
79
+ reason: "Governance pre-check failed",
74
80
  issues: preCheck.issues,
75
81
  confidence: preCheck.confidence,
76
- }, null, 2)
77
- }]
82
+ }, null, 2),
83
+ },
84
+ ],
78
85
  };
79
86
  }
80
87
  // ═══════════════════════════════════════════════
81
88
  // EXECUTE TOOL
82
89
  // ═══════════════════════════════════════════════
83
- const result = await tool.handler(args);
90
+ let result;
91
+ try {
92
+ result = await tool.handler(args);
93
+ }
94
+ catch (error) {
95
+ const message = error instanceof Error ? error.message : "Tool execution failed";
96
+ logger.error(`[Tool] ${toolName} threw:`, error);
97
+ return {
98
+ isError: true,
99
+ content: [{ type: "text", text: `Error: ${message}` }],
100
+ };
101
+ }
84
102
  // ═══════════════════════════════════════════════
85
103
  // GOVERNANCE POST-CHECK
86
104
  // ═══════════════════════════════════════════════
@@ -91,8 +109,8 @@ async function main() {
91
109
  try {
92
110
  const db = getDb();
93
111
  await db.insert(governanceAuditLog).values({
94
- actionType: 'post_check_warning',
95
- reason: postCheck.issues.join('; '),
112
+ actionType: "post_check_warning",
113
+ reason: postCheck.issues.join("; "),
96
114
  confidenceScore: Math.round(postCheck.confidence * 100),
97
115
  metadata: {
98
116
  tool: toolName,
@@ -102,154 +120,184 @@ async function main() {
102
120
  });
103
121
  }
104
122
  catch (auditError) {
105
- logger.warn('Failed to log governance audit:', auditError);
123
+ logger.warn("Failed to log governance audit:", auditError);
106
124
  }
107
125
  }
108
126
  // Add governance metadata to response
109
127
  const governedResult = {
110
- ...(typeof result === 'object' && result !== null ? result : { value: result }),
128
+ ...(typeof result === "object" && result !== null
129
+ ? result
130
+ : { value: result }),
111
131
  _governance: {
112
132
  checked: true,
113
133
  issues: postCheck.issues,
114
134
  confidence: postCheck.confidence,
115
- }
135
+ },
116
136
  };
117
137
  return {
118
- content: [{ type: 'text', text: JSON.stringify(governedResult, null, 2) }]
138
+ content: [
139
+ { type: "text", text: JSON.stringify(governedResult, null, 2) },
140
+ ],
119
141
  };
120
142
  });
121
- logger.info('Tools registered');
143
+ logger.info("Tools registered");
122
144
  // Set up resources
123
145
  const resources = await setupResources();
124
146
  // Set up resource handlers
125
147
  server.setRequestHandler(ListResourcesRequestSchema, async () => ({
126
- resources: resources.map(r => r.definition)
148
+ resources: resources.map((r) => r.definition),
127
149
  }));
128
150
  server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
129
- const resource = resources.find(r => r.definition.uri === request.params.uri);
151
+ const resource = resources.find((r) => r.definition.uri === request.params.uri);
130
152
  if (!resource) {
131
153
  throw new Error(`Resource ${request.params.uri} not found`);
132
154
  }
133
155
  const contents = await resource.handler();
134
156
  return {
135
- contents: [{
157
+ contents: [
158
+ {
136
159
  uri: request.params.uri,
137
- mimeType: 'application/json',
138
- text: contents
139
- }]
160
+ mimeType: "application/json",
161
+ text: contents,
162
+ },
163
+ ],
140
164
  };
141
165
  });
142
- logger.info('Resources registered');
166
+ logger.info("Resources registered");
143
167
  // Set up prompts
144
168
  const prompts = [
145
169
  {
146
- name: 'daily-reflection',
147
- description: 'Start a guided daily reflection session to process your day',
170
+ name: "daily-reflection",
171
+ description: "Start a guided daily reflection session to process your day",
148
172
  arguments: [
149
- { name: 'mood', description: 'Your current mood (optional)', required: false }
150
- ]
173
+ {
174
+ name: "mood",
175
+ description: "Your current mood (optional)",
176
+ required: false,
177
+ },
178
+ ],
151
179
  },
152
180
  {
153
- name: 'code-review',
154
- description: 'Review code for security issues, code smells, and best practices',
181
+ name: "code-review",
182
+ description: "Review code for security issues, code smells, and best practices",
155
183
  arguments: [
156
- { name: 'code', description: 'The code to review', required: true },
157
- { name: 'language', description: 'Programming language', required: false }
158
- ]
184
+ { name: "code", description: "The code to review", required: true },
185
+ {
186
+ name: "language",
187
+ description: "Programming language",
188
+ required: false,
189
+ },
190
+ ],
159
191
  },
160
192
  {
161
- name: 'validate-dependencies',
162
- description: 'Validate package dependencies for hallucinated or vulnerable packages',
193
+ name: "validate-dependencies",
194
+ description: "Validate package dependencies for hallucinated or vulnerable packages",
163
195
  arguments: [
164
- { name: 'packages', description: 'Comma-separated list of packages to validate', required: true }
165
- ]
196
+ {
197
+ name: "packages",
198
+ description: "Comma-separated list of packages to validate",
199
+ required: true,
200
+ },
201
+ ],
166
202
  },
167
203
  {
168
- name: 'sprint-kickoff',
169
- description: 'Start a new sprint session to capture context and decisions',
204
+ name: "sprint-kickoff",
205
+ description: "Start a new sprint session to capture context and decisions",
170
206
  arguments: [
171
- { name: 'sprint_name', description: 'Name or identifier for the sprint', required: true }
172
- ]
173
- }
207
+ {
208
+ name: "sprint_name",
209
+ description: "Name or identifier for the sprint",
210
+ required: true,
211
+ },
212
+ ],
213
+ },
174
214
  ];
175
215
  server.setRequestHandler(ListPromptsRequestSchema, async () => ({
176
- prompts
216
+ prompts,
177
217
  }));
178
218
  server.setRequestHandler(GetPromptRequestSchema, async (request) => {
179
- const prompt = prompts.find(p => p.name === request.params.name);
219
+ const prompt = prompts.find((p) => p.name === request.params.name);
180
220
  if (!prompt) {
181
221
  throw new Error(`Prompt not found: ${request.params.name}`);
182
222
  }
183
223
  const args = request.params.arguments || {};
184
224
  let messages = [];
185
225
  switch (prompt.name) {
186
- case 'daily-reflection':
187
- messages = [{
188
- role: 'user',
226
+ case "daily-reflection":
227
+ messages = [
228
+ {
229
+ role: "user",
189
230
  content: {
190
- type: 'text',
191
- text: `Start a daily reflection session${args.mood ? ` (current mood: ${args.mood})` : ''}. Use the create_session tool with journey_slug "daily-reflection".`
192
- }
193
- }];
231
+ type: "text",
232
+ text: `Start a daily reflection session${args.mood ? ` (current mood: ${args.mood})` : ""}. Use the create_session tool with journey_slug "daily-reflection".`,
233
+ },
234
+ },
235
+ ];
194
236
  break;
195
- case 'code-review':
196
- messages = [{
197
- role: 'user',
237
+ case "code-review":
238
+ messages = [
239
+ {
240
+ role: "user",
198
241
  content: {
199
- type: 'text',
200
- text: `Review this code for issues:\n\n\`\`\`${args.language || ''}\n${args.code}\n\`\`\`\n\nUse scan_security, pre_review_code, and detect_code_smell tools to analyze.`
201
- }
202
- }];
242
+ type: "text",
243
+ text: `Review this code for issues:\n\n\`\`\`${args.language || ""}\n${args.code}\n\`\`\`\n\nUse scan_security, pre_review_code, and detect_code_smell tools to analyze.`,
244
+ },
245
+ },
246
+ ];
203
247
  break;
204
- case 'validate-dependencies':
205
- messages = [{
206
- role: 'user',
248
+ case "validate-dependencies":
249
+ messages = [
250
+ {
251
+ role: "user",
207
252
  content: {
208
- type: 'text',
209
- text: `Validate these packages: ${args.packages}\n\nUse the validate_packages tool to check if they exist and are safe.`
210
- }
211
- }];
253
+ type: "text",
254
+ text: `Validate these packages: ${args.packages}\n\nUse the validate_packages tool to check if they exist and are safe.`,
255
+ },
256
+ },
257
+ ];
212
258
  break;
213
- case 'sprint-kickoff':
214
- messages = [{
215
- role: 'user',
259
+ case "sprint-kickoff":
260
+ messages = [
261
+ {
262
+ role: "user",
216
263
  content: {
217
- type: 'text',
218
- text: `Start a new sprint session for "${args.sprint_name}". Use create_session to establish context, then use preserve_context to store the sprint goals.`
219
- }
220
- }];
264
+ type: "text",
265
+ text: `Start a new sprint session for "${args.sprint_name}". Use create_session to establish context, then use preserve_context to store the sprint goals.`,
266
+ },
267
+ },
268
+ ];
221
269
  break;
222
270
  }
223
271
  return {
224
272
  description: prompt.description,
225
- messages
273
+ messages,
226
274
  };
227
275
  });
228
- logger.info('Prompts registered');
276
+ logger.info("Prompts registered");
229
277
  // Start the server with stdio transport
230
278
  const transport = new StdioServerTransport();
231
279
  await server.connect(transport);
232
- logger.info('CouchLoop MCP Server is running');
280
+ logger.info("CouchLoop MCP Server is running");
233
281
  // Handle graceful shutdown
234
- process.on('SIGINT', async () => {
235
- logger.info('Shutting down server...');
282
+ process.on("SIGINT", async () => {
283
+ logger.info("Shutting down server...");
236
284
  await server.close();
237
285
  process.exit(0);
238
286
  });
239
- process.on('SIGTERM', async () => {
240
- logger.info('Shutting down server...');
287
+ process.on("SIGTERM", async () => {
288
+ logger.info("Shutting down server...");
241
289
  await server.close();
242
290
  process.exit(0);
243
291
  });
244
292
  }
245
293
  catch (error) {
246
- logger.error('Failed to start server:', error);
294
+ logger.error("Failed to start server:", error);
247
295
  process.exit(1);
248
296
  }
249
297
  }
250
298
  // Run the server
251
299
  main().catch((error) => {
252
- logger.error('Unhandled error:', error);
300
+ logger.error("Unhandled error:", error);
253
301
  process.exit(1);
254
302
  });
255
303
  //# sourceMappingURL=index.js.map
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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"}
@@ -3,9 +3,48 @@
3
3
  * Implements MCP protocol over HTTP POST for all clients (ChatGPT, Claude Desktop, etc.)
4
4
  * Used by any client connecting to https://mcp.couchloop.com/mcp
5
5
  */
6
- import { Request, Response } from 'express';
6
+ import { Request, Response } from "express";
7
+ interface MCPToolDefinition {
8
+ name: string;
9
+ description: string;
10
+ annotations?: Record<string, unknown>;
11
+ inputSchema: Record<string, unknown>;
12
+ }
13
+ interface MCPResourceDefinition {
14
+ uri: string;
15
+ name: string;
16
+ description: string;
17
+ mimeType?: string;
18
+ }
19
+ interface MCPPromptDefinition {
20
+ name: string;
21
+ description: string;
22
+ arguments?: Array<{
23
+ name: string;
24
+ description?: string;
25
+ required?: boolean;
26
+ }>;
27
+ }
28
+ /**
29
+ * Build static server-card metadata for scanners that cannot complete
30
+ * full MCP introspection (e.g. auth/config gated instrumentation).
31
+ */
32
+ export declare function getServerCardMetadata(): Promise<{
33
+ serverInfo: {
34
+ name: string;
35
+ version: string;
36
+ };
37
+ authentication: {
38
+ required: boolean;
39
+ schemes: string[];
40
+ };
41
+ tools: MCPToolDefinition[];
42
+ resources: MCPResourceDefinition[];
43
+ prompts: MCPPromptDefinition[];
44
+ }>;
7
45
  /**
8
46
  * Handle MCP requests from ChatGPT
9
47
  */
10
48
  export declare function handleChatGPTMCP(req: Request, res: Response): Promise<void>;
49
+ export {};
11
50
  //# sourceMappingURL=http-mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-mcp.d.ts","sourceRoot":"","sources":["../../src/server/http-mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA0I5C;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,iBAoXjE"}
1
+ {"version":3,"file":"http-mcp.d.ts","sourceRoot":"","sources":["../../src/server/http-mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAOD,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAaD,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ;AAgKD;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,cAAc,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC,CAAC,CAmBD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,iBA0ZjE"}