UNPKG

@griffinbank/mcp-server

Version:

Griffin API MCP Server - Model Context Protocol server for Griffin API

33 lines (32 loc) 1.38 kB
import fetch from "node-fetch"; import { config } from "dotenv"; config(); const GRIFFIN_API_BASE_URL = "https://api.griffin.com"; const GRIFFIN_API_KEY = process.env.GRIFFIN_API_KEY; const GRIFFIN_API_KEY_ID = process.env.GRIFFIN_API_KEY_ID; const GRIFFIN_ORGANIZATION_ID = process.env.GRIFFIN_ORGANIZATION_ID; if (!GRIFFIN_API_KEY || !GRIFFIN_API_KEY || !GRIFFIN_ORGANIZATION_ID) { console.error("Error: GRIFFIN_API_KEY, GRIFFIN_API_KEY_ID and GRIFFIN_ORGANIZATION_ID must be provided in the .env file"); process.exit(1); } async function griffinRequest(endpoint, method = "GET", body) { const url = `${GRIFFIN_API_BASE_URL}${endpoint}`; console.error(`Making ${method} request to: ${url}`); const options = { method, headers: { "Authorization": `GriffinAPIKey ${GRIFFIN_API_KEY}`, "Content-Type": "application/json" } }; if (body && (method === "POST" || method === "PUT" || method === "PATCH")) { options.body = JSON.stringify(body); } const response = await fetch(url, options); if (!response.ok) { const errorText = await response.text(); throw new Error(`Griffin API error (${response.status}): ${errorText}`); } return response.json(); } export { GRIFFIN_API_KEY, GRIFFIN_API_KEY_ID, GRIFFIN_ORGANIZATION_ID, GRIFFIN_API_BASE_URL, griffinRequest };