INNER CODE UNIT · JavaScript
mcpJsonRpcRequest
EdgeTypE/better-deepseek · src/background/index.js:806
async function mcpJsonRpcRequest(serverUrl, method, params = {}, apiKey = "", signal) {
const { sessionId, authMethod } = await mcpEnsureInitialized(serverUrl, apiKey);
const id = ++mcpReqId;
const { result } = await mcpFetch(serverUrl, { jsonrpc: "2.0", id, method, params }, apiKey, { sessionId, signal, authMethod });
return result;
}
async function listMcpTools(serverUrl, apiKey = "") {
try {
return await mcpJsonRpcRequest(serverUrl, "tools/list", {}, apiKey);
} catch (err) {
if (err.status === 404 || err.status === 400) {
mcpClearInit(serverUrl, apiKey);
return await mcpJsonRpcRequest(serverUrl, "tools/list", {}, apiKey);
}
throw err;
}
}