couchloop-eq-mcp 1.1.3 → 1.1.6
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 +6 -0
- package/dist/clients/shrinkChatClient.d.ts +4 -4
- package/dist/index.js +168 -6
- 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 +28 -3
- 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 +7 -7
- 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 -18
- package/dist/tools/checkpoint.d.ts.map +1 -1
- package/dist/tools/checkpoint.js +85 -11
- package/dist/tools/checkpoint.js.map +1 -1
- package/dist/tools/comprehensive-code-review.d.ts +78 -0
- package/dist/tools/comprehensive-code-review.d.ts.map +1 -0
- package/dist/tools/comprehensive-code-review.js +177 -0
- package/dist/tools/comprehensive-code-review.js.map +1 -0
- package/dist/tools/comprehensive-package-audit.d.ts +75 -0
- package/dist/tools/comprehensive-package-audit.d.ts.map +1 -0
- package/dist/tools/comprehensive-package-audit.js +151 -0
- package/dist/tools/comprehensive-package-audit.js.map +1 -0
- package/dist/tools/detect-build-context.d.ts +59 -0
- package/dist/tools/detect-build-context.d.ts.map +1 -0
- package/dist/tools/detect-build-context.js +80 -0
- package/dist/tools/detect-build-context.js.map +1 -0
- package/dist/tools/generate-upgrade-report.d.ts +85 -0
- package/dist/tools/generate-upgrade-report.d.ts.map +1 -0
- package/dist/tools/generate-upgrade-report.js +102 -0
- package/dist/tools/generate-upgrade-report.js.map +1 -0
- package/dist/tools/index-full.d.ts +1355 -0
- package/dist/tools/index-full.d.ts.map +1 -0
- package/dist/tools/index-full.js +611 -0
- package/dist/tools/index-full.js.map +1 -0
- package/dist/tools/index.d.ts +27 -968
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +29 -531
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/insight.d.ts +25 -6
- package/dist/tools/insight.d.ts.map +1 -1
- package/dist/tools/insight.js +2 -1
- package/dist/tools/insight.js.map +1 -1
- package/dist/tools/prevent-ai-errors.d.ts +85 -0
- package/dist/tools/prevent-ai-errors.d.ts.map +1 -0
- package/dist/tools/prevent-ai-errors.js +97 -0
- package/dist/tools/prevent-ai-errors.js.map +1 -0
- package/dist/tools/primary-tools.d.ts +430 -0
- package/dist/tools/primary-tools.d.ts.map +1 -0
- package/dist/tools/primary-tools.js +294 -0
- package/dist/tools/primary-tools.js.map +1 -0
- package/dist/tools/sendMessage.d.ts +3 -5
- package/dist/tools/sendMessage.d.ts.map +1 -1
- package/dist/tools/sendMessage.js +47 -22
- 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/smart-context.d.ts +66 -0
- package/dist/tools/smart-context.d.ts.map +1 -0
- package/dist/tools/smart-context.js +167 -0
- package/dist/tools/smart-context.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 +59 -4
- package/dist/types/checkpoint.d.ts.map +1 -1
- package/dist/types/checkpoint.js +20 -1
- package/dist/types/checkpoint.js.map +1 -1
- package/dist/types/journey.d.ts +6 -6
- package/dist/types/session.d.ts +3 -3
- package/dist/utils/sanitize.d.ts +24 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +117 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/workflows/index.d.ts +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -61,6 +61,12 @@ Unlike raw LLMs that can hallucinate packages, generate insecure code, and lose
|
|
|
61
61
|
- **Crisis Detection**: Integration with therapeutic AI for emotional support
|
|
62
62
|
- **Memory Context**: Preserves important insights and checkpoints
|
|
63
63
|
|
|
64
|
+
### Privacy by Design
|
|
65
|
+
- **No personal data stored**: No emails, names, passwords, or API keys
|
|
66
|
+
- **Session-based isolation**: Each session is anonymous and isolated
|
|
67
|
+
- **Your data stays yours**: Insights and context are tied to session IDs, not identities
|
|
68
|
+
- **No tracking**: No analytics, no telemetry, no third-party data sharing
|
|
69
|
+
|
|
64
70
|
## Quick Start
|
|
65
71
|
|
|
66
72
|
CouchLoop EQ is a standard MCP server that works with **any MCP-compatible client**—Claude Desktop, ChatGPT, Cursor, Windsurf, VS Code, and more.
|
|
@@ -65,12 +65,12 @@ export declare const ShrinkResponseSchema: z.ZodObject<{
|
|
|
65
65
|
phone?: string | undefined;
|
|
66
66
|
}[] | undefined;
|
|
67
67
|
escalationPath?: string | undefined;
|
|
68
|
-
message?: string | undefined;
|
|
69
68
|
error?: string | undefined;
|
|
70
69
|
reply?: string | undefined;
|
|
71
70
|
response_text?: string | undefined;
|
|
72
71
|
messageId?: string | undefined;
|
|
73
72
|
crisisDetected?: boolean | undefined;
|
|
73
|
+
message?: string | undefined;
|
|
74
74
|
crisisHandled?: boolean | undefined;
|
|
75
75
|
crisis_confidence?: number | undefined;
|
|
76
76
|
crisis_requires_intervention?: boolean | undefined;
|
|
@@ -98,12 +98,12 @@ export declare const ShrinkResponseSchema: z.ZodObject<{
|
|
|
98
98
|
phone?: string | undefined;
|
|
99
99
|
}[] | undefined;
|
|
100
100
|
escalationPath?: string | undefined;
|
|
101
|
-
message?: string | undefined;
|
|
102
101
|
error?: string | undefined;
|
|
103
102
|
reply?: string | undefined;
|
|
104
103
|
response_text?: string | undefined;
|
|
105
104
|
messageId?: string | undefined;
|
|
106
105
|
crisisDetected?: boolean | undefined;
|
|
106
|
+
message?: string | undefined;
|
|
107
107
|
crisisHandled?: boolean | undefined;
|
|
108
108
|
crisis_confidence?: number | undefined;
|
|
109
109
|
crisis_requires_intervention?: boolean | undefined;
|
|
@@ -127,14 +127,14 @@ export declare const ErrorResponseSchema: z.ZodObject<{
|
|
|
127
127
|
details: z.ZodOptional<z.ZodAny>;
|
|
128
128
|
}, "strip", z.ZodTypeAny, {
|
|
129
129
|
code?: string | undefined;
|
|
130
|
-
message?: string | undefined;
|
|
131
130
|
error?: string | undefined;
|
|
131
|
+
message?: string | undefined;
|
|
132
132
|
error_type?: string | undefined;
|
|
133
133
|
details?: any;
|
|
134
134
|
}, {
|
|
135
135
|
code?: string | undefined;
|
|
136
|
-
message?: string | undefined;
|
|
137
136
|
error?: string | undefined;
|
|
137
|
+
message?: string | undefined;
|
|
138
138
|
error_type?: string | undefined;
|
|
139
139
|
details?: any;
|
|
140
140
|
}>;
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Server } from '@modelcontextprotocol/sdk/server';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
import dotenv from 'dotenv';
|
|
6
6
|
import { setupTools } from './tools/index.js';
|
|
7
7
|
import { setupResources } from './resources/index.js';
|
|
8
8
|
import { logger } from './utils/logger.js';
|
|
9
|
-
import { initDatabase } from './db/client.js';
|
|
9
|
+
import { initDatabase, getDb } from './db/client.js';
|
|
10
|
+
import { governancePreCheck, governancePostCheck } from './governance/middleware.js';
|
|
11
|
+
import { governanceAuditLog } from './db/schema.js';
|
|
10
12
|
// Load environment variables
|
|
11
13
|
dotenv.config({ path: '.env.local' });
|
|
12
14
|
// Initialize server
|
|
@@ -24,6 +26,7 @@ async function main() {
|
|
|
24
26
|
capabilities: {
|
|
25
27
|
tools: {},
|
|
26
28
|
resources: {},
|
|
29
|
+
prompts: {},
|
|
27
30
|
},
|
|
28
31
|
});
|
|
29
32
|
// Set up tools
|
|
@@ -33,13 +36,86 @@ async function main() {
|
|
|
33
36
|
tools: tools.map(t => t.definition)
|
|
34
37
|
}));
|
|
35
38
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
36
|
-
const
|
|
39
|
+
const toolName = request.params.name;
|
|
40
|
+
const args = request.params.arguments || {};
|
|
41
|
+
const tool = tools.find(t => t.definition.name === toolName);
|
|
37
42
|
if (!tool) {
|
|
38
|
-
throw new Error(`Tool ${
|
|
43
|
+
throw new Error(`Tool ${toolName} not found`);
|
|
39
44
|
}
|
|
40
|
-
|
|
45
|
+
// ═══════════════════════════════════════════════
|
|
46
|
+
// GOVERNANCE PRE-CHECK
|
|
47
|
+
// ═══════════════════════════════════════════════
|
|
48
|
+
const preCheck = await governancePreCheck(toolName, args);
|
|
49
|
+
if (!preCheck.allowed) {
|
|
50
|
+
logger.warn(`[Governance] BLOCKED ${toolName}:`, preCheck.issues);
|
|
51
|
+
// Log to audit
|
|
52
|
+
try {
|
|
53
|
+
const db = getDb();
|
|
54
|
+
await db.insert(governanceAuditLog).values({
|
|
55
|
+
actionType: 'pre_check_block',
|
|
56
|
+
reason: preCheck.issues.join('; '),
|
|
57
|
+
confidenceScore: Math.round(preCheck.confidence * 100),
|
|
58
|
+
metadata: {
|
|
59
|
+
tool: toolName,
|
|
60
|
+
issues: preCheck.issues,
|
|
61
|
+
blocked: true,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (auditError) {
|
|
66
|
+
logger.warn('Failed to log governance audit:', auditError);
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
content: [{
|
|
70
|
+
type: 'text',
|
|
71
|
+
text: JSON.stringify({
|
|
72
|
+
blocked: true,
|
|
73
|
+
reason: 'Governance pre-check failed',
|
|
74
|
+
issues: preCheck.issues,
|
|
75
|
+
confidence: preCheck.confidence,
|
|
76
|
+
}, null, 2)
|
|
77
|
+
}]
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// ═══════════════════════════════════════════════
|
|
81
|
+
// EXECUTE TOOL
|
|
82
|
+
// ═══════════════════════════════════════════════
|
|
83
|
+
const result = await tool.handler(args);
|
|
84
|
+
// ═══════════════════════════════════════════════
|
|
85
|
+
// GOVERNANCE POST-CHECK
|
|
86
|
+
// ═══════════════════════════════════════════════
|
|
87
|
+
const postCheck = await governancePostCheck(toolName, result);
|
|
88
|
+
if (postCheck.issues.length > 0) {
|
|
89
|
+
logger.info(`[Governance] Issues detected in ${toolName} output:`, postCheck.issues);
|
|
90
|
+
// Log to audit (but don't block - shadow mode)
|
|
91
|
+
try {
|
|
92
|
+
const db = getDb();
|
|
93
|
+
await db.insert(governanceAuditLog).values({
|
|
94
|
+
actionType: 'post_check_warning',
|
|
95
|
+
reason: postCheck.issues.join('; '),
|
|
96
|
+
confidenceScore: Math.round(postCheck.confidence * 100),
|
|
97
|
+
metadata: {
|
|
98
|
+
tool: toolName,
|
|
99
|
+
issues: postCheck.issues,
|
|
100
|
+
blocked: false,
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (auditError) {
|
|
105
|
+
logger.warn('Failed to log governance audit:', auditError);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Add governance metadata to response
|
|
109
|
+
const governedResult = {
|
|
110
|
+
...(typeof result === 'object' && result !== null ? result : { value: result }),
|
|
111
|
+
_governance: {
|
|
112
|
+
checked: true,
|
|
113
|
+
issues: postCheck.issues,
|
|
114
|
+
confidence: postCheck.confidence,
|
|
115
|
+
}
|
|
116
|
+
};
|
|
41
117
|
return {
|
|
42
|
-
content: [{ type: 'text', text: JSON.stringify(
|
|
118
|
+
content: [{ type: 'text', text: JSON.stringify(governedResult, null, 2) }]
|
|
43
119
|
};
|
|
44
120
|
});
|
|
45
121
|
logger.info('Tools registered');
|
|
@@ -64,6 +140,92 @@ async function main() {
|
|
|
64
140
|
};
|
|
65
141
|
});
|
|
66
142
|
logger.info('Resources registered');
|
|
143
|
+
// Set up prompts
|
|
144
|
+
const prompts = [
|
|
145
|
+
{
|
|
146
|
+
name: 'daily-reflection',
|
|
147
|
+
description: 'Start a guided daily reflection session to process your day',
|
|
148
|
+
arguments: [
|
|
149
|
+
{ name: 'mood', description: 'Your current mood (optional)', required: false }
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: 'code-review',
|
|
154
|
+
description: 'Review code for security issues, code smells, and best practices',
|
|
155
|
+
arguments: [
|
|
156
|
+
{ name: 'code', description: 'The code to review', required: true },
|
|
157
|
+
{ name: 'language', description: 'Programming language', required: false }
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: 'validate-dependencies',
|
|
162
|
+
description: 'Validate package dependencies for hallucinated or vulnerable packages',
|
|
163
|
+
arguments: [
|
|
164
|
+
{ name: 'packages', description: 'Comma-separated list of packages to validate', required: true }
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: 'sprint-kickoff',
|
|
169
|
+
description: 'Start a new sprint session to capture context and decisions',
|
|
170
|
+
arguments: [
|
|
171
|
+
{ name: 'sprint_name', description: 'Name or identifier for the sprint', required: true }
|
|
172
|
+
]
|
|
173
|
+
}
|
|
174
|
+
];
|
|
175
|
+
server.setRequestHandler(ListPromptsRequestSchema, async () => ({
|
|
176
|
+
prompts
|
|
177
|
+
}));
|
|
178
|
+
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
179
|
+
const prompt = prompts.find(p => p.name === request.params.name);
|
|
180
|
+
if (!prompt) {
|
|
181
|
+
throw new Error(`Prompt not found: ${request.params.name}`);
|
|
182
|
+
}
|
|
183
|
+
const args = request.params.arguments || {};
|
|
184
|
+
let messages = [];
|
|
185
|
+
switch (prompt.name) {
|
|
186
|
+
case 'daily-reflection':
|
|
187
|
+
messages = [{
|
|
188
|
+
role: 'user',
|
|
189
|
+
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
|
+
}];
|
|
194
|
+
break;
|
|
195
|
+
case 'code-review':
|
|
196
|
+
messages = [{
|
|
197
|
+
role: 'user',
|
|
198
|
+
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
|
+
}];
|
|
203
|
+
break;
|
|
204
|
+
case 'validate-dependencies':
|
|
205
|
+
messages = [{
|
|
206
|
+
role: 'user',
|
|
207
|
+
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
|
+
}];
|
|
212
|
+
break;
|
|
213
|
+
case 'sprint-kickoff':
|
|
214
|
+
messages = [{
|
|
215
|
+
role: 'user',
|
|
216
|
+
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
|
+
}];
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
description: prompt.description,
|
|
225
|
+
messages
|
|
226
|
+
};
|
|
227
|
+
});
|
|
228
|
+
logger.info('Prompts registered');
|
|
67
229
|
// Start the server with stdio transport
|
|
68
230
|
const transport = new StdioServerTransport();
|
|
69
231
|
await server.connect(transport);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatgpt-mcp.d.ts","sourceRoot":"","sources":["../../src/server/chatgpt-mcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"chatgpt-mcp.d.ts","sourceRoot":"","sources":["../../src/server/chatgpt-mcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAoE5C;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,iBAkTjE"}
|
|
@@ -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"}
|