import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { configDotenv } from "dotenv";
configDotenv();
export const server = new McpServer({
name: "Somnia MCP",
version: "1.0.0",
capabilities: {
resources: {},
tools: {},
prompts: {},
},
});
//tools
import registerGetOneBlock from "./tools/blocks/getOneBlock";
import registerGetBlockHeights from "./tools/blocks/getBlockHeights";
import registerGetBlockTxn from "./tools/blocks/getBlockTransactions";
import registerGetTokenBalance from "./tools/balances/getTokenBalance";
import registerGetERCBalance from "./tools/balances/getERCBalance";
import registerGetHistory from "./tools/balances/getHistoricalBalance";
import registerGetTokenBalancePortfolio from "./tools/balances/getTokenBalancePortfolio"
import registerERCTransfers from "./tools/transfers/getERCTransfers"
import registerGetContract from "./tools/tokens/getContractsWithHoldings";
import registerGetTokenHolders from "./tools/tokens/getTokenHolders";
import registerGetTxnLogs from "./tools/events/getTransactionLogs";
import registerGetNFT from "./tools/nfts/getNFTtokens";
import registerGetTxn from "./tools/transactions/getTransactions"
registerGetOneBlock(server);
registerGetBlockHeights(server);
registerGetBlockTxn(server);
registerGetERCBalance(server);
registerGetHistory(server);
registerGetTokenBalancePortfolio(server);
registerERCTransfers(server);
registerGetContract(server);
registerGetTokenHolders(server);
registerGetTxnLogs(server);
registerGetNFT(server);
registerGetTxn(server);
registerGetTokenBalance(server);
const main = async () => {
const transport = new StdioServerTransport();
await server.connect(transport);
};
main();