Vara MCP Server
by HAPPYS1NGH
README.md
# Vara MCP Server
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.
## Overview
This MCP server extends any MCP client's capabilities by providing tools to do anything on Vara:
- Retrieve block details
### Project Structure
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)
```
## Prerequisites
- Node.js (v16 or higher)
- npm or yarn
- Subscan API credentials
## Installation
### Install from Source
1. Clone this repository:
```bash
git clone https://github.com/HAPPYS1NGH/vara-mcp.git
cd vara-mcp
```
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm run build
```
## Configuration
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
```
## Testing
Test the MCP server to verify it's working correctly:
```bash
npm test
```
This script will verify that your MCP server is working correctly by testing the connection and available tools.
## Integration with Claude Desktop
To add this MCP server to Claude Desktop:
1. 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`
You can easily access this file via the Claude Desktop app by navigating to Claude > Settings > Developer > Edit Config.
2. Add the following configuration:
```json
{
"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": []
}
}
}
```
3. Restart Claude Desktop for the changes to take effect.
## Available Tools
### get-block
Retrieves the block details for a given block number.
Example query to Claude:
> "What's block number 21189359?"
## Security Considerations
- 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.
## Troubleshooting
If you encounter issues:
1. Check that your Subscan API credentials are correct
2. Check the Claude Desktop logs for any error messages
## License
[MIT License](LICENSE)
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Please make sure your code follows the existing style and includes appropriate tests.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues