claude-cognitive 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +256 -0
- package/bin/claude-cognitive.js +9 -0
- package/dist/agents/context.d.ts +40 -0
- package/dist/agents/context.d.ts.map +1 -0
- package/dist/agents/context.js +144 -0
- package/dist/agents/context.js.map +1 -0
- package/dist/agents/index.d.ts +9 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +11 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/loader.d.ts +48 -0
- package/dist/agents/loader.d.ts.map +1 -0
- package/dist/agents/loader.js +157 -0
- package/dist/agents/loader.js.map +1 -0
- package/dist/agents/templates.d.ts +51 -0
- package/dist/agents/templates.d.ts.map +1 -0
- package/dist/agents/templates.js +186 -0
- package/dist/agents/templates.js.map +1 -0
- package/dist/agents/types.d.ts +52 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +6 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/cli/commands/config.d.ts +10 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +22 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/index.d.ts +17 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +17 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +10 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +109 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install.d.ts +10 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +440 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/learn.d.ts +10 -0
- package/dist/cli/commands/learn.d.ts.map +1 -0
- package/dist/cli/commands/learn.js +33 -0
- package/dist/cli/commands/learn.js.map +1 -0
- package/dist/cli/commands/recall.d.ts +10 -0
- package/dist/cli/commands/recall.d.ts.map +1 -0
- package/dist/cli/commands/recall.js +52 -0
- package/dist/cli/commands/recall.js.map +1 -0
- package/dist/cli/commands/reflect.d.ts +10 -0
- package/dist/cli/commands/reflect.d.ts.map +1 -0
- package/dist/cli/commands/reflect.js +48 -0
- package/dist/cli/commands/reflect.js.map +1 -0
- package/dist/cli/commands/semantic.d.ts +10 -0
- package/dist/cli/commands/semantic.d.ts.map +1 -0
- package/dist/cli/commands/semantic.js +67 -0
- package/dist/cli/commands/semantic.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +10 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +61 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/status.d.ts +10 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +44 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +10 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +260 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/uninstall.d.ts +10 -0
- package/dist/cli/commands/uninstall.d.ts.map +1 -0
- package/dist/cli/commands/uninstall.js +205 -0
- package/dist/cli/commands/uninstall.js.map +1 -0
- package/dist/cli/commands/update-bank.d.ts +10 -0
- package/dist/cli/commands/update-bank.d.ts.map +1 -0
- package/dist/cli/commands/update-bank.js +129 -0
- package/dist/cli/commands/update-bank.js.map +1 -0
- package/dist/cli/index.d.ts +6 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +56 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/errors.d.ts +42 -0
- package/dist/cli/utils/errors.d.ts.map +1 -0
- package/dist/cli/utils/errors.js +78 -0
- package/dist/cli/utils/errors.js.map +1 -0
- package/dist/cli/utils/index.d.ts +9 -0
- package/dist/cli/utils/index.d.ts.map +1 -0
- package/dist/cli/utils/index.js +7 -0
- package/dist/cli/utils/index.js.map +1 -0
- package/dist/cli/utils/output.d.ts +90 -0
- package/dist/cli/utils/output.d.ts.map +1 -0
- package/dist/cli/utils/output.js +164 -0
- package/dist/cli/utils/output.js.map +1 -0
- package/dist/client.d.ts +200 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +447 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +44 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +264 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +72 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +188 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +148 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +115 -0
- package/dist/events.js.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +7 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/inject-context.d.ts +18 -0
- package/dist/hooks/inject-context.d.ts.map +1 -0
- package/dist/hooks/inject-context.js +57 -0
- package/dist/hooks/inject-context.js.map +1 -0
- package/dist/hooks/process-session.d.ts +18 -0
- package/dist/hooks/process-session.d.ts.map +1 -0
- package/dist/hooks/process-session.js +119 -0
- package/dist/hooks/process-session.js.map +1 -0
- package/dist/index.d.ts +63 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/learn/analyzers/git.d.ts +62 -0
- package/dist/learn/analyzers/git.d.ts.map +1 -0
- package/dist/learn/analyzers/git.js +183 -0
- package/dist/learn/analyzers/git.js.map +1 -0
- package/dist/learn/analyzers/index.d.ts +15 -0
- package/dist/learn/analyzers/index.d.ts.map +1 -0
- package/dist/learn/analyzers/index.js +10 -0
- package/dist/learn/analyzers/index.js.map +1 -0
- package/dist/learn/analyzers/package.d.ts +57 -0
- package/dist/learn/analyzers/package.d.ts.map +1 -0
- package/dist/learn/analyzers/package.js +245 -0
- package/dist/learn/analyzers/package.js.map +1 -0
- package/dist/learn/analyzers/readme.d.ts +27 -0
- package/dist/learn/analyzers/readme.d.ts.map +1 -0
- package/dist/learn/analyzers/readme.js +163 -0
- package/dist/learn/analyzers/readme.js.map +1 -0
- package/dist/learn/analyzers/source.d.ts +70 -0
- package/dist/learn/analyzers/source.d.ts.map +1 -0
- package/dist/learn/analyzers/source.js +231 -0
- package/dist/learn/analyzers/source.js.map +1 -0
- package/dist/learn/analyzers/structure.d.ts +39 -0
- package/dist/learn/analyzers/structure.d.ts.map +1 -0
- package/dist/learn/analyzers/structure.js +172 -0
- package/dist/learn/analyzers/structure.js.map +1 -0
- package/dist/learn/extractor.d.ts +76 -0
- package/dist/learn/extractor.d.ts.map +1 -0
- package/dist/learn/extractor.js +302 -0
- package/dist/learn/extractor.js.map +1 -0
- package/dist/learn/index.d.ts +31 -0
- package/dist/learn/index.d.ts.map +1 -0
- package/dist/learn/index.js +165 -0
- package/dist/learn/index.js.map +1 -0
- package/dist/mcp/handlers.d.ts +23 -0
- package/dist/mcp/handlers.d.ts.map +1 -0
- package/dist/mcp/handlers.js +124 -0
- package/dist/mcp/handlers.js.map +1 -0
- package/dist/mcp/index.d.ts +32 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +40 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +79 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +277 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +59 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +43 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +65 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +6 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mind.d.ts +250 -0
- package/dist/mind.d.ts.map +1 -0
- package/dist/mind.js +637 -0
- package/dist/mind.js.map +1 -0
- package/dist/promotion.d.ts +112 -0
- package/dist/promotion.d.ts.map +1 -0
- package/dist/promotion.js +196 -0
- package/dist/promotion.js.map +1 -0
- package/dist/retry.d.ts +70 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +122 -0
- package/dist/retry.js.map +1 -0
- package/dist/semantic.d.ts +202 -0
- package/dist/semantic.d.ts.map +1 -0
- package/dist/semantic.js +424 -0
- package/dist/semantic.js.map +1 -0
- package/dist/types.d.ts +363 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +30 -0
- package/dist/types.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP server implementation for claude-cognitive.
|
|
3
|
+
* @module mcp/server
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
7
|
+
import express from "express";
|
|
8
|
+
import { randomUUID } from "node:crypto";
|
|
9
|
+
import { handleRecall, handleReflect } from "./handlers.js";
|
|
10
|
+
import { TOOL_DEFINITIONS, recallInputSchema, reflectInputSchema, } from "./tools.js";
|
|
11
|
+
// ============================================
|
|
12
|
+
// Constants
|
|
13
|
+
// ============================================
|
|
14
|
+
/** Default server configuration */
|
|
15
|
+
const DEFAULTS = {
|
|
16
|
+
name: "claude-cognitive",
|
|
17
|
+
version: "0.1.0",
|
|
18
|
+
httpPort: 3000,
|
|
19
|
+
httpHost: "127.0.0.1",
|
|
20
|
+
sessionTimeout: 30 * 60 * 1000, // 30 minutes
|
|
21
|
+
};
|
|
22
|
+
// ============================================
|
|
23
|
+
// Server Class
|
|
24
|
+
// ============================================
|
|
25
|
+
/**
|
|
26
|
+
* ClaudeMindMcpServer wraps the MCP SDK and provides memory tools.
|
|
27
|
+
*
|
|
28
|
+
* Supports both STDIO and HTTP transports for flexible deployment:
|
|
29
|
+
* - STDIO: For local CLI integration with Claude Code
|
|
30
|
+
* - HTTP: For remote/networked deployments and testing
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const mind = new Mind({ projectPath: '/path/to/project' });
|
|
35
|
+
* await mind.init();
|
|
36
|
+
*
|
|
37
|
+
* const server = new ClaudeMindMcpServer({
|
|
38
|
+
* mind,
|
|
39
|
+
* transport: 'stdio',
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* await server.start();
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export class ClaudeMindMcpServer {
|
|
46
|
+
mind;
|
|
47
|
+
transportType;
|
|
48
|
+
serverName;
|
|
49
|
+
serverVersion;
|
|
50
|
+
httpConfig;
|
|
51
|
+
mcpServer = null;
|
|
52
|
+
httpServer = null;
|
|
53
|
+
expressApp = null;
|
|
54
|
+
running = false;
|
|
55
|
+
constructor(options) {
|
|
56
|
+
this.mind = options.mind;
|
|
57
|
+
this.transportType = options.transport ?? "stdio";
|
|
58
|
+
this.serverName = options.name ?? DEFAULTS.name;
|
|
59
|
+
this.serverVersion = options.version ?? DEFAULTS.version;
|
|
60
|
+
this.httpConfig = {
|
|
61
|
+
port: options.http?.port ?? DEFAULTS.httpPort,
|
|
62
|
+
host: options.http?.host ?? DEFAULTS.httpHost,
|
|
63
|
+
cors: options.http?.cors ?? false,
|
|
64
|
+
sessionTimeout: options.http?.sessionTimeout ?? DEFAULTS.sessionTimeout,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Start the MCP server.
|
|
69
|
+
*
|
|
70
|
+
* @throws {Error} If server is already running
|
|
71
|
+
*/
|
|
72
|
+
async start() {
|
|
73
|
+
if (this.running) {
|
|
74
|
+
throw new Error("MCP server is already running");
|
|
75
|
+
}
|
|
76
|
+
// Create and configure MCP server
|
|
77
|
+
this.mcpServer = new McpServer({
|
|
78
|
+
name: this.serverName,
|
|
79
|
+
version: this.serverVersion,
|
|
80
|
+
});
|
|
81
|
+
// Register tools
|
|
82
|
+
this.registerTools();
|
|
83
|
+
// Connect transport
|
|
84
|
+
if (this.transportType === "stdio") {
|
|
85
|
+
await this.startStdioTransport();
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
await this.startHttpTransport();
|
|
89
|
+
}
|
|
90
|
+
this.running = true;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Stop the MCP server.
|
|
94
|
+
*/
|
|
95
|
+
async stop() {
|
|
96
|
+
if (!this.running)
|
|
97
|
+
return;
|
|
98
|
+
if (this.httpServer) {
|
|
99
|
+
await new Promise((resolve, reject) => {
|
|
100
|
+
this.httpServer.close((err) => {
|
|
101
|
+
if (err)
|
|
102
|
+
reject(err);
|
|
103
|
+
else
|
|
104
|
+
resolve();
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
this.httpServer = null;
|
|
108
|
+
this.expressApp = null;
|
|
109
|
+
}
|
|
110
|
+
this.mcpServer = null;
|
|
111
|
+
this.running = false;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Check if the server is running.
|
|
115
|
+
*/
|
|
116
|
+
isRunning() {
|
|
117
|
+
return this.running;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get the transport type.
|
|
121
|
+
*/
|
|
122
|
+
getTransportType() {
|
|
123
|
+
return this.transportType;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get the HTTP port (only relevant for HTTP transport).
|
|
127
|
+
*/
|
|
128
|
+
getHttpPort() {
|
|
129
|
+
return this.httpConfig.port;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get the HTTP host (only relevant for HTTP transport).
|
|
133
|
+
*/
|
|
134
|
+
getHttpHost() {
|
|
135
|
+
return this.httpConfig.host;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Register memory tools with the MCP server.
|
|
139
|
+
*/
|
|
140
|
+
registerTools() {
|
|
141
|
+
if (!this.mcpServer)
|
|
142
|
+
return;
|
|
143
|
+
// Register memory_recall
|
|
144
|
+
this.mcpServer.tool(TOOL_DEFINITIONS.memory_recall.name, TOOL_DEFINITIONS.memory_recall.description, {
|
|
145
|
+
query: recallInputSchema.shape.query,
|
|
146
|
+
type: recallInputSchema.shape.type,
|
|
147
|
+
}, async (args) => {
|
|
148
|
+
const input = {
|
|
149
|
+
query: args.query,
|
|
150
|
+
...(args.type ? { type: args.type } : {}),
|
|
151
|
+
};
|
|
152
|
+
const result = await handleRecall(this.mind, input);
|
|
153
|
+
return {
|
|
154
|
+
content: result.content,
|
|
155
|
+
...(result.isError ? { isError: result.isError } : {}),
|
|
156
|
+
};
|
|
157
|
+
});
|
|
158
|
+
// Register memory_reflect
|
|
159
|
+
this.mcpServer.tool(TOOL_DEFINITIONS.memory_reflect.name, TOOL_DEFINITIONS.memory_reflect.description, {
|
|
160
|
+
query: reflectInputSchema.shape.query,
|
|
161
|
+
}, async (args) => {
|
|
162
|
+
const result = await handleReflect(this.mind, {
|
|
163
|
+
query: args.query,
|
|
164
|
+
});
|
|
165
|
+
return {
|
|
166
|
+
content: result.content,
|
|
167
|
+
...(result.isError ? { isError: result.isError } : {}),
|
|
168
|
+
};
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Start STDIO transport.
|
|
173
|
+
*/
|
|
174
|
+
async startStdioTransport() {
|
|
175
|
+
const transport = new StdioServerTransport();
|
|
176
|
+
await this.mcpServer.connect(transport);
|
|
177
|
+
// Log to stderr (not stdout, which is used for MCP)
|
|
178
|
+
console.error(`${this.serverName} MCP server started (STDIO transport, v${this.serverVersion})`);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Start HTTP transport with Express.
|
|
182
|
+
*
|
|
183
|
+
* Note: The MCP SDK's StreamableHTTPServerTransport is still experimental.
|
|
184
|
+
* For now, we implement a simple JSON-RPC endpoint.
|
|
185
|
+
*/
|
|
186
|
+
async startHttpTransport() {
|
|
187
|
+
this.expressApp = express();
|
|
188
|
+
this.expressApp.use(express.json());
|
|
189
|
+
// Optional CORS
|
|
190
|
+
if (this.httpConfig.cors) {
|
|
191
|
+
this.expressApp.use((_req, res, next) => {
|
|
192
|
+
res.header("Access-Control-Allow-Origin", "*");
|
|
193
|
+
res.header("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS");
|
|
194
|
+
res.header("Access-Control-Allow-Headers", "Content-Type, mcp-session-id");
|
|
195
|
+
if (_req.method === "OPTIONS") {
|
|
196
|
+
res.sendStatus(200);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
next();
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
// Health check endpoint
|
|
203
|
+
this.expressApp.get("/health", (_req, res) => {
|
|
204
|
+
res.json({
|
|
205
|
+
status: "ok",
|
|
206
|
+
server: this.serverName,
|
|
207
|
+
version: this.serverVersion,
|
|
208
|
+
degraded: this.mind.isDegraded,
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
// Tools listing endpoint (for debugging)
|
|
212
|
+
this.expressApp.get("/tools", (_req, res) => {
|
|
213
|
+
res.json({
|
|
214
|
+
tools: [
|
|
215
|
+
{
|
|
216
|
+
name: TOOL_DEFINITIONS.memory_recall.name,
|
|
217
|
+
description: TOOL_DEFINITIONS.memory_recall.description,
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
name: TOOL_DEFINITIONS.memory_reflect.name,
|
|
221
|
+
description: TOOL_DEFINITIONS.memory_reflect.description,
|
|
222
|
+
},
|
|
223
|
+
],
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
// Tool execution endpoint (simple JSON-RPC style)
|
|
227
|
+
this.expressApp.post("/tools/:name", async (req, res) => {
|
|
228
|
+
const toolName = req.params.name;
|
|
229
|
+
const sessionId = req.headers["mcp-session-id"] || randomUUID();
|
|
230
|
+
try {
|
|
231
|
+
if (toolName === "memory_recall") {
|
|
232
|
+
const parsed = recallInputSchema.safeParse(req.body);
|
|
233
|
+
if (!parsed.success) {
|
|
234
|
+
res.status(400).json({
|
|
235
|
+
error: "Invalid input",
|
|
236
|
+
details: parsed.error.errors,
|
|
237
|
+
});
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const input = {
|
|
241
|
+
query: parsed.data.query,
|
|
242
|
+
...(parsed.data.type ? { type: parsed.data.type } : {}),
|
|
243
|
+
};
|
|
244
|
+
const result = await handleRecall(this.mind, input);
|
|
245
|
+
res.json({ sessionId, ...result });
|
|
246
|
+
}
|
|
247
|
+
else if (toolName === "memory_reflect") {
|
|
248
|
+
const parsed = reflectInputSchema.safeParse(req.body);
|
|
249
|
+
if (!parsed.success) {
|
|
250
|
+
res.status(400).json({
|
|
251
|
+
error: "Invalid input",
|
|
252
|
+
details: parsed.error.errors,
|
|
253
|
+
});
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
const result = await handleReflect(this.mind, parsed.data);
|
|
257
|
+
res.json({ sessionId, ...result });
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
res.status(404).json({ error: `Unknown tool: ${toolName}` });
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
const message = error instanceof Error ? error.message : "Unknown error";
|
|
265
|
+
res.status(500).json({ error: message });
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
// Start listening
|
|
269
|
+
await new Promise((resolve) => {
|
|
270
|
+
this.httpServer = this.expressApp.listen(this.httpConfig.port, this.httpConfig.host, () => {
|
|
271
|
+
console.error(`${this.serverName} MCP server started (HTTP transport, v${this.serverVersion}) at http://${this.httpConfig.host}:${this.httpConfig.port}`);
|
|
272
|
+
resolve();
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP tool definitions with Zod schemas.
|
|
3
|
+
* @module mcp/tools
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
/**
|
|
7
|
+
* Zod schema for memory_recall tool input.
|
|
8
|
+
*/
|
|
9
|
+
export declare const recallInputSchema: z.ZodObject<{
|
|
10
|
+
query: z.ZodString;
|
|
11
|
+
type: z.ZodOptional<z.ZodEnum<["world", "experience", "opinion", "all"]>>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
query: string;
|
|
14
|
+
type?: "world" | "experience" | "opinion" | "all" | undefined;
|
|
15
|
+
}, {
|
|
16
|
+
query: string;
|
|
17
|
+
type?: "world" | "experience" | "opinion" | "all" | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Zod schema for memory_reflect tool input.
|
|
21
|
+
*/
|
|
22
|
+
export declare const reflectInputSchema: z.ZodObject<{
|
|
23
|
+
query: z.ZodString;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
query: string;
|
|
26
|
+
}, {
|
|
27
|
+
query: string;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Tool definitions for MCP server registration.
|
|
31
|
+
*/
|
|
32
|
+
export declare const TOOL_DEFINITIONS: {
|
|
33
|
+
readonly memory_recall: {
|
|
34
|
+
readonly name: "memory_recall";
|
|
35
|
+
readonly description: "Search project memories for relevant context. Use when you want to remember something from previous sessions or find information about the project. Returns memories matching your query, sorted by relevance.";
|
|
36
|
+
readonly inputSchema: z.ZodObject<{
|
|
37
|
+
query: z.ZodString;
|
|
38
|
+
type: z.ZodOptional<z.ZodEnum<["world", "experience", "opinion", "all"]>>;
|
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
|
40
|
+
query: string;
|
|
41
|
+
type?: "world" | "experience" | "opinion" | "all" | undefined;
|
|
42
|
+
}, {
|
|
43
|
+
query: string;
|
|
44
|
+
type?: "world" | "experience" | "opinion" | "all" | undefined;
|
|
45
|
+
}>;
|
|
46
|
+
};
|
|
47
|
+
readonly memory_reflect: {
|
|
48
|
+
readonly name: "memory_reflect";
|
|
49
|
+
readonly description: "Reason about what you know and form opinions. Use when you want to think about patterns, make judgments based on experience, or synthesize accumulated knowledge. Returns reasoned insights with confidence scores.";
|
|
50
|
+
readonly inputSchema: z.ZodObject<{
|
|
51
|
+
query: z.ZodString;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
query: string;
|
|
54
|
+
}, {
|
|
55
|
+
query: string;
|
|
56
|
+
}>;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;EAM5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;EAE7B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;CAanB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP tool definitions with Zod schemas.
|
|
3
|
+
* @module mcp/tools
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
// ============================================
|
|
7
|
+
// Input Schemas
|
|
8
|
+
// ============================================
|
|
9
|
+
/**
|
|
10
|
+
* Zod schema for memory_recall tool input.
|
|
11
|
+
*/
|
|
12
|
+
export const recallInputSchema = z.object({
|
|
13
|
+
query: z.string().min(1).describe("What to search for in memory"),
|
|
14
|
+
type: z
|
|
15
|
+
.enum(["world", "experience", "opinion", "all"])
|
|
16
|
+
.optional()
|
|
17
|
+
.describe("Type of memory to search (optional, defaults to all)"),
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Zod schema for memory_reflect tool input.
|
|
21
|
+
*/
|
|
22
|
+
export const reflectInputSchema = z.object({
|
|
23
|
+
query: z.string().min(1).describe("What to think about or reason through"),
|
|
24
|
+
});
|
|
25
|
+
// ============================================
|
|
26
|
+
// Tool Definitions
|
|
27
|
+
// ============================================
|
|
28
|
+
/**
|
|
29
|
+
* Tool definitions for MCP server registration.
|
|
30
|
+
*/
|
|
31
|
+
export const TOOL_DEFINITIONS = {
|
|
32
|
+
memory_recall: {
|
|
33
|
+
name: "memory_recall",
|
|
34
|
+
description: "Search project memories for relevant context. Use when you want to remember something from previous sessions or find information about the project. Returns memories matching your query, sorted by relevance.",
|
|
35
|
+
inputSchema: recallInputSchema,
|
|
36
|
+
},
|
|
37
|
+
memory_reflect: {
|
|
38
|
+
name: "memory_reflect",
|
|
39
|
+
description: "Reason about what you know and form opinions. Use when you want to think about patterns, make judgments based on experience, or synthesize accumulated knowledge. Returns reasoned insights with confidence scores.",
|
|
40
|
+
inputSchema: reflectInputSchema,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+CAA+C;AAC/C,gBAAgB;AAChB,+CAA+C;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjE,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SAC/C,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;CACpE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CAC3E,CAAC,CAAC;AAEH,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,gNAAgN;QAClN,WAAW,EAAE,iBAAiB;KAC/B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,qNAAqN;QACvN,WAAW,EAAE,kBAAkB;KAChC;CACO,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for MCP (Model Context Protocol) server.
|
|
3
|
+
* @module mcp/types
|
|
4
|
+
*/
|
|
5
|
+
import type { Mind } from "../mind.js";
|
|
6
|
+
/**
|
|
7
|
+
* Transport type for MCP server.
|
|
8
|
+
*/
|
|
9
|
+
export type McpTransportType = "stdio" | "http";
|
|
10
|
+
/**
|
|
11
|
+
* HTTP transport configuration.
|
|
12
|
+
*/
|
|
13
|
+
export interface HttpTransportConfig {
|
|
14
|
+
/** Port to listen on (default: 3000) */
|
|
15
|
+
port?: number;
|
|
16
|
+
/** Host to bind to (default: "127.0.0.1") */
|
|
17
|
+
host?: string;
|
|
18
|
+
/** Enable CORS (default: false) */
|
|
19
|
+
cors?: boolean;
|
|
20
|
+
/** Session timeout in milliseconds (default: 30 minutes) */
|
|
21
|
+
sessionTimeout?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options for creating the MCP server.
|
|
25
|
+
*/
|
|
26
|
+
export interface McpServerOptions {
|
|
27
|
+
/** Mind instance to use for operations */
|
|
28
|
+
mind: Mind;
|
|
29
|
+
/** Transport type (default: "stdio") */
|
|
30
|
+
transport?: McpTransportType;
|
|
31
|
+
/** HTTP transport configuration (only used when transport is "http") */
|
|
32
|
+
http?: HttpTransportConfig;
|
|
33
|
+
/** Server name for MCP identification (default: "claude-cognitive") */
|
|
34
|
+
name?: string;
|
|
35
|
+
/** Server version (default: from package.json) */
|
|
36
|
+
version?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* MCP tool result content item.
|
|
40
|
+
*/
|
|
41
|
+
export interface ToolResultContent {
|
|
42
|
+
type: "text";
|
|
43
|
+
text: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Tool result format for MCP responses.
|
|
47
|
+
*/
|
|
48
|
+
export interface ToolResult {
|
|
49
|
+
content: ToolResultContent[];
|
|
50
|
+
isError?: boolean;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Recall tool input schema type.
|
|
54
|
+
*/
|
|
55
|
+
export interface RecallToolInput {
|
|
56
|
+
query: string;
|
|
57
|
+
type?: "world" | "experience" | "opinion" | "all";
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Reflect tool input schema type.
|
|
61
|
+
*/
|
|
62
|
+
export interface ReflectToolInput {
|
|
63
|
+
query: string;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMvC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,IAAI,EAAE,IAAI,CAAC;IACX,wCAAwC;IACxC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,wEAAwE;IACxE,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|