UNPKG

@covalenthq/goldrush-mcp-server

Version:

GoldRush MCP Server for interacting with Covalent GoldRush API

55 lines 2.38 kB
import packageJson from "../package.json" with { type: "json" }; import { addRealTimeChainStatusResources } from "./resources/dynamicResources.js"; import { addStaticResources } from "./resources/staticResources.js"; import { addAllChainsServiceTools } from "./services/AllChainsService.js"; import { addBalanceServiceTools } from "./services/BalanceService.js"; import { addBaseServiceTools } from "./services/BaseService.js"; import { addBitcoinServiceTools } from "./services/BitcoinService.js"; import { addNftServiceTools } from "./services/NftService.js"; import { addPricingServiceTools } from "./services/PricingService.js"; import { addSecurityServiceTools } from "./services/SecurityService.js"; import { addTransactionServiceTools } from "./services/TransactionService.js"; import { GoldRushClient } from "@covalenthq/client-sdk"; import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import dotenv from "dotenv"; const { version } = packageJson; dotenv.config(); export function createGoldRushClient() { const apiKey = process.env["GOLDRUSH_API_KEY"]; if (!apiKey) { console.error("GOLDRUSH_API_KEY environment variable is not set."); process.exit(1); } return new GoldRushClient(apiKey); } export function createServer() { const goldRushClient = createGoldRushClient(); const server = new McpServer({ name: "GoldRush MCP Server", version: version, }); addStaticResources(server); addRealTimeChainStatusResources(server, goldRushClient); addAllChainsServiceTools(server, goldRushClient); addBaseServiceTools(server, goldRushClient); addBalanceServiceTools(server, goldRushClient); addTransactionServiceTools(server, goldRushClient); addBitcoinServiceTools(server, goldRushClient); addNftServiceTools(server, goldRushClient); addPricingServiceTools(server, goldRushClient); addSecurityServiceTools(server, goldRushClient); return server; } export async function startServer() { try { const server = createServer(); const transport = new StdioServerTransport(); await server.connect(transport); } catch (error) { console.error("Failed to start server:", error); process.exit(1); } } //# sourceMappingURL=server.js.map