A Model Context Protocol (MCP) server that provides read-only blockchain services for the Vitruveo network.
Vitruveo enhancement:
Addedget_core_contracts, which returns a list of core Vitruveo contract addresses (treasury, system contracts, etc.).
More Vitruveo-specific tools will be added over time.
Forked from:
mcpdotdirect/evm-mcp-server
- Overview
- Features
- Vitruveo Tools
- Supported Network
- Prerequisites
- Installation
- Server Configuration
- Usage
- Connecting from MCP Clients
- API Reference
- Project Structure
- Development
- License
vtru-mcp exposes Vitruveo chain data to AI agents via the Model Context Protocol.
It is designed to be:
- Vitruveo-focused β chain ID 1490 only.
- Read-only β no private keys or signing.
- MCP-native β exposes tools + resources.
- Dual-transport β STDIO and HTTP/SSE.
- Latest block retrieval
- Get block by number
- Transaction lookup
- Transaction receipts
- Native VTRU balance
- Contract view/pure calls
- Token/NFT metadata (read-only)
get_core_contractsβ returns Vitruveo system contract addresses.
- No private keys
- No transfers or approvals
- No write methods
- Vitruveo Mainnet
- Chain ID: 1490
- RPC: https://rpc.vitruveo.xyz
- Explorer: https://explorer.vitruveo.net
- Bun 1.0+
- Node 18+
npm install -g @vitruveo/vtru-mcp
Or:
npx @vitruveo/vtru-mcp
From source:
git clone https://github.com/vitruveo/vtru-mcp.git
cd vtru-mcp
bun install
Defaults:
- Chain ID: 1490
- RPC: https://rpc.vitruveo.xyz
- Host: 0.0.0.0
- Port: 3001
npx @vitruveo/vtru-mcp
npx @vitruveo/vtru-mcp --http
Endpoints:
- SSE:
/sse - Messages:
/messages
.cursor/mcp.json:
{
"mcpServers": {
"vtru-mcp": {
"command": "npx",
"args": ["@vitruveo/vtru-mcp"]
}
}
}{
"mcpServers": {
"vtru-mcp-http": {
"url": "http://localhost:3001/sse"
}
}
}- Type: Command
- Command:
npx - Args:
@vitruveo/vtru-mcp
claude mcp add vtru-mcp npx @vitruveo/vtru-mcp
claude
| Tool Name | Description |
|---|---|
get_core_contracts |
Returns Vitruveo system contract addresses |
get_chain_info |
Chain metadata (chainId, block, rpc) |
get_block |
Fetch block by number or latest |
get_transaction |
Transaction details |
get_balance |
Native VTRU balance |
is_contract |
Detect if address is a contract |
read_contract |
View/pure call to a contract |
Token/NFT (read-only):
| Tool | Description |
|---|---|
get-token-info |
ERC20-style metadata |
get-token-balance |
ERC20-style balance |
get-nft-info |
NFT metadata |
get-nft-balance |
NFT balance |
vtru-mcp/
βββ app/
β βββ mcp/
β βββ route.js
βββ src/
β βββ mcp/
β βββ chains.ts
β βββ tools.ts
β βββ resources.ts
β βββ services/
β βββ balance.ts
β βββ blocks.ts
β βββ clients.ts
β βββ contracts.ts
β βββ ens.ts
β βββ index.ts
β βββ tokens.ts
β βββ transactions.ts
β βββ transfer.ts
β βββ utils.ts
βββ bin/cli.js
βββ build/
βββ package.json
bun dev
bun dev:http
bun run build
bun run build:http
Publishing:
npm run release
MIT License β see LICENSE.