awesome-copilot-mcp 0.7.2 → 0.7.9
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/.mcp/server.json +2 -2
- package/dist/cli.js +1 -1
- package/dist/http-server.d.ts +2 -5
- package/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +53 -53
- package/dist/http-server.js.map +1 -1
- package/metadata.json +823 -58
- package/package.json +1 -1
package/.mcp/server.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.RbBtSn0w/awesome-copilot-mcp",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.9",
|
|
5
5
|
"description": "Model Context Protocol server for awesome-copilot agents and collections",
|
|
6
6
|
"title": "Awesome Copilot MCP Server",
|
|
7
7
|
"websiteUrl": "https://github.com/RbBtSn0w/awesome-copilot-mcp",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"registryType": "npm",
|
|
11
11
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
12
12
|
"identifier": "awesome-copilot-mcp",
|
|
13
|
-
"version": "0.7.
|
|
13
|
+
"version": "0.7.9",
|
|
14
14
|
"transport": {
|
|
15
15
|
"type": "stdio"
|
|
16
16
|
}
|
package/dist/cli.js
CHANGED
|
@@ -85,7 +85,7 @@ const program = new commander_1.Command();
|
|
|
85
85
|
program
|
|
86
86
|
.name('awesome-copilot-mcp')
|
|
87
87
|
.description('Model Context Protocol server for awesome-copilot agents and collections')
|
|
88
|
-
.version('0.7.
|
|
88
|
+
.version('0.7.9');
|
|
89
89
|
// Global options
|
|
90
90
|
program
|
|
91
91
|
.option('--json', 'Output in JSON format')
|
package/dist/http-server.d.ts
CHANGED
|
@@ -36,11 +36,8 @@ export declare class HttpServer {
|
|
|
36
36
|
private tools;
|
|
37
37
|
private prompts;
|
|
38
38
|
private resources;
|
|
39
|
-
private mcpServer;
|
|
40
|
-
private transport;
|
|
41
39
|
private activeRequests;
|
|
42
|
-
private
|
|
43
|
-
private connectPromise?;
|
|
40
|
+
private requestSessionClosers;
|
|
44
41
|
constructor(adapter: AdapterLike, options?: HttpServerOptions);
|
|
45
42
|
private attachErrorHandlers;
|
|
46
43
|
private configureSecurity;
|
|
@@ -49,7 +46,7 @@ export declare class HttpServer {
|
|
|
49
46
|
addActiveRequestForTest(id: string, controller: AbortController): void;
|
|
50
47
|
start(): Promise<void>;
|
|
51
48
|
stop(): Promise<void>;
|
|
52
|
-
private
|
|
49
|
+
private createRequestSession;
|
|
53
50
|
}
|
|
54
51
|
export {};
|
|
55
52
|
//# sourceMappingURL=http-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAMxE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAQpC,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,GAAG,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC7E;AAOD,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAClH;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,MAAM,CAAC,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,SAAS,CAAe;
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAMxE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAQpC,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,GAAG,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC7E;AAOD,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAClH;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,MAAM,CAAC,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,cAAc,CAAiG;IACvH,OAAO,CAAC,qBAAqB,CAAkC;gBAEnD,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,iBAAsB;IAkCjE,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,iBAAiB;IAiEzB,MAAM;IAIN,OAAO,CAAC,WAAW;IAwDnB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe;IAIzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,OAAO,CAAC,oBAAoB;CA6C7B"}
|
package/dist/http-server.js
CHANGED
|
@@ -23,12 +23,9 @@ class HttpServer {
|
|
|
23
23
|
tools;
|
|
24
24
|
prompts;
|
|
25
25
|
resources;
|
|
26
|
-
mcpServer;
|
|
27
|
-
transport;
|
|
28
26
|
// Promote activeRequests to a class member so tests can validate cancel logic
|
|
29
27
|
activeRequests = new Map();
|
|
30
|
-
|
|
31
|
-
connectPromise;
|
|
28
|
+
requestSessionClosers = new Set();
|
|
32
29
|
constructor(adapter, options = {}) {
|
|
33
30
|
this.adapter = adapter;
|
|
34
31
|
this.options = {
|
|
@@ -53,34 +50,6 @@ class HttpServer {
|
|
|
53
50
|
this.tools = new mcp_tools_1.MCPTools(this.adapter);
|
|
54
51
|
this.prompts = new mcp_prompts_1.MCPPrompts();
|
|
55
52
|
this.resources = new mcp_resources_1.MCPResources(this.adapter);
|
|
56
|
-
// Shared MCP server + transport (stateless mode)
|
|
57
|
-
this.mcpServer = new index_js_1.Server({
|
|
58
|
-
name: 'awesome-copilot-mcp',
|
|
59
|
-
version: package_json_1.default.version,
|
|
60
|
-
}, {
|
|
61
|
-
capabilities: {
|
|
62
|
-
tools: {},
|
|
63
|
-
prompts: {},
|
|
64
|
-
resources: {},
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
(0, mcp_shared_1.registerMcpHandlers)(this.mcpServer, this.tools, this.prompts, this.resources, {
|
|
68
|
-
onCallStart: (requestId, controller) => {
|
|
69
|
-
if (requestId)
|
|
70
|
-
this.activeRequests.set(requestId, { controller });
|
|
71
|
-
},
|
|
72
|
-
onCallEnd: (requestId) => {
|
|
73
|
-
if (!requestId)
|
|
74
|
-
return;
|
|
75
|
-
this.activeRequests.delete(requestId);
|
|
76
|
-
// Ensure any lingering SSE streams for this request are closed
|
|
77
|
-
this.transport.closeSSEStream(requestId);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
this.transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
|
|
81
|
-
// Stateless mode to simplify client usage; callers must still send both JSON and SSE accept headers
|
|
82
|
-
sessionIdGenerator: undefined,
|
|
83
|
-
});
|
|
84
53
|
// Register routes
|
|
85
54
|
this.setupRoutes(this.app);
|
|
86
55
|
// Attach error handlers
|
|
@@ -159,14 +128,22 @@ class HttpServer {
|
|
|
159
128
|
setupRoutes(app) {
|
|
160
129
|
// Helper to handle MCP request via Transport
|
|
161
130
|
const handleMcpRequest = async (req, res) => {
|
|
131
|
+
const { server, transport, cleanup } = this.createRequestSession();
|
|
132
|
+
const cleanupSafely = () => {
|
|
133
|
+
void cleanup().catch((error) => {
|
|
134
|
+
logger_1.logger.error(`HTTP MCP cleanup failed: ${error}`);
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
res.once('close', cleanupSafely);
|
|
138
|
+
res.once('finish', cleanupSafely);
|
|
162
139
|
try {
|
|
163
|
-
await
|
|
164
|
-
//
|
|
165
|
-
|
|
166
|
-
await this.transport.handleRequest(req, res, req.body);
|
|
140
|
+
await server.connect(transport);
|
|
141
|
+
// SDK 1.29+ requires a fresh stateless transport per request.
|
|
142
|
+
await transport.handleRequest(req, res, req.body);
|
|
167
143
|
}
|
|
168
144
|
catch (error) {
|
|
169
145
|
logger_1.logger.error(`HTTP MCP request failed: ${error}`);
|
|
146
|
+
cleanupSafely();
|
|
170
147
|
if (!res.headersSent) {
|
|
171
148
|
res.status(500).json({ error: 'Failed to handle MCP request' });
|
|
172
149
|
}
|
|
@@ -194,7 +171,7 @@ class HttpServer {
|
|
|
194
171
|
if (!active)
|
|
195
172
|
return res.status(404).json({ error: 'Request not found or already completed' });
|
|
196
173
|
active.controller.abort();
|
|
197
|
-
|
|
174
|
+
active.transport?.closeSSEStream(id);
|
|
198
175
|
this.activeRequests.delete(id);
|
|
199
176
|
return res.json({ id, status: 'cancelled' });
|
|
200
177
|
});
|
|
@@ -207,7 +184,6 @@ class HttpServer {
|
|
|
207
184
|
async start() {
|
|
208
185
|
if (this.server)
|
|
209
186
|
return;
|
|
210
|
-
await this.ensureConnected();
|
|
211
187
|
return new Promise((resolve, reject) => {
|
|
212
188
|
try {
|
|
213
189
|
const create = () => {
|
|
@@ -237,6 +213,7 @@ class HttpServer {
|
|
|
237
213
|
});
|
|
238
214
|
}
|
|
239
215
|
async stop() {
|
|
216
|
+
await Promise.all(Array.from(this.requestSessionClosers, (closeSession) => closeSession()));
|
|
240
217
|
if (this.server) {
|
|
241
218
|
await new Promise((resolve, reject) => {
|
|
242
219
|
this.server.close((err) => {
|
|
@@ -248,22 +225,45 @@ class HttpServer {
|
|
|
248
225
|
});
|
|
249
226
|
this.server = undefined;
|
|
250
227
|
}
|
|
251
|
-
if (this.connected) {
|
|
252
|
-
await this.transport.close();
|
|
253
|
-
await this.mcpServer.close();
|
|
254
|
-
this.connected = false;
|
|
255
|
-
this.connectPromise = undefined;
|
|
256
|
-
}
|
|
257
228
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
229
|
+
createRequestSession() {
|
|
230
|
+
const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
|
|
231
|
+
// Stateless mode keeps client interaction simple, but the SDK now requires
|
|
232
|
+
// a fresh transport instance for each HTTP request.
|
|
233
|
+
sessionIdGenerator: undefined,
|
|
234
|
+
});
|
|
235
|
+
const server = new index_js_1.Server({
|
|
236
|
+
name: 'awesome-copilot-mcp',
|
|
237
|
+
version: package_json_1.default.version,
|
|
238
|
+
}, {
|
|
239
|
+
capabilities: {
|
|
240
|
+
tools: {},
|
|
241
|
+
prompts: {},
|
|
242
|
+
resources: {},
|
|
243
|
+
},
|
|
244
|
+
});
|
|
245
|
+
(0, mcp_shared_1.registerMcpHandlers)(server, this.tools, this.prompts, this.resources, {
|
|
246
|
+
onCallStart: (requestId, controller) => {
|
|
247
|
+
if (requestId)
|
|
248
|
+
this.activeRequests.set(requestId, { controller, transport });
|
|
249
|
+
},
|
|
250
|
+
onCallEnd: (requestId) => {
|
|
251
|
+
if (!requestId)
|
|
252
|
+
return;
|
|
253
|
+
this.activeRequests.delete(requestId);
|
|
254
|
+
transport.closeSSEStream(requestId);
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
let cleanedUp = false;
|
|
258
|
+
const cleanup = async () => {
|
|
259
|
+
if (cleanedUp)
|
|
260
|
+
return;
|
|
261
|
+
cleanedUp = true;
|
|
262
|
+
this.requestSessionClosers.delete(cleanup);
|
|
263
|
+
await server.close();
|
|
264
|
+
};
|
|
265
|
+
this.requestSessionClosers.add(cleanup);
|
|
266
|
+
return { server, transport, cleanup };
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
exports.HttpServer = HttpServer;
|
package/dist/http-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,kDAA0B;AAC1B,4EAAkF;AAClF,0FAAmG;AACnG,wEAAmE;AAEnE,qCAAkC;AAClC,mEAAkC;AAClC,2CAAuC;AACvC,+CAA2C;AAC3C,mDAA+C;AAC/C,6CAAmD;AAwBnD,MAAa,UAAU;IACb,GAAG,CAAU;IACb,MAAM,CAA8B;IACpC,OAAO,CAAc;IACrB,OAAO,CAA4B;IACnC,KAAK,CAAW;IAChB,OAAO,CAAa;IACpB,SAAS,CAAe;
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
|