@decodo/mcp-server 1.2.6 → 1.3.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.
Files changed (57) hide show
  1. package/build/auth/credential.js +4 -1
  2. package/build/auth/credential.js.map +1 -1
  3. package/build/clients/hosts.js +10 -0
  4. package/build/clients/hosts.js.map +1 -0
  5. package/build/clients/scraper-api-client.js +15 -5
  6. package/build/clients/scraper-api-client.js.map +1 -1
  7. package/build/index.js +2 -2
  8. package/build/index.js.map +1 -1
  9. package/build/oauth/backend.js +3 -0
  10. package/build/oauth/backend.js.map +1 -0
  11. package/build/oauth/backends/decodo/index.js +71 -0
  12. package/build/oauth/backends/decodo/index.js.map +1 -0
  13. package/build/oauth/backends/decodo/request-jwt.js +62 -0
  14. package/build/oauth/backends/decodo/request-jwt.js.map +1 -0
  15. package/build/oauth/backends/decodo/token-exchange.js +88 -0
  16. package/build/oauth/backends/decodo/token-exchange.js.map +1 -0
  17. package/build/oauth/backends/mock/dashboard.js +84 -0
  18. package/build/oauth/backends/mock/dashboard.js.map +1 -0
  19. package/build/oauth/backends/mock/index.js +42 -0
  20. package/build/oauth/backends/mock/index.js.map +1 -0
  21. package/build/oauth/backends/mock/subscription-api.js +130 -0
  22. package/build/oauth/backends/mock/subscription-api.js.map +1 -0
  23. package/build/oauth/bounded-body.js +29 -0
  24. package/build/oauth/bounded-body.js.map +1 -0
  25. package/build/oauth/clients-store.js +142 -0
  26. package/build/oauth/clients-store.js.map +1 -0
  27. package/build/oauth/config.js +77 -0
  28. package/build/oauth/config.js.map +1 -0
  29. package/build/oauth/cookies.js +25 -0
  30. package/build/oauth/cookies.js.map +1 -0
  31. package/build/oauth/index.js +46 -0
  32. package/build/oauth/index.js.map +1 -0
  33. package/build/oauth/provider.js +172 -0
  34. package/build/oauth/provider.js.map +1 -0
  35. package/build/oauth/redirect-uris.js +17 -0
  36. package/build/oauth/redirect-uris.js.map +1 -0
  37. package/build/oauth/router.js +68 -0
  38. package/build/oauth/router.js.map +1 -0
  39. package/build/oauth/sealer.js +55 -0
  40. package/build/oauth/sealer.js.map +1 -0
  41. package/build/oauth/token-exchange.js +17 -0
  42. package/build/oauth/token-exchange.js.map +1 -0
  43. package/build/oauth/ttl-store.js +47 -0
  44. package/build/oauth/ttl-store.js.map +1 -0
  45. package/build/server/app.js +77 -0
  46. package/build/server/app.js.map +1 -0
  47. package/build/server/revoked-credentials.js +25 -0
  48. package/build/server/revoked-credentials.js.map +1 -0
  49. package/build/server/sapi-base-server.js +2 -2
  50. package/build/server/sapi-base-server.js.map +1 -1
  51. package/build/server/sapi-http-server.js +2 -2
  52. package/build/server/sapi-http-server.js.map +1 -1
  53. package/build/server/trust-proxy.js +19 -0
  54. package/build/server/trust-proxy.js.map +1 -0
  55. package/build/server.js +6 -44
  56. package/build/server.js.map +1 -1
  57. package/package.json +3 -9
package/build/server.js CHANGED
@@ -1,52 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  require("dotenv/config");
7
- const cors_1 = __importDefault(require("cors"));
8
- const express_1 = __importDefault(require("express"));
9
- const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
10
- const auth_1 = require("./auth");
11
- const cors_2 = require("./server/cors");
12
- const sapi_http_server_1 = require("./server/sapi-http-server");
13
- const utils_1 = require("./utils");
14
- const app = (0, express_1.default)();
15
- app.use((0, cors_1.default)(cors_2.corsOptions));
16
- app.use(express_1.default.json());
17
- app.get('/mcp', (_req, res) => {
18
- res.status(200).send('server up, use POST /mcp to see available tools');
19
- });
20
- app.post('/mcp', async (req, res) => {
21
- const auth = req.headers.authorization;
22
- if (!auth) {
23
- res.status(401).send('Unauthorized');
24
- return;
25
- }
26
- const credential = (0, auth_1.credentialFromAuthHeader)(auth);
27
- if (!credential) {
28
- res.status(401).send("Valid 'Basic' or 'Bearer' authorization required");
29
- return;
30
- }
31
- const toolsets = (0, utils_1.resolveToolsets)(req.query.toolsets);
32
- const server = new sapi_http_server_1.ScraperAPIHttpServer({ toolsets, auth: credential });
33
- const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
34
- sessionIdGenerator: undefined,
35
- enableJsonResponse: false,
36
- });
37
- res.on('close', () => {
38
- transport.close();
39
- });
40
- await server.connect(transport);
41
- await transport.handleRequest(req, res, req.body);
42
- });
43
- app.get('/healthz', (_req, res) => {
44
- res.status(200).send('ok');
45
- });
4
+ const oauth_1 = require("./oauth");
5
+ const app_1 = require("./server/app");
6
+ const trust_proxy_1 = require("./server/trust-proxy");
46
7
  const port = parseInt(process.env.PORT || '3000');
47
- app
8
+ const oauth = (0, oauth_1.oauthConfigFromEnv)(process.env, port);
9
+ (0, app_1.createApp)({ oauth, trustProxy: (0, trust_proxy_1.trustProxyFromEnv)(process.env.TRUST_PROXY) })
48
10
  .listen(port, () => {
49
- console.log(`Demo MCP Server running on http://localhost:${port}/mcp`);
11
+ console.log(`Demo MCP Server running on http://localhost:${port}/mcp (issuer ${oauth.publicUrl.href})`);
50
12
  })
51
13
  .on('error', (error) => {
52
14
  console.error('Server error:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;AAAA,yBAAuB;AACvB,gDAAwB;AACxB,sDAA8B;AAC9B,0FAAmG;AACnG,iCAAkD;AAClD,wCAA4C;AAC5C,gEAAiE;AACjE,mCAA0C;AAE1C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;AAEtB,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC,kBAAW,CAAC,CAAC,CAAC;AAC3B,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAExB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,+BAAwB,EAAC,IAAI,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,KAAK,CAAC,QAAkB,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,IAAI,uCAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAExE,MAAM,SAAS,GAAG,IAAI,iDAA6B,CAAC;QAClD,kBAAkB,EAAE,SAAS;QAC7B,kBAAkB,EAAE,KAAK;KAC1B,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;AAElD,GAAG;KACA,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,+CAA+C,IAAI,MAAM,CAAC,CAAC;AACzE,CAAC,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAAA,yBAAuB;AACvB,mCAA6C;AAC7C,sCAAyC;AACzC,sDAAyD;AAEzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;AAElD,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAEpD,IAAA,eAAS,EAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;KACzE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,+CAA+C,IAAI,gBAAgB,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;AAC1G,CAAC,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decodo/mcp-server",
3
- "version": "1.2.6",
3
+ "version": "1.3.0",
4
4
  "description": "Decodo MCP Server",
5
5
  "bin": {
6
6
  "decodo-mcp": "./build/index.js"
@@ -14,8 +14,7 @@
14
14
  "start": "node build/server.js",
15
15
  "inspect": "mcp-inspector",
16
16
  "test": "jest",
17
- "lint": "eslint src/",
18
- "release": "semantic-release"
17
+ "lint": "eslint src/"
19
18
  },
20
19
  "keywords": [],
21
20
  "author": "",
@@ -27,7 +26,7 @@
27
26
  "build"
28
27
  ],
29
28
  "dependencies": {
30
- "@decodo/sdk-ts": "^2.3.0",
29
+ "@decodo/sdk-ts": "^2.4.0",
31
30
  "@modelcontextprotocol/sdk": "^1.12.3",
32
31
  "cors": "^2.8.5",
33
32
  "dotenv": "^16.5.0",
@@ -38,10 +37,6 @@
38
37
  "devDependencies": {
39
38
  "@eslint/js": "^10.0.1",
40
39
  "@modelcontextprotocol/inspector": "^0.21.1",
41
- "@semantic-release/changelog": "^6.0.3",
42
- "@semantic-release/git": "^10.0.1",
43
- "@semantic-release/github": "^12.0.6",
44
- "@semantic-release/npm": "^13.1.5",
45
40
  "@types/cors": "^2.8.17",
46
41
  "@types/express": "^5.0.1",
47
42
  "@types/jest": "^30.0.0",
@@ -49,7 +44,6 @@
49
44
  "eslint": "^10.2.1",
50
45
  "jest": "^29.7.0",
51
46
  "nodemon": "^3.1.14",
52
- "semantic-release": "^25.0.3",
53
47
  "ts-jest": "^29.4.9",
54
48
  "typescript": "^5.8.3",
55
49
  "typescript-eslint": "^8.58.2",