UNPKG

uniderp-mcp

Version:

> A plug-and-play MCP tool server to **send ETH**, **transfer ERC-20 tokens**, **deploy tokens**, and **interact with smart contracts** on the **UNICHAIN** — built for **Claude Desktop**, **AI agents**, and **developers.**

44 lines (43 loc) 1.95 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import dotenv from "dotenv"; dotenv.config(); // Import tool registrations import { registerTransferNativeToken } from "./tools/transferNativeToken.js"; import { registerTransferERC20Token } from "./tools/transferERC20Token.js"; import { registerGetWalletInfo } from "./tools/getWalletInfo.js"; import { registerGoplusSecurityCheck } from "./tools/goplusSecurityCheck.js"; import { registerUniswapTrade } from "./tools/uniswapTrade.js"; import { registerUniderpBuyMeme } from "./tools/uniderpBuyMeme.js"; import { registerUniderpSellMeme } from "./tools/uniderpSellMeme.js"; import { registerUniswapMyPosition } from "./tools/uniswapMyPosition.js"; import { registerGenerateImage } from "./tools/uniderpGenMemeImg.js"; import { registerUniderpCreateMeme } from "./tools/uniderpCreateMeme.js"; import { registerUniderpListMeme } from "./tools/uniderpListMeme.js"; // Main server entry export async function main() { const server = new McpServer({ name: "uniderp-mcp", version: "1.0.0", }); // Register all tools registerTransferNativeToken(server); registerTransferERC20Token(server); registerGetWalletInfo(server); registerGoplusSecurityCheck(server); registerUniswapTrade(server); registerUniderpBuyMeme(server); registerUniderpSellMeme(server); registerUniswapMyPosition(server); registerGenerateImage(server); registerUniderpCreateMeme(server); registerUniderpListMeme(server); const transport = new StdioServerTransport(); transport.onmessage = (message /** @type {JSONRPCMessage} */) => { console.log("📩 Received message:", JSON.stringify(message, null, 2)); }; transport.onerror = (error) => { console.error("🚨 Transport error:", error); }; await server.connect(transport); }