Somnia MCP Server
This is the Somnia MCP server implementation. It provides various tools and resources for interacting with blockchain data.
Features
Get information about blockchain blocks
Retrieve token balances and transaction history
Access NFT metadata and ownership details
Fetch transaction details
Modular architecture for easy extension and customization
Getting Started
To get started with the Somnia MCP server, follow these steps:
Clone the repository:
git clone https://github.com/vastavikadi/somnia-mcp.git cd somnia-mcpInstall dependencies:
npm installConfigure environment variables: Create a
.envfile in the root directory and add your configuration:AUTH_TOKEN=your_auth_tokenNOTE: Replace
your_auth_tokenwith your actual AUTH_TOKEN(That is going to be the ORMI API KEY) from https://subgraph.somnia.network/ by creating an account.Build the server:
npm run server:buildAfter that make to add the mcp server to your MCP Client. In this case, my IDE (VSCode) is MCP Client. So I have to add the server in the mcp.json file present in the .vscode folder.
{ "servers": { "somniamcp": { "type": "stdio", "command": "node", "args": ["build/server.js"], "dev": { "watch": "src//*.ts", "debug": { "type": "node" } }, "cwd": "${workspaceFolder}", "env": { "authToken": "${env:authToken}" } } }, "inputs": [] }You are now ready to start the Somnia MCP server!. Start from the mcp.json file.
Restart the server from mcp.json file to get the fresh tools.
Enjoy using the Somnia MCP server!. If you want to use in Copilot then simply use
#and then the name of the tool you want to use. For example,#getBlockHeightsto use the Get Block Heights tool.
NOTE: You can also run the command
to start the server in development mode with hot-reloading.
or
to start the server in the inspect mode.
Contributing
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
Don't forget to give a star to the repository if you find it useful! ⭐
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables interaction with Somnia blockchain data, providing tools to retrieve block information, token balances, transaction history, and NFT metadata through the ORMI API.