# Allnodes MCP

> Allnodes MCP manages your entire Web3 infrastructure stack directly through any AI agent. Get real-time data on staking delegations, monitor active validators, provision bare metal servers, and manage node operations—all without leaving your IDE or terminal. It's the full command center for crypto infra.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** staking, validators, web3, node-hosting, crypto-infrastructure

## Description

Managing blockchain nodes used to mean jumping between a dozen different dashboards: one for staking status, another for server provisioning, and a third just for SSH key management. Now, you can keep everything in your agent conversation. This MCP lets your AI client interact with non-custodial services for staking, node hosting, and validator management.

Whether you need to check all available compute resources or perform a complex financial operation like claiming rewards, the necessary commands are available through one single connection point. You just tell your agent what needs doing—like provisioning an instant server profile or restarting a full node—and it handles the sequence of calls. This level of orchestration is why Vinkius hosts this MCP; it lets you treat complex infrastructure management like sending a simple chat message.

## Tools

### add_ssh_key
Adds a new SSH public key, granting secure access credentials to your hosted infrastructure.

### get_delegation
Retrieves the detailed status and metrics for one specific staking delegation.

### get_delegations
Fetches a complete list of all current staking delegations you manage.

### get_fullnode
Retrieves detailed metadata for one specific, active full node.

### get_fullnodes
Lists all currently managed full nodes and their basic status information.

### get_instant_server_profiles
Gets a list of all available software installation profiles for instant server deployment.

### get_instant_server_upgrades
Lists potential version upgrades or patches available for your instant servers.

### get_instant_servers
Retrieves a list of all currently deployed, instantly provisioned servers.

### get_servers
Lists all available bare-metal server hardware for immediate provisioning.

### get_ssh_keys
Retrieves a list of all SSH public keys currently registered to your account.

### get_validator
Fetches the current status and details for one specific validator instance.

### get_validators
Lists all managed validators, providing a summary of their health and status.

### host_instant_server
Provisions and deploys an instant server environment based on selected profiles or upgrades.

### host_node
Deploys a new validator, masternode, or full node instance to start running.

### prepare_deterministic
Prepares the necessary registration data for deterministic node setup and operation.

### remove_ssh_key
Removes a specific SSH public key, revoking access to your hosted infrastructure.

### remove_validator
Decommissions and removes an active validator from the network.

### restart_fullnode
Initiates a restart sequence for any listed full node, ensuring service uptime.

### staking_action
Executes critical staking operations like stake, unstake, withdraw, or claim for supported currencies.

### submit_deterministic
Finalizes and submits the prepared deterministic registration to the network.

## Prompt Examples

**Prompt:** 
```
List all my bare-metal servers on Allnodes.
```

**Response:** 
```
I've retrieved your bare-metal servers. You currently have 2 active servers: 'Main-ETH-Node' (ID: srv-8821) and 'Backup-Validator' (ID: srv-9932).
```

**Prompt:** 
```
What installation profiles are available for instant server ID 'srv-123'?
```

**Response:** 
```
Checking profiles for srv-123... I found 3 available profiles: 'Ubuntu 22.04 LTS', 'Debian 11', and 'CentOS Stream 9'. Which one would you like to use?
```

**Prompt:** 
```
Get the details for my validator with ID 'val-888'.
```

**Response:** 
```
Inspecting validator val-888... This is an Ethereum validator. Status: Active. Uptime: 99.9%. Current rewards: 1.2 ETH. Would you like to see the full metadata?
```

## Capabilities

### Manage Node Status and Metadata
Retrieve lists of all full nodes, inspect specific validator details, or restart an existing node with one command.

### Provision Web3 Hosting Resources
Query available bare-metal servers and provision new hosting environments using instant server profiles or upgrades.

### Automate Staking Actions
Perform critical staking actions—staking, unstaking, claiming, or withdrawing funds for various supported currencies.

### Manage Validator Identity and Security
Inspect validator health records, manage SSH public keys, and handle the registration lifecycle of your nodes.

### Host and Deploy Infrastructure
Initiate hosting for a new full node or deploy an entire validator/masternode stack to begin operations.

## Use Cases

### Validator Health Check
The infra engineer needs to confirm if a specific validator is running correctly. They ask their agent for `get_validator(ID)`, which immediately returns the status, uptime, and current rewards without manual API calls or dashboard navigation.

### New Node Deployment
A developer needs to deploy a new ETH masternode. They ask their agent to `host_node` for an Ethereum validator, which handles the deployment sequence and provides necessary metadata before they even write the next line of code.

### Auditing Access Keys
The security officer needs to know who has access. They simply ask their agent to `get_ssh_keys`, getting a complete list of all registered public keys in one conversational query.

### Clearing Staking Funds
A user needs to withdraw staked SOL. Instead of navigating the staking portal, they ask their agent to perform the `staking_action` for 'unstake' and specify SOL, executing the transaction directly.

## Benefits

- You stop having to switch between multiple dashboards. Your agent handles listing all full nodes (`get_fullnodes`) and checking validator status in one chat session.
- Need a new node? Instead of going through the console, you can ask your agent to deploy it using `host_node` or provision an instant server via `host_instant_server`. It's hands-free deployment.
- Staking is simplified. You don't need to look up staking APIs; just tell your agent to run a staking action (`staking_action`) and specify the currency.
- Security management becomes trivial. Use `add_ssh_key` or `remove_ssh_key` directly in conversation, keeping your access logs clean without needing to SSH into a dashboard first.
- When scaling up, you can query all available bare-metal hardware (`get_servers`) and immediately get the status of current validators using `get_validators`.

## How It Works

The bottom line is that you get to manage complex crypto infrastructure by talking to your AI client, instead of running dozens of API commands manually.

1. Subscribe to this MCP on Vinkius and enter your Allnodes API Token.
2. Your AI agent authenticates the connection, making all underlying infrastructure calls available.
3. You ask your agent for a specific action (e.g., 'List all my bare-metal servers'), and it returns structured data directly into your chat.

## Frequently Asked Questions

**How do I list all my servers using get_servers?**
You ask your agent to run `get_servers`. This tool returns a comprehensive list of every bare-metal server currently available for provisioning.

**What is the difference between get_fullnodes and get_fullnode?**
Use `get_fullnodes` when you need a summary list of all managed nodes. Use `get_fullnode` when you already know the ID and only want detailed metadata for one specific node.

**Can I use add_ssh_key to access my server?**
The `add_ssh_key` tool handles adding keys. After running it, your agent uses that key to secure your hosted infrastructure, giving you programmatic control over access.

**How do I restart a node? Should I use restart_fullnode?**
Yes, `restart_fullnode` is the correct tool. You pass it the ID of the full node, and it executes the necessary maintenance action to bring the service back up.

**If I want to check all my current staking positions, should I use get_delegations?**
Yes, `get_delegations` lists every stake you currently hold across different networks. The output shows the specific currency, the amount staked, and the recipient address for each delegation.

**What is the necessary workflow if I decide to remove a validator using remove_validator?**
You must provide the exact Validator ID you intend to decommission. The system then verifies ownership and initiates the removal process, which takes effect immediately after confirmation.

**Before hosting a new server, how do I see what installation templates are available using get_instant_server_profiles?**
This function pulls all predefined OS images and setup options offered by the platform. You can compare different distributions (like Ubuntu or CentOS) before choosing one to provision your machine with `host_instant_server`.

**If I need to audit my access, how do I view or remove an SSH key using get_ssh_keys and remove_ssh_key?**
First, run `get_ssh_keys` to list all registered public keys with their IDs. Once you've identified the key you want gone, use `remove_ssh_key` with that ID to revoke access.

**Can I list my active validators across all networks?**
Yes! Use the `get_validators` tool to retrieve a comprehensive list of all validators associated with your account, including their IDs and current status.

**How do I add a new SSH key for my hosted servers?**
Simply use the `add_ssh_key` action. You'll need to provide an alias for the key and the public key string itself to register it in your Allnodes profile.

**Is it possible to restart a full node through the AI?**
Yes. By using the `restart_full_node` tool with the specific Node ID, the agent can trigger a remote restart of your infrastructure.