Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/lovely-sloths-help.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sei-js/mcp-server": patch
---

Explicitly use node-fetch instead of relying on users node version to have fetch
Binary file modified .yarn/install-state.gz
Binary file not shown.
2 changes: 2 additions & 0 deletions packages/mcp-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"devDependencies": {
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/node-fetch": "^2.6.13",
Comment thread
codebycarson marked this conversation as resolved.
"typescript": "^5.8.3"
},
"dependencies": {
Expand All @@ -29,6 +30,7 @@
"dotenv": "^16.5.0",
"express": "^4.21.2",
"jest": "^30.0.3",
"node-fetch": "^2.7.0",
"trieve-ts-sdk": "^0.0.121",
"tsx": "^4.20.3",
"viem": "^2.30.5",
Expand Down
1 change: 1 addition & 0 deletions packages/mcp-server/src/docs/server.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { z } from 'zod';
import fetch from 'node-fetch';
import type { SeiSearchResponse } from '../mintlify/types';

const DOCS_SEARCH_URL = 'https://docs.sei-apis.io/search';
Expand Down
1 change: 1 addition & 0 deletions packages/mcp-server/src/mintlify/search.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { TrieveSDK } from 'trieve-ts-sdk';
import { z } from 'zod';
import fetch from 'node-fetch';

import { DEFAULT_BASE_URL, SERVER_URL, SUBDOMAIN } from './config.js';
import type { MintlifySearchConfig, SeiSearchResponse, TrieveResponse, TrieveSearchResult } from './types.js';
Expand Down
7 changes: 4 additions & 3 deletions packages/mcp-server/src/tests/core/tools.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ import { getWalletProvider } from '../../core/wallet/index.js';
import { createDocsSearchTool } from '../../docs/index.js';
import { createMockServer, setupBalanceMocks, setupTransactionMocks, testToolError, testToolSuccess, verifyErrorResponse, verifySuccessResponse, type Tool } from './helpers/tool-test-helpers.js';

// Mock fetch globally
const mockFetch = jest.fn();
global.fetch = mockFetch as jest.MockedFunction<typeof fetch>;
// Mock node-fetch
jest.mock('node-fetch');
import fetch, { Response } from 'node-fetch';
Comment thread
codebycarson marked this conversation as resolved.
Outdated
const mockFetch = fetch as jest.MockedFunction<typeof fetch>;

// Mock all service functions
jest.mock('../../core/services/index.js');
Expand Down
25 changes: 25 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3491,10 +3491,12 @@ __metadata:
"@modelcontextprotocol/sdk": "npm:^1.7.0"
"@types/cors": "npm:^2.8.17"
"@types/express": "npm:^5.0.0"
"@types/node-fetch": "npm:^2.6.13"
cors: "npm:^2.8.5"
dotenv: "npm:^16.5.0"
express: "npm:^4.21.2"
jest: "npm:^30.0.3"
node-fetch: "npm:^2.7.0"
trieve-ts-sdk: "npm:^0.0.121"
tsx: "npm:^4.20.3"
typescript: "npm:^5.8.3"
Expand Down Expand Up @@ -4259,6 +4261,16 @@ __metadata:
languageName: node
linkType: hard

"@types/node-fetch@npm:^2.6.13":
version: 2.6.13
resolution: "@types/node-fetch@npm:2.6.13"
dependencies:
"@types/node": "npm:*"
form-data: "npm:^4.0.4"
checksum: 10c0/6313c89f62c50bd0513a6839cdff0a06727ac5495ccbb2eeda51bb2bbbc4f3c0a76c0393a491b7610af703d3d2deb6cf60e37e59c81ceeca803ffde745dbf309
languageName: node
linkType: hard

"@types/node@npm:*, @types/node@npm:>=13.7.0, @types/node@npm:^22.13.13":
version: 22.14.1
resolution: "@types/node@npm:22.14.1"
Expand Down Expand Up @@ -7468,6 +7480,19 @@ __metadata:
languageName: node
linkType: hard

"form-data@npm:^4.0.4":
version: 4.0.4
resolution: "form-data@npm:4.0.4"
dependencies:
asynckit: "npm:^0.4.0"
combined-stream: "npm:^1.0.8"
es-set-tostringtag: "npm:^2.1.0"
hasown: "npm:^2.0.2"
mime-types: "npm:^2.1.12"
checksum: 10c0/373525a9a034b9d57073e55eab79e501a714ffac02e7a9b01be1c820780652b16e4101819785e1e18f8d98f0aee866cc654d660a435c378e16a72f2e7cac9695
languageName: node
linkType: hard

"format@npm:^0.2.0":
version: 0.2.2
resolution: "format@npm:0.2.2"
Expand Down