arbitrum-mcp-tools
Version:
A comprehensive collection of Model Context Protocol (MCP) tools for interacting with the Arbitrum blockchain. Enables AI assistants like Claude, Cursor, Windsurf, VS Code, Gemini CLI, and OpenAI Codex to perform blockchain operations including account an
39 lines (38 loc) • 1.68 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { registerAllTools } from "./tools/index.js";
import { Alchemy, Network } from "alchemy-sdk";
import "dotenv/config";
// Create server instance
const server = new McpServer({
name: "arbitrum",
version: "2.0.0",
});
const ALCHEMY_API_KEY = process.env.ALCHEMY_API_KEY;
if (!ALCHEMY_API_KEY) {
throw new Error("ALCHEMY_API_KEY environment variable is required");
}
const alchemyConfig = {
apiKey: ALCHEMY_API_KEY,
network: Network.ARB_MAINNET,
};
export const alchemy = new Alchemy(alchemyConfig);
// Register all tools
registerAllTools(server);
// Start the server
export function startServer() {
return __awaiter(this, void 0, void 0, function* () {
const transport = new StdioServerTransport();
yield server.connect(transport);
console.error("Arbitrum MCP Server running on stdio");
});
}