A Model Context Protocol (MCP) server that provides onchain tools for AI applications like Claude Desktop and Cursor, allowing them to interact with the Vara Network.
This MCP server extends any MCP client's capabilities by providing tools to do anything on Vara:
- Retrieve block details
The Vara MCP server follows this structure for tools:
src/
├── tools/
│ ├── index.ts (exports toolsets)
│ ├── [TOOL_NAME]/ <-------------------------- ADD DIR HERE
│ │ ├── index.ts (defines and exports tools)
│ │ ├── schemas.ts (defines input schema)
│ │ └── handlers.ts (implements tool functionality)
│ └── utils/ (shared tool utilities)
- Node.js (v16 or higher)
- npm or yarn
- Subscan API credentials
-
Clone this repository:
git clone https://github.com/HAPPYS1NGH/vara-mcp.git cd vara-mcp -
Install dependencies:
npm install
-
Build the project:
npm run build
Create a .env file with your credentials:
# Subscan API credentials
# You can obtain these from the Subscan Developer Portal: https://api.subscan.io/
SUBSCAN_API_URL=your_subscan_api_url
API_KEY=your_api_key
Test the MCP server to verify it's working correctly:
npm testThis script will verify that your MCP server is working correctly by testing the connection and available tools.
To add this MCP server to Claude Desktop:
-
Create or edit the Claude Desktop configuration file at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
You can easily access this file via the Claude Desktop app by navigating to Claude > Settings > Developer > Edit Config.
-
Add the following configuration:
{ "mcpServers": { "vara-mcp": { "command": "npx", "args": ["<your_repo_build_path>/index.js"], "env": { "SUBSCAN_API_URL": "your_subscan_api_url", "API_KEY": "your_api_key" }, "disabled": false, "autoApprove": [] } } } -
Restart Claude Desktop for the changes to take effect.
Retrieves the block details for a given block number.
Example query to Claude:
"What's block number 21189359?"
- The configuration file contains sensitive information (API keys and seed phrases). Ensure it's properly secured and not shared.
- Consider using environment variables or a secure credential manager instead of hardcoding sensitive information.
If you encounter issues:
- Check that your Subscan API credentials are correct
- Check the Claude Desktop logs for any error messages
Contributions are welcome! Please feel free to submit a Pull Request. Please make sure your code follows the existing style and includes appropriate tests.