Akash Network
STDIOTypeScript implementation of Model Context Protocol server for interacting with Akash Network.
TypeScript implementation of Model Context Protocol server for interacting with Akash Network.
Akash MCP Server is a TypeScript implementation of a Model Context Protocol (MCP) server for interacting with the Akash Network.
This project is still under development and not all tools are available. We are working on adding more tools and improving the server. We are open to contributions! See CONTRIBUTING.md for more details.
This server provides a bridge between AI agents and the Akash Network, allowing AI models to deploy applications, create leases, manage deployments, and interact with other Akash services directly through typed tools. It implements the Model Context Protocol, making it compatible with various AI platforms and tools.
Clone the repository:
git clone https://github.com/akash-network/mcp.git cd mcp
Install dependencies:
npm install
Build the project:
npm run build
Add the following to your claude_desktop_config.json
or .cursor/mcp.json
. See here for more details.
Make sure to replace <path to dist/index.js>
with the path to the dist/index.js
file you built.
{ "mcpServers": { "Akash": { "command": "node", "args": ["<path to dist/index.js>"], "env": { "AKASH_MNEMONIC": "<your mnemonic here>", "AKASH_RPC_URL": "https://rpc.akashnet.net:443" // optional, defaults to https://rpc.akashnet.net:443 } } } }
Run the server with the MCP inspector for development:
npm run dev
For watch mode during development:
npm run dev:watch
The server exposes a standard MCP interface that can be used by AI models to interact with the Akash Network. It uses the stdio transport by default, making it compatible with most MCP clients.
The server provides the following tools for AI agents:
Description:
Get the AKT (uakt) and other balances for a given Akash account address.
Input Schema:
{ "address": "akash1..." // Akash account address (string, required) }
Example Usage:
Request:
{ "address": "akash1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
Response:
[ { "denom": "uakt", "amount": "123456789" } // ...other tokens if present ]
Description:
Deposit additional AKT (uakt) into a deployment escrow account.
Input Schema:
{ "address": "akash1...", // Akash account address (string, required) "dseq": 123456, // Deployment sequence number (integer, required) "amount": "1000000" // Amount to add in uakt (string, required) }
Example Usage:
Request:
{ "address": "akash1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "dseq": 123456, "amount": "1000000" }
Response:
"...transaction raw log or error message..."
# Run linter npm run lint # Fix linting issues npm run lint:fix # Format code npm run format
See LICENSE