codewiki-mcp 1.1.1 → 1.1.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.
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/lib/batchexecute.js +5 -1
- package/dist/lib/batchexecute.js.map +1 -1
- package/dist/lib/codewikiClient.js +7 -3
- package/dist/lib/codewikiClient.js.map +1 -1
- package/dist/server.js +94 -8
- package/dist/server.js.map +1 -1
- package/dist/tools/searchRepos.js +3 -2
- package/dist/tools/searchRepos.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -49,13 +49,13 @@ async function main() {
|
|
|
49
49
|
};
|
|
50
50
|
process.on('SIGTERM', shutdown);
|
|
51
51
|
process.on('SIGINT', shutdown);
|
|
52
|
-
if (transport === '
|
|
53
|
-
await startServer(() => createMcpServer(config), { transport, port, endpoint });
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
52
|
+
if (transport === 'stdio') {
|
|
56
53
|
const mcp = createMcpServer(config);
|
|
57
54
|
await startServer(mcp, { transport, port, endpoint });
|
|
58
55
|
}
|
|
56
|
+
else {
|
|
57
|
+
await startServer(() => createMcpServer(config), { transport, port, endpoint });
|
|
58
|
+
}
|
|
59
59
|
}
|
|
60
60
|
main().catch((error) => {
|
|
61
61
|
console.error(error);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEtE,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBZ,CAAC,IAAI,EAAE,CAAA;AAER,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACzC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;SACtD;QACD,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAA;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAS,CAAA;IAEjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAE3B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,UAAU,EAAE,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE9B,IAAI,SAAS,KAAK,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEtE,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBZ,CAAC,IAAI,EAAE,CAAA;AAER,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACzC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;SACtD;QACD,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAA;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAS,CAAA;IAEjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAE3B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,UAAU,EAAE,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE9B,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACjF,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
package/dist/lib/batchexecute.js
CHANGED
|
@@ -50,7 +50,11 @@ export function extractWrbFrames(responseText) {
|
|
|
50
50
|
}
|
|
51
51
|
export function extractRpcPayload(responseText, rpcId) {
|
|
52
52
|
const frames = extractWrbFrames(responseText);
|
|
53
|
-
const match = frames.find(frame => frame.rpcId === rpcId)
|
|
53
|
+
const match = frames.find(frame => frame.rpcId === rpcId);
|
|
54
|
+
if (!match) {
|
|
55
|
+
const available = frames.map(f => f.rpcId).join(', ');
|
|
56
|
+
throw new Error(`RPC ID "${rpcId}" not found in batchexecute response (available: ${available})`);
|
|
57
|
+
}
|
|
54
58
|
return match.payload;
|
|
55
59
|
}
|
|
56
60
|
//# sourceMappingURL=batchexecute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchexecute.js","sourceRoot":"","sources":["../../src/lib/batchexecute.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,GAAG,MAAM,CAAA;AAE1B,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;IAChC,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA;IACtD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,CAAC;QACL,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa,EAAE,GAAe;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ;YAC5C,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;YAC3C,CAAC,CAAC,UAAU,CAAA;QACd,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAe,EAAE,CAAA;IAE7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,YAAoB,EAAE,KAAa;IACnE,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"batchexecute.js","sourceRoot":"","sources":["../../src/lib/batchexecute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { extractRpcPayload } from './batchexecute.js';
|
|
2
2
|
import { CodeWikiError } from './errors.js';
|
|
3
3
|
import { normalizeRepoInput } from './repo.js';
|
|
4
|
+
/** RPC IDs for codewiki.google batchexecute endpoints */
|
|
5
|
+
const RPC_SEARCH = 'vyWDAf';
|
|
6
|
+
const RPC_FETCH = 'VSX6ub';
|
|
7
|
+
const RPC_ASK = 'EgIxfe';
|
|
4
8
|
export class CodeWikiClient {
|
|
5
9
|
baseUrl;
|
|
6
10
|
timeoutMs;
|
|
@@ -22,7 +26,7 @@ export class CodeWikiClient {
|
|
|
22
26
|
}
|
|
23
27
|
async searchRepositories(query, limit = 10) {
|
|
24
28
|
const start = performance.now();
|
|
25
|
-
const { payload, bytes } = await this.callRpc(
|
|
29
|
+
const { payload, bytes } = await this.callRpc(RPC_SEARCH, [query, limit, query, 0], { sourcePath: '/' });
|
|
26
30
|
const rows = Array.isArray(payload) && Array.isArray(payload[0])
|
|
27
31
|
? payload[0]
|
|
28
32
|
: [];
|
|
@@ -56,7 +60,7 @@ export class CodeWikiClient {
|
|
|
56
60
|
async fetchRepository(repoInput) {
|
|
57
61
|
const start = performance.now();
|
|
58
62
|
const repo = normalizeRepoInput(repoInput);
|
|
59
|
-
const { payload, bytes } = await this.callRpc(
|
|
63
|
+
const { payload, bytes } = await this.callRpc(RPC_FETCH, [repo.repoUrl], {
|
|
60
64
|
sourcePath: repo.sourcePath,
|
|
61
65
|
});
|
|
62
66
|
const root = Array.isArray(payload) ? payload : [];
|
|
@@ -119,7 +123,7 @@ export class CodeWikiClient {
|
|
|
119
123
|
...history.map(item => [item.content, item.role === 'assistant' ? 'model' : 'user']),
|
|
120
124
|
[question, 'user'],
|
|
121
125
|
];
|
|
122
|
-
const { payload, bytes } = await this.callRpc(
|
|
126
|
+
const { payload, bytes } = await this.callRpc(RPC_ASK, [messages, [null, repo.repoUrl]], {
|
|
123
127
|
sourcePath: repo.sourcePath,
|
|
124
128
|
});
|
|
125
129
|
let data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codewikiClient.js","sourceRoot":"","sources":["../../src/lib/codewikiClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"codewikiClient.js","sourceRoot":"","sources":["../../src/lib/codewikiClient.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -4,6 +4,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
4
4
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
5
5
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
6
6
|
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
|
|
7
|
+
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
7
8
|
import { readFileSync } from 'node:fs';
|
|
8
9
|
import { fileURLToPath } from 'node:url';
|
|
9
10
|
import { dirname, resolve } from 'node:path';
|
|
@@ -25,7 +26,11 @@ export function createMcpServer(config) {
|
|
|
25
26
|
return mcp;
|
|
26
27
|
}
|
|
27
28
|
let httpServer;
|
|
29
|
+
let sessionCleanup;
|
|
28
30
|
export async function startServer(mcpOrFactory, options) {
|
|
31
|
+
if (httpServer) {
|
|
32
|
+
throw new Error('Server is already running. Call stopServer() before starting a new one.');
|
|
33
|
+
}
|
|
29
34
|
const { transport, port = 3000, endpoint = '/mcp' } = options;
|
|
30
35
|
const getMcp = typeof mcpOrFactory === 'function' ? mcpOrFactory : () => mcpOrFactory;
|
|
31
36
|
if (transport === 'stdio') {
|
|
@@ -34,18 +39,86 @@ export async function startServer(mcpOrFactory, options) {
|
|
|
34
39
|
return;
|
|
35
40
|
}
|
|
36
41
|
if (transport === 'http') {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
42
|
+
if (typeof mcpOrFactory !== 'function') {
|
|
43
|
+
throw new Error('HTTP transport requires a McpServerFactory (a function returning a new McpServer) ' +
|
|
44
|
+
'because each HTTP client needs its own McpServer instance. ' +
|
|
45
|
+
'Pass () => createMcpServer(config) instead of a single McpServer.');
|
|
46
|
+
}
|
|
47
|
+
const sessions = new Map();
|
|
48
|
+
sessionCleanup = async () => {
|
|
49
|
+
for (const [id, transport] of sessions) {
|
|
50
|
+
try {
|
|
51
|
+
await transport.close();
|
|
52
|
+
}
|
|
53
|
+
catch { /* ignore */ }
|
|
54
|
+
sessions.delete(id);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
40
57
|
httpServer = createServer(async (req, res) => {
|
|
41
|
-
|
|
42
|
-
|
|
58
|
+
try {
|
|
59
|
+
const url = new URL(req.url ?? '/', `http://localhost:${port}`);
|
|
60
|
+
if (url.pathname !== endpoint) {
|
|
61
|
+
res.writeHead(404).end('Not Found');
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
65
|
+
if (req.method === 'GET' || req.method === 'DELETE') {
|
|
66
|
+
const transport = sessionId ? sessions.get(sessionId) : undefined;
|
|
67
|
+
if (!transport) {
|
|
68
|
+
res.writeHead(400).end('Invalid or missing session ID');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
await transport.handleRequest(req, res);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (req.method === 'POST') {
|
|
75
|
+
if (sessionId && sessions.has(sessionId)) {
|
|
76
|
+
await sessions.get(sessionId).handleRequest(req, res);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// Parse body to check if this is an initialization request
|
|
80
|
+
const chunks = [];
|
|
81
|
+
for await (const chunk of req) {
|
|
82
|
+
chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
|
|
83
|
+
}
|
|
84
|
+
const bodyText = Buffer.concat(chunks).toString('utf-8');
|
|
85
|
+
let body;
|
|
86
|
+
try {
|
|
87
|
+
body = JSON.parse(bodyText);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
res.writeHead(400).end('Invalid JSON');
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (!isInitializeRequest(body)) {
|
|
94
|
+
res.writeHead(400).end('Bad Request: No valid session ID provided');
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const httpTransport = new StreamableHTTPServerTransport({
|
|
98
|
+
sessionIdGenerator: () => randomUUID(),
|
|
99
|
+
onsessioninitialized: (id) => {
|
|
100
|
+
sessions.set(id, httpTransport);
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
httpTransport.onclose = () => {
|
|
104
|
+
const sid = httpTransport.sessionId;
|
|
105
|
+
if (sid)
|
|
106
|
+
sessions.delete(sid);
|
|
107
|
+
};
|
|
108
|
+
const sessionMcp = mcpOrFactory();
|
|
109
|
+
await sessionMcp.connect(httpTransport);
|
|
110
|
+
await httpTransport.handleRequest(req, res, body);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
res.writeHead(405).end('Method Not Allowed');
|
|
43
114
|
}
|
|
44
|
-
|
|
45
|
-
|
|
115
|
+
catch (error) {
|
|
116
|
+
console.error('Error handling MCP request:', error);
|
|
117
|
+
if (!res.headersSent) {
|
|
118
|
+
res.writeHead(500).end('Internal Server Error');
|
|
119
|
+
}
|
|
46
120
|
}
|
|
47
121
|
});
|
|
48
|
-
await getMcp().connect(httpTransport);
|
|
49
122
|
await new Promise((resolve) => {
|
|
50
123
|
httpServer.listen(port, () => {
|
|
51
124
|
console.error(`codewiki-mcp HTTP server listening on http://localhost:${port}${endpoint}`);
|
|
@@ -61,6 +134,15 @@ export async function startServer(mcpOrFactory, options) {
|
|
|
61
134
|
'Pass () => createMcpServer(config) instead of a single McpServer.');
|
|
62
135
|
}
|
|
63
136
|
const sessions = new Map();
|
|
137
|
+
sessionCleanup = async () => {
|
|
138
|
+
for (const [id, transport] of sessions) {
|
|
139
|
+
try {
|
|
140
|
+
await transport.close();
|
|
141
|
+
}
|
|
142
|
+
catch { /* ignore */ }
|
|
143
|
+
sessions.delete(id);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
64
146
|
httpServer = createServer(async (req, res) => {
|
|
65
147
|
const url = new URL(req.url ?? '/', `http://localhost:${port}`);
|
|
66
148
|
if (url.pathname === endpoint && req.method === 'GET') {
|
|
@@ -95,6 +177,10 @@ export async function startServer(mcpOrFactory, options) {
|
|
|
95
177
|
}
|
|
96
178
|
}
|
|
97
179
|
export async function stopServer() {
|
|
180
|
+
if (sessionCleanup) {
|
|
181
|
+
await sessionCleanup();
|
|
182
|
+
sessionCleanup = undefined;
|
|
183
|
+
}
|
|
98
184
|
if (httpServer) {
|
|
99
185
|
await new Promise((resolve, reject) => {
|
|
100
186
|
httpServer.close((err) => (err ? reject(err) : resolve()));
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAUvF,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC;QACxB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,GAAG,CAAC,OAAiB;KAC/B,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAEhD,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACpC,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAExC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,IAAI,UAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,14 @@ export function registerSearchReposTool(mcp, client) {
|
|
|
12
12
|
try {
|
|
13
13
|
const { query, limit } = parsed.data;
|
|
14
14
|
const { data: items, meta } = await client.searchRepositories(query, limit);
|
|
15
|
+
const cleanItems = items.map(({ raw, ...rest }) => rest);
|
|
15
16
|
return {
|
|
16
17
|
content: [{
|
|
17
18
|
type: 'text',
|
|
18
19
|
text: JSON.stringify({
|
|
19
20
|
query,
|
|
20
|
-
count:
|
|
21
|
-
items,
|
|
21
|
+
count: cleanItems.length,
|
|
22
|
+
items: cleanItems,
|
|
22
23
|
meta,
|
|
23
24
|
}, null, 2),
|
|
24
25
|
}],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchRepos.js","sourceRoot":"","sources":["../../src/tools/searchRepos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,UAAU,uBAAuB,CAAC,GAAc,EAAE,MAAsB;IAC5E,GAAG,CAAC,IAAI,CACN,uBAAuB,EACvB,gDAAgD,EAChD,gBAAgB,CAAC,KAAK,EACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/E,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;YACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAE3E,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK;4BACL,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"searchRepos.js","sourceRoot":"","sources":["../../src/tools/searchRepos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,UAAU,uBAAuB,CAAC,GAAc,EAAE,MAAsB;IAC5E,GAAG,CAAC,IAAI,CACN,uBAAuB,EACvB,gDAAgD,EAChD,gBAAgB,CAAC,KAAK,EACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/E,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;YACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAE3E,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;YACxD,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK;4BACL,KAAK,EAAE,UAAU,CAAC,MAAM;4BACxB,KAAK,EAAE,UAAU;4BACjB,IAAI;yBACL,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,cAAc,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
|