Skip to main content
Glama
index.ts2.16 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { GET_CREDIT_CARD_TRANSACTIONS_TOOL } from "./tools/transactions/get_credit_card_transactions.js"; import { GET_RAMP_STATEMENTS_TOOL } from "./tools/statements/get_ramp_statements.js"; const server = new McpServer({ name: "ramp", version: "1.0.0", }); const args = process.argv.slice(2); if (args.length === 0) { console.error("Please provide a Ramp API key and Client ID"); process.exit(1); } const RAMP_API_KEY = process.env.RAMP_API_KEY || args[0] || "YOUR RAMP API KEY"; const RAMP_CLIENT_ID = process.env.RAMP_CLIENT_ID || args[1] || "YOUR RAMP CLIENT ID"; // Create base64 encoded credentials for Basic auth const credentials = Buffer.from(`${RAMP_CLIENT_ID}:${RAMP_API_KEY}`).toString('base64'); const accessTokenURL = `https://api.ramp.com/developer/v1/token`; const accessTokenResponse = await fetch(accessTokenURL, { method: "POST", headers: { Authorization: `Basic ${credentials}`, "Content-Type": "application/x-www-form-urlencoded", }, body: "grant_type=client_credentials&scope=transactions:read", }); const accessTokenData = await accessTokenResponse.json(); const accessToken = accessTokenData.access_token; // Create a context object with the access token const rampContext = { accessToken, }; // Register tools with the context const transactionsTool = GET_CREDIT_CARD_TRANSACTIONS_TOOL.withContext(rampContext); const statementsTool = GET_RAMP_STATEMENTS_TOOL.withContext(rampContext); // Register the tools with the server server.tool( transactionsTool.name, transactionsTool.description, transactionsTool.inputSchema, transactionsTool.handler ); server.tool( statementsTool.name, statementsTool.description, statementsTool.inputSchema, statementsTool.handler ); async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error("RAMP MCP SERVER RUNNING ON STDIO"); } main().catch((error) => { console.error("Fatal error in main(): ", error); process.exit(1); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dragonkhoi/ramp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server