apprecio-mcp-base 1.0.3 → 1.0.5
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/server/createExpressServer.d.ts +10 -2
- package/dist/server/createExpressServer.d.ts.map +1 -1
- package/dist/server/createExpressServer.js +36 -11
- package/dist/server/createExpressServer.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export { AuthMiddleware, createAuthMiddleware } from './middleware/auth.js';
|
|
|
6
6
|
export { MongoDBConnector, createMongoDBConnector } from './database/mongodb.js';
|
|
7
7
|
export type { MongoDBOptions } from './database/mongodb.js';
|
|
8
8
|
export { createServer } from './server/createExpressServer.js';
|
|
9
|
+
export type { ServerSetup } from './server/createExpressServer.js';
|
|
9
10
|
export { isPortAvailable, findAvailablePort, getRandomAvailablePort, } from './utils/portFinder.js';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1E,mBAAmB,iBAAiB,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1E,mBAAmB,iBAAiB,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EACH,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG1E,qBAAqB;AACrB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG1E,qBAAqB;AACrB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,gBAAgB;AAChB,OAAO,EACH,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
|
-
import {
|
|
3
|
-
export
|
|
2
|
+
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
3
|
+
export interface ServerSetup {
|
|
4
|
+
httpServer: http.Server;
|
|
5
|
+
transport: StreamableHTTPServerTransport;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Crea el servidor Express y el transport, pero NO inicia el servidor ni conecta
|
|
9
|
+
* La conexión y el listen() se hacen en McpBaseServer.start()
|
|
10
|
+
*/
|
|
11
|
+
export declare function createServer(port: number): Promise<ServerSetup>;
|
|
4
12
|
//# sourceMappingURL=createExpressServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createExpressServer.d.ts","sourceRoot":"","sources":["../../src/server/createExpressServer.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createExpressServer.d.ts","sourceRoot":"","sources":["../../src/server/createExpressServer.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAGnG,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,SAAS,EAAE,6BAA6B,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA0ErE"}
|
|
@@ -2,12 +2,23 @@ import express from 'express';
|
|
|
2
2
|
import http from 'http';
|
|
3
3
|
import cors from 'cors';
|
|
4
4
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
5
|
-
import { logger } from '../core/logger';
|
|
6
|
-
|
|
5
|
+
import { logger } from '../core/logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Crea el servidor Express y el transport, pero NO inicia el servidor ni conecta
|
|
8
|
+
* La conexión y el listen() se hacen en McpBaseServer.start()
|
|
9
|
+
*/
|
|
10
|
+
export async function createServer(port) {
|
|
7
11
|
const app = express();
|
|
8
12
|
app.use(cors({
|
|
9
13
|
origin: "*",
|
|
10
|
-
allowedHeaders: [
|
|
14
|
+
allowedHeaders: [
|
|
15
|
+
"Content-Type",
|
|
16
|
+
"Authorization",
|
|
17
|
+
"Mcp-Session-Id",
|
|
18
|
+
"Mcp-Protocol-Version",
|
|
19
|
+
"Accept",
|
|
20
|
+
"User-Agent"
|
|
21
|
+
],
|
|
11
22
|
exposedHeaders: ["Mcp-Session-Id", "Mcp-Protocol-Version"],
|
|
12
23
|
}));
|
|
13
24
|
app.use((req, res, next) => {
|
|
@@ -17,17 +28,21 @@ export async function createServer(mcpServer, port) {
|
|
|
17
28
|
}
|
|
18
29
|
next();
|
|
19
30
|
});
|
|
31
|
+
// Crear transport pero NO conectar todavía
|
|
20
32
|
const transport = new StreamableHTTPServerTransport({
|
|
21
33
|
sessionIdGenerator: undefined,
|
|
22
34
|
enableJsonResponse: true,
|
|
23
35
|
});
|
|
24
|
-
|
|
36
|
+
// Configurar endpoints
|
|
25
37
|
app.all("/sse", async (req, res) => {
|
|
26
38
|
try {
|
|
27
39
|
await transport.handleRequest(req, res, req.body);
|
|
28
40
|
}
|
|
29
41
|
catch (error) {
|
|
30
42
|
logger.error("Error handling /sse:", error);
|
|
43
|
+
if (!res.headersSent) {
|
|
44
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
45
|
+
}
|
|
31
46
|
}
|
|
32
47
|
});
|
|
33
48
|
app.all("/messages", async (req, res) => {
|
|
@@ -36,15 +51,25 @@ export async function createServer(mcpServer, port) {
|
|
|
36
51
|
}
|
|
37
52
|
catch (error) {
|
|
38
53
|
logger.error("Error handling /messages:", error);
|
|
54
|
+
if (!res.headersSent) {
|
|
55
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
56
|
+
}
|
|
39
57
|
}
|
|
40
58
|
});
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
59
|
+
// Health check
|
|
60
|
+
app.get("/health", (req, res) => {
|
|
61
|
+
res.json({
|
|
62
|
+
status: "healthy",
|
|
63
|
+
timestamp: new Date().toISOString(),
|
|
64
|
+
port: port
|
|
65
|
+
});
|
|
47
66
|
});
|
|
48
|
-
|
|
67
|
+
// Crear servidor HTTP pero NO hacer listen() todavía
|
|
68
|
+
const httpServer = http.createServer(app);
|
|
69
|
+
// IMPORTANTE: NO hacer httpServer.listen() aquí
|
|
70
|
+
// Eso lo hace McpBaseServer.start()
|
|
71
|
+
logger.info(`Express app configured for port ${port}`);
|
|
72
|
+
// Retornar servidor y transport para que McpBaseServer los maneje
|
|
73
|
+
return { httpServer, transport };
|
|
49
74
|
}
|
|
50
75
|
//# sourceMappingURL=createExpressServer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createExpressServer.js","sourceRoot":"","sources":["../../src/server/createExpressServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"createExpressServer.js","sourceRoot":"","sources":["../../src/server/createExpressServer.ts"],"names":[],"mappings":"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"}
|