couchloop-eq-mcp 1.1.2 → 1.1.4
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/README.md +124 -5
- package/assets/screenshots/checkpoint_session.png +0 -0
- package/assets/screenshots/code_review_workflow.png +0 -0
- package/assets/screenshots/insight_retrieve.png +0 -0
- package/assets/screenshots/insight_save.png +0 -0
- package/assets/screenshots/save_insights.png +0 -0
- package/dist/developer/reports/review-summary.d.ts.map +1 -1
- package/dist/developer/reports/review-summary.js +5 -2
- package/dist/developer/reports/review-summary.js.map +1 -1
- package/dist/developer/scanners/review-assistant.d.ts.map +1 -1
- package/dist/developer/scanners/review-assistant.js +4 -3
- package/dist/developer/scanners/review-assistant.js.map +1 -1
- package/dist/index.js +88 -1
- package/dist/index.js.map +1 -1
- package/dist/server/chatgpt-mcp.d.ts.map +1 -1
- package/dist/server/chatgpt-mcp.js +112 -2
- package/dist/server/chatgpt-mcp.js.map +1 -1
- package/dist/server/http-mcp.d.ts +11 -0
- package/dist/server/http-mcp.d.ts.map +1 -0
- package/dist/server/http-mcp.js +431 -0
- package/dist/server/http-mcp.js.map +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +31 -6
- package/dist/server/index.js.map +1 -1
- package/dist/server/sse.d.ts +1 -1
- package/dist/server/sse.d.ts.map +1 -1
- package/dist/server/sse.js +320 -69
- package/dist/server/sse.js.map +1 -1
- package/dist/tools/check-versions.d.ts.map +1 -1
- package/dist/tools/check-versions.js +17 -22
- package/dist/tools/check-versions.js.map +1 -1
- package/dist/tools/checkpoint.d.ts +4 -1
- package/dist/tools/checkpoint.d.ts.map +1 -1
- package/dist/tools/checkpoint.js +17 -9
- package/dist/tools/checkpoint.js.map +1 -1
- package/dist/tools/index.d.ts +51 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +32 -9
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/sendMessage.d.ts +3 -5
- package/dist/tools/sendMessage.d.ts.map +1 -1
- package/dist/tools/sendMessage.js +39 -17
- package/dist/tools/sendMessage.js.map +1 -1
- package/dist/tools/session-manager.d.ts +32 -0
- package/dist/tools/session-manager.d.ts.map +1 -0
- package/dist/tools/session-manager.js +184 -0
- package/dist/tools/session-manager.js.map +1 -0
- package/dist/tools/validate_packages.d.ts.map +1 -1
- package/dist/tools/validate_packages.js +6 -4
- package/dist/tools/validate_packages.js.map +1 -1
- package/dist/types/checkpoint.d.ts +33 -3
- package/dist/types/checkpoint.d.ts.map +1 -1
- package/dist/types/checkpoint.js +3 -1
- package/dist/types/checkpoint.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,6 +7,38 @@ import { setupTools } from '../tools/index.js';
|
|
|
7
7
|
import { setupResources } from '../resources/index.js';
|
|
8
8
|
// Store sessions by ID
|
|
9
9
|
const sessions = new Map();
|
|
10
|
+
// Prompts definition
|
|
11
|
+
const prompts = [
|
|
12
|
+
{
|
|
13
|
+
name: 'daily-reflection',
|
|
14
|
+
description: 'Start a guided daily reflection session to process your day',
|
|
15
|
+
arguments: [
|
|
16
|
+
{ name: 'mood', description: 'Your current mood (optional)', required: false }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'code-review',
|
|
21
|
+
description: 'Review code for security issues, code smells, and best practices',
|
|
22
|
+
arguments: [
|
|
23
|
+
{ name: 'code', description: 'The code to review', required: true },
|
|
24
|
+
{ name: 'language', description: 'Programming language', required: false }
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'validate-dependencies',
|
|
29
|
+
description: 'Validate package dependencies for hallucinated or vulnerable packages',
|
|
30
|
+
arguments: [
|
|
31
|
+
{ name: 'packages', description: 'Comma-separated list of packages to validate', required: true }
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'sprint-kickoff',
|
|
36
|
+
description: 'Start a new sprint session to capture context and decisions',
|
|
37
|
+
arguments: [
|
|
38
|
+
{ name: 'sprint_name', description: 'Name or identifier for the sprint', required: true }
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
];
|
|
10
42
|
// Cache tool and resource definitions at module level for performance
|
|
11
43
|
// These are static and don't change, so we only need to load them once
|
|
12
44
|
let cachedTools = null;
|
|
@@ -70,11 +102,12 @@ export async function handleChatGPTMCP(req, res) {
|
|
|
70
102
|
resources: {
|
|
71
103
|
subscribe: false,
|
|
72
104
|
listChanged: false
|
|
73
|
-
}
|
|
105
|
+
},
|
|
106
|
+
prompts: {}
|
|
74
107
|
},
|
|
75
108
|
serverInfo: {
|
|
76
109
|
name: 'couchloop-mcp',
|
|
77
|
-
version: '1.
|
|
110
|
+
version: '1.1.3'
|
|
78
111
|
}
|
|
79
112
|
}
|
|
80
113
|
};
|
|
@@ -205,6 +238,83 @@ export async function handleChatGPTMCP(req, res) {
|
|
|
205
238
|
}
|
|
206
239
|
break;
|
|
207
240
|
}
|
|
241
|
+
case 'prompts/list': {
|
|
242
|
+
const response = {
|
|
243
|
+
jsonrpc: '2.0',
|
|
244
|
+
id,
|
|
245
|
+
result: {
|
|
246
|
+
prompts
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
logger.info('Sending prompts list:', response);
|
|
250
|
+
res.json(response);
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
case 'prompts/get': {
|
|
254
|
+
const prompt = prompts.find(p => p.name === params.name);
|
|
255
|
+
if (!prompt) {
|
|
256
|
+
res.json({
|
|
257
|
+
jsonrpc: '2.0',
|
|
258
|
+
id,
|
|
259
|
+
error: {
|
|
260
|
+
code: -32602,
|
|
261
|
+
message: `Prompt not found: ${params.name}`
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
const args = params.arguments || {};
|
|
267
|
+
let messages = [];
|
|
268
|
+
switch (prompt.name) {
|
|
269
|
+
case 'daily-reflection':
|
|
270
|
+
messages = [{
|
|
271
|
+
role: 'user',
|
|
272
|
+
content: {
|
|
273
|
+
type: 'text',
|
|
274
|
+
text: `Start a daily reflection session${args.mood ? ` (current mood: ${args.mood})` : ''}. Use the create_session tool with journey_slug "daily-reflection".`
|
|
275
|
+
}
|
|
276
|
+
}];
|
|
277
|
+
break;
|
|
278
|
+
case 'code-review':
|
|
279
|
+
messages = [{
|
|
280
|
+
role: 'user',
|
|
281
|
+
content: {
|
|
282
|
+
type: 'text',
|
|
283
|
+
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.`
|
|
284
|
+
}
|
|
285
|
+
}];
|
|
286
|
+
break;
|
|
287
|
+
case 'validate-dependencies':
|
|
288
|
+
messages = [{
|
|
289
|
+
role: 'user',
|
|
290
|
+
content: {
|
|
291
|
+
type: 'text',
|
|
292
|
+
text: `Validate these packages: ${args.packages}\n\nUse the validate_packages tool to check if they exist and are safe.`
|
|
293
|
+
}
|
|
294
|
+
}];
|
|
295
|
+
break;
|
|
296
|
+
case 'sprint-kickoff':
|
|
297
|
+
messages = [{
|
|
298
|
+
role: 'user',
|
|
299
|
+
content: {
|
|
300
|
+
type: 'text',
|
|
301
|
+
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.`
|
|
302
|
+
}
|
|
303
|
+
}];
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
const response = {
|
|
307
|
+
jsonrpc: '2.0',
|
|
308
|
+
id,
|
|
309
|
+
result: {
|
|
310
|
+
description: prompt.description,
|
|
311
|
+
messages
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
logger.info('Sending prompt:', response);
|
|
315
|
+
res.json(response);
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
208
318
|
default: {
|
|
209
319
|
res.json({
|
|
210
320
|
jsonrpc: '2.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatgpt-mcp.js","sourceRoot":"","sources":["../../src/server/chatgpt-mcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,uBAAuB;AACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;AAExC,sEAAsE;AACtE,uEAAuE;AACvE,IAAI,WAAW,GAAiB,IAAI,CAAC;AACrC,IAAI,eAAe,GAAiB,IAAI,CAAC;AAEzC;;GAEG;AACH,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAClE,WAAW,GAAG,MAAM,UAAU,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,eAAe,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY,EAAE,GAAa;IAChE,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM;YACxB,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM;SACzB,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAW,IAAI,SAAS,CAAC;QAErE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,2EAA2E;YAC3E,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;gBACtB,KAAK,EAAE,MAAM,cAAc,EAAE;gBAC7B,SAAS,EAAE,MAAM,kBAAkB,EAAE;gBACrC,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAExC,+BAA+B;QAC/B,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;gBAE3B,sBAAsB;gBACtB,MAAM,QAAQ,GAAG;oBACf,OAAO,EAAE,KAAK;oBACd,EAAE;oBACF,MAAM,EAAE;wBACN,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,YAAY;wBACvD,YAAY,EAAE;4BACZ,KAAK,EAAE;gCACL,WAAW,EAAE,KAAK;6BACnB;4BACD,SAAS,EAAE;gCACT,SAAS,EAAE,KAAK;gCAChB,WAAW,EAAE,KAAK;6BACnB;
|
|
1
|
+
{"version":3,"file":"chatgpt-mcp.js","sourceRoot":"","sources":["../../src/server/chatgpt-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP MCP Handler
|
|
3
|
+
* Implements MCP protocol over HTTP POST for all clients (ChatGPT, Claude Desktop, etc.)
|
|
4
|
+
* Used by any client connecting to https://mcp.couchloop.com/mcp
|
|
5
|
+
*/
|
|
6
|
+
import { Request, Response } from 'express';
|
|
7
|
+
/**
|
|
8
|
+
* Handle MCP requests from ChatGPT
|
|
9
|
+
*/
|
|
10
|
+
export declare function handleChatGPTMCP(req: Request, res: Response): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=http-mcp.d.ts.map
|
|
@@ -0,0 +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;AA4G5C;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,iBAsWjE"}
|
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP MCP Handler
|
|
3
|
+
* Implements MCP protocol over HTTP POST for all clients (ChatGPT, Claude Desktop, etc.)
|
|
4
|
+
* Used by any client connecting to https://mcp.couchloop.com/mcp
|
|
5
|
+
*/
|
|
6
|
+
import { logger } from '../utils/logger.js';
|
|
7
|
+
import { setupTools } from '../tools/index.js';
|
|
8
|
+
import { setupResources } from '../resources/index.js';
|
|
9
|
+
// Store sessions by ID
|
|
10
|
+
const sessions = new Map();
|
|
11
|
+
// Prompts definition
|
|
12
|
+
const prompts = [
|
|
13
|
+
{
|
|
14
|
+
name: 'daily-reflection',
|
|
15
|
+
description: 'Start a guided daily reflection session to process your day',
|
|
16
|
+
arguments: [
|
|
17
|
+
{ name: 'mood', description: 'Your current mood (optional)', required: false }
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'code-review',
|
|
22
|
+
description: 'Review code for security issues, code smells, and best practices',
|
|
23
|
+
arguments: [
|
|
24
|
+
{ name: 'code', description: 'The code to review', required: true },
|
|
25
|
+
{ name: 'language', description: 'Programming language', required: false }
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'validate-dependencies',
|
|
30
|
+
description: 'Validate package dependencies for hallucinated or vulnerable packages',
|
|
31
|
+
arguments: [
|
|
32
|
+
{ name: 'packages', description: 'Comma-separated list of packages to validate', required: true }
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'sprint-kickoff',
|
|
37
|
+
description: 'Start a new sprint session to capture context and decisions',
|
|
38
|
+
arguments: [
|
|
39
|
+
{ name: 'sprint_name', description: 'Name or identifier for the sprint', required: true }
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'security-audit',
|
|
44
|
+
description: 'Comprehensive security scan of code for vulnerabilities',
|
|
45
|
+
arguments: [
|
|
46
|
+
{ name: 'code', description: 'The code to audit', required: true },
|
|
47
|
+
{ name: 'language', description: 'Programming language', required: false }
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'pre-commit-check',
|
|
52
|
+
description: 'Full code quality check before committing - security, smells, and review',
|
|
53
|
+
arguments: [
|
|
54
|
+
{ name: 'code', description: 'The code to check', required: true },
|
|
55
|
+
{ name: 'language', description: 'Programming language', required: false }
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'check-outdated-deps',
|
|
60
|
+
description: 'Find outdated or deprecated dependencies in your project',
|
|
61
|
+
arguments: [
|
|
62
|
+
{ name: 'packages', description: 'Comma-separated list of packages to check', required: true },
|
|
63
|
+
{ name: 'registry', description: 'Package registry (npm, pypi, maven)', required: false }
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'save-architecture',
|
|
68
|
+
description: 'Store current architecture decisions and technical patterns for future reference',
|
|
69
|
+
arguments: [
|
|
70
|
+
{ name: 'content', description: 'Architecture decision or pattern to preserve', required: true },
|
|
71
|
+
{ name: 'category', description: 'Category: architecture, requirements, constraints, decisions, technical-patterns', required: false }
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'retrieve-context',
|
|
76
|
+
description: 'Retrieve stored context - either recent context or search for specific topic',
|
|
77
|
+
arguments: [
|
|
78
|
+
{ name: 'search_term', description: 'Optional search term (e.g., "email persistence issue")', required: false },
|
|
79
|
+
{ name: 'category', description: 'Filter by category: architecture, requirements, constraints, decisions, technical-patterns', required: false }
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
];
|
|
83
|
+
// Cache tool and resource definitions at module level for performance
|
|
84
|
+
// These are static and don't change, so we only need to load them once
|
|
85
|
+
let cachedTools = null;
|
|
86
|
+
let cachedResources = null;
|
|
87
|
+
/**
|
|
88
|
+
* Get cached tools or load them once
|
|
89
|
+
*/
|
|
90
|
+
async function getCachedTools() {
|
|
91
|
+
if (!cachedTools) {
|
|
92
|
+
logger.info('Loading tool definitions (one-time initialization)');
|
|
93
|
+
cachedTools = await setupTools();
|
|
94
|
+
}
|
|
95
|
+
return cachedTools;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get cached resources or load them once
|
|
99
|
+
*/
|
|
100
|
+
async function getCachedResources() {
|
|
101
|
+
if (!cachedResources) {
|
|
102
|
+
logger.info('Loading resource definitions (one-time initialization)');
|
|
103
|
+
cachedResources = await setupResources();
|
|
104
|
+
}
|
|
105
|
+
return cachedResources;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Handle MCP requests from ChatGPT
|
|
109
|
+
*/
|
|
110
|
+
export async function handleChatGPTMCP(req, res) {
|
|
111
|
+
try {
|
|
112
|
+
logger.info('ChatGPT MCP Request:', {
|
|
113
|
+
method: req.body?.method,
|
|
114
|
+
id: req.body?.id,
|
|
115
|
+
params: req.body?.params
|
|
116
|
+
});
|
|
117
|
+
// Get or create session
|
|
118
|
+
const sessionId = req.headers['x-session-id'] || 'default';
|
|
119
|
+
if (!sessions.has(sessionId)) {
|
|
120
|
+
// Use cached tools and resources for performance (saves ~30ms per request)
|
|
121
|
+
sessions.set(sessionId, {
|
|
122
|
+
tools: await getCachedTools(),
|
|
123
|
+
resources: await getCachedResources(),
|
|
124
|
+
initialized: false
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
const session = sessions.get(sessionId);
|
|
128
|
+
const { method, params, id } = req.body;
|
|
129
|
+
// Handle different MCP methods
|
|
130
|
+
switch (method) {
|
|
131
|
+
case 'initialize': {
|
|
132
|
+
session.initialized = true;
|
|
133
|
+
// Return capabilities
|
|
134
|
+
const response = {
|
|
135
|
+
jsonrpc: '2.0',
|
|
136
|
+
id,
|
|
137
|
+
result: {
|
|
138
|
+
protocolVersion: params.protocolVersion || '2024-11-05',
|
|
139
|
+
capabilities: {
|
|
140
|
+
tools: {
|
|
141
|
+
listChanged: false
|
|
142
|
+
},
|
|
143
|
+
resources: {
|
|
144
|
+
subscribe: false,
|
|
145
|
+
listChanged: false
|
|
146
|
+
},
|
|
147
|
+
prompts: {}
|
|
148
|
+
},
|
|
149
|
+
serverInfo: {
|
|
150
|
+
name: 'couchloop-mcp',
|
|
151
|
+
version: '1.1.3'
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
logger.info('Sending initialize response:', response);
|
|
156
|
+
res.json(response);
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
case 'tools/list': {
|
|
160
|
+
const response = {
|
|
161
|
+
jsonrpc: '2.0',
|
|
162
|
+
id,
|
|
163
|
+
result: {
|
|
164
|
+
tools: session.tools.map((t) => t.definition)
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
logger.info('Sending tools list:', response);
|
|
168
|
+
res.json(response);
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
case 'tools/call': {
|
|
172
|
+
const tool = session.tools.find((t) => t.definition.name === params.name);
|
|
173
|
+
if (!tool) {
|
|
174
|
+
res.json({
|
|
175
|
+
jsonrpc: '2.0',
|
|
176
|
+
id,
|
|
177
|
+
error: {
|
|
178
|
+
code: -32602,
|
|
179
|
+
message: `Tool not found: ${params.name}`
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
try {
|
|
185
|
+
// Extract stable identifiers from ChatGPT metadata
|
|
186
|
+
const openaiSession = params._meta?.['openai/session'];
|
|
187
|
+
const openaiSubject = params._meta?.['openai/subject'];
|
|
188
|
+
// Inject auth context using OpenAI's stable identifiers
|
|
189
|
+
const enhancedArguments = {
|
|
190
|
+
...params.arguments,
|
|
191
|
+
auth: params.arguments?.auth || {
|
|
192
|
+
client_id: 'chatgpt',
|
|
193
|
+
conversation_id: openaiSession || sessionId, // Use OpenAI session as conversation ID
|
|
194
|
+
user_id: openaiSubject // Use OpenAI subject as stable user ID (priority 1 in auth hierarchy)
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
logger.info('Enhanced arguments with auth:', {
|
|
198
|
+
hasAuth: !!enhancedArguments.auth,
|
|
199
|
+
authUserId: enhancedArguments.auth?.user_id,
|
|
200
|
+
authConversationId: enhancedArguments.auth?.conversation_id,
|
|
201
|
+
toolName: params.name
|
|
202
|
+
});
|
|
203
|
+
const result = await tool.handler(enhancedArguments);
|
|
204
|
+
// Wrap the result in MCP content format
|
|
205
|
+
const response = {
|
|
206
|
+
jsonrpc: '2.0',
|
|
207
|
+
id,
|
|
208
|
+
result: {
|
|
209
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }]
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
logger.info('Tool call result:', response);
|
|
213
|
+
res.json(response);
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
logger.error('Tool call error:', error);
|
|
217
|
+
res.json({
|
|
218
|
+
jsonrpc: '2.0',
|
|
219
|
+
id,
|
|
220
|
+
error: {
|
|
221
|
+
code: -32603,
|
|
222
|
+
message: error.message || 'Tool execution failed'
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
case 'resources/list': {
|
|
229
|
+
const response = {
|
|
230
|
+
jsonrpc: '2.0',
|
|
231
|
+
id,
|
|
232
|
+
result: {
|
|
233
|
+
resources: session.resources.map((r) => r.definition)
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
logger.info('Sending resources list:', response);
|
|
237
|
+
res.json(response);
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
case 'resources/read': {
|
|
241
|
+
const resource = session.resources.find((r) => r.definition.uri === params.uri);
|
|
242
|
+
if (!resource) {
|
|
243
|
+
res.json({
|
|
244
|
+
jsonrpc: '2.0',
|
|
245
|
+
id,
|
|
246
|
+
error: {
|
|
247
|
+
code: -32602,
|
|
248
|
+
message: `Resource not found: ${params.uri}`
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
try {
|
|
254
|
+
const content = await resource.handler();
|
|
255
|
+
const response = {
|
|
256
|
+
jsonrpc: '2.0',
|
|
257
|
+
id,
|
|
258
|
+
result: {
|
|
259
|
+
contents: [{
|
|
260
|
+
uri: params.uri,
|
|
261
|
+
mimeType: resource.definition.mimeType || 'application/json',
|
|
262
|
+
text: content
|
|
263
|
+
}]
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
logger.info('Resource read result:', response);
|
|
267
|
+
res.json(response);
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
logger.error('Resource read error:', error);
|
|
271
|
+
res.json({
|
|
272
|
+
jsonrpc: '2.0',
|
|
273
|
+
id,
|
|
274
|
+
error: {
|
|
275
|
+
code: -32603,
|
|
276
|
+
message: error.message || 'Resource read failed'
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
case 'prompts/list': {
|
|
283
|
+
const response = {
|
|
284
|
+
jsonrpc: '2.0',
|
|
285
|
+
id,
|
|
286
|
+
result: {
|
|
287
|
+
prompts
|
|
288
|
+
}
|
|
289
|
+
};
|
|
290
|
+
logger.info('Sending prompts list:', response);
|
|
291
|
+
res.json(response);
|
|
292
|
+
break;
|
|
293
|
+
}
|
|
294
|
+
case 'prompts/get': {
|
|
295
|
+
const prompt = prompts.find(p => p.name === params.name);
|
|
296
|
+
if (!prompt) {
|
|
297
|
+
res.json({
|
|
298
|
+
jsonrpc: '2.0',
|
|
299
|
+
id,
|
|
300
|
+
error: {
|
|
301
|
+
code: -32602,
|
|
302
|
+
message: `Prompt not found: ${params.name}`
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
const args = params.arguments || {};
|
|
308
|
+
let messages = [];
|
|
309
|
+
switch (prompt.name) {
|
|
310
|
+
case 'daily-reflection':
|
|
311
|
+
messages = [{
|
|
312
|
+
role: 'user',
|
|
313
|
+
content: {
|
|
314
|
+
type: 'text',
|
|
315
|
+
text: `Start a daily reflection session${args.mood ? ` (current mood: ${args.mood})` : ''}. Use the create_session tool with journey_slug "daily-reflection".`
|
|
316
|
+
}
|
|
317
|
+
}];
|
|
318
|
+
break;
|
|
319
|
+
case 'code-review':
|
|
320
|
+
messages = [{
|
|
321
|
+
role: 'user',
|
|
322
|
+
content: {
|
|
323
|
+
type: 'text',
|
|
324
|
+
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.`
|
|
325
|
+
}
|
|
326
|
+
}];
|
|
327
|
+
break;
|
|
328
|
+
case 'validate-dependencies':
|
|
329
|
+
messages = [{
|
|
330
|
+
role: 'user',
|
|
331
|
+
content: {
|
|
332
|
+
type: 'text',
|
|
333
|
+
text: `Validate these packages: ${args.packages}\n\nUse the validate_packages tool to check if they exist and are safe.`
|
|
334
|
+
}
|
|
335
|
+
}];
|
|
336
|
+
break;
|
|
337
|
+
case 'sprint-kickoff':
|
|
338
|
+
messages = [{
|
|
339
|
+
role: 'user',
|
|
340
|
+
content: {
|
|
341
|
+
type: 'text',
|
|
342
|
+
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.`
|
|
343
|
+
}
|
|
344
|
+
}];
|
|
345
|
+
break;
|
|
346
|
+
case 'security-audit':
|
|
347
|
+
messages = [{
|
|
348
|
+
role: 'user',
|
|
349
|
+
content: {
|
|
350
|
+
type: 'text',
|
|
351
|
+
text: `Perform a comprehensive security audit on this code:\n\n\`\`\`${args.language || ''}\n${args.code}\n\`\`\`\n\nUse scan_security with scanType "thorough" to detect SQL injection, XSS, hardcoded secrets, and other vulnerabilities.`
|
|
352
|
+
}
|
|
353
|
+
}];
|
|
354
|
+
break;
|
|
355
|
+
case 'pre-commit-check':
|
|
356
|
+
messages = [{
|
|
357
|
+
role: 'user',
|
|
358
|
+
content: {
|
|
359
|
+
type: 'text',
|
|
360
|
+
text: `Run a full pre-commit quality check on this code:\n\n\`\`\`${args.language || ''}\n${args.code}\n\`\`\`\n\nUse all three tools:\n1. scan_security - check for vulnerabilities\n2. pre_review_code - catch console.logs, TODOs, missing error handling\n3. detect_code_smell - find over-engineering and bloat\n\nProvide a summary of issues found.`
|
|
361
|
+
}
|
|
362
|
+
}];
|
|
363
|
+
break;
|
|
364
|
+
case 'check-outdated-deps':
|
|
365
|
+
messages = [{
|
|
366
|
+
role: 'user',
|
|
367
|
+
content: {
|
|
368
|
+
type: 'text',
|
|
369
|
+
text: `Check these packages for outdated versions and deprecated APIs: ${args.packages}${args.registry ? ` (registry: ${args.registry})` : ''}\n\nUse check_versions tool with checkDeprecated=true and includeUpgradePath=true to identify outdated dependencies and migration paths.`
|
|
370
|
+
}
|
|
371
|
+
}];
|
|
372
|
+
break;
|
|
373
|
+
case 'save-architecture':
|
|
374
|
+
messages = [{
|
|
375
|
+
role: 'user',
|
|
376
|
+
content: {
|
|
377
|
+
type: 'text',
|
|
378
|
+
text: `Save this architecture decision for future reference:\n\n${args.content}\n\nUse preserve_context with action "store" and category "${args.category || 'architecture'}" to preserve this context.`
|
|
379
|
+
}
|
|
380
|
+
}];
|
|
381
|
+
break;
|
|
382
|
+
case 'retrieve-context':
|
|
383
|
+
messages = [{
|
|
384
|
+
role: 'user',
|
|
385
|
+
content: {
|
|
386
|
+
type: 'text',
|
|
387
|
+
text: args.search_term
|
|
388
|
+
? `Retrieve stored context matching: "${args.search_term}"${args.category ? ` in category "${args.category}"` : ''}.\n\nUse preserve_context with action "retrieve" and search_term "${args.search_term}".`
|
|
389
|
+
: `Retrieve recent stored context${args.category ? ` from category "${args.category}"` : ''}.\n\nUse preserve_context with action "retrieve" to get the most recent context.`
|
|
390
|
+
}
|
|
391
|
+
}];
|
|
392
|
+
break;
|
|
393
|
+
}
|
|
394
|
+
const response = {
|
|
395
|
+
jsonrpc: '2.0',
|
|
396
|
+
id,
|
|
397
|
+
result: {
|
|
398
|
+
description: prompt.description,
|
|
399
|
+
messages
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
logger.info('Sending prompt:', response);
|
|
403
|
+
res.json(response);
|
|
404
|
+
break;
|
|
405
|
+
}
|
|
406
|
+
default: {
|
|
407
|
+
res.json({
|
|
408
|
+
jsonrpc: '2.0',
|
|
409
|
+
id,
|
|
410
|
+
error: {
|
|
411
|
+
code: -32601,
|
|
412
|
+
message: `Method not found: ${method}`
|
|
413
|
+
}
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
catch (error) {
|
|
419
|
+
logger.error('ChatGPT MCP handler error:', error);
|
|
420
|
+
res.status(500).json({
|
|
421
|
+
jsonrpc: '2.0',
|
|
422
|
+
id: req.body?.id,
|
|
423
|
+
error: {
|
|
424
|
+
code: -32603,
|
|
425
|
+
message: 'Internal error',
|
|
426
|
+
data: error instanceof Error ? error.message : 'Unknown error'
|
|
427
|
+
}
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
//# sourceMappingURL=http-mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-mcp.js","sourceRoot":"","sources":["../../src/server/http-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AA4BA,QAAA,MAAM,GAAG,6CAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AA4BA,QAAA,MAAM,GAAG,6CAAY,CAAC;AAmjBtB,eAAe,GAAG,CAAC"}
|