UNPKG

@nutrient-sdk/dws-mcp-server

Version:

MCP server for Nutrient DWS Processor API

42 lines (41 loc) 1.42 kB
import { pipeToString } from './utils.js'; /** * Strips sensitive fields (API keys) from the account info response * before returning it to the LLM. */ export function sanitizeAccountInfo(data) { const { apiKeys: _apiKeys, ...safe } = data; return safe; } /** * Calls the DWS /account/info endpoint and returns credit information. */ export async function performCheckCreditsCall(apiClient) { const response = await apiClient.get('account/info'); const raw = await pipeToString(response.data); let parsed; try { parsed = JSON.parse(raw); } catch { return { content: [{ type: 'text', text: `Unexpected non-JSON response from /account/info: ${raw}` }], isError: true, }; } const safe = sanitizeAccountInfo(parsed); const totalCredits = safe.usage?.totalCredits; const usedCredits = safe.usage?.usedCredits; const remainingCredits = totalCredits != null && usedCredits != null ? totalCredits - usedCredits : undefined; const summary = { subscriptionType: safe.subscriptionType ?? 'unknown', totalCredits: totalCredits ?? 'unknown', usedCredits: usedCredits ?? 'unknown', remainingCredits: remainingCredits ?? 'unknown', signedIn: safe.signedIn, }; return { content: [{ type: 'text', text: JSON.stringify(summary, null, 2) }], isError: false, }; }