Everstake MCP Server is an MCP (Model Context Protocol) server designed to expose Everstake's staking data and company information to AI agents. It is written in Go and built on modelcontextprotocol/go-sdk.
Purpose
The main purpose of this server is to enable AI agents to access Everstake's non-custodial staking data, including real-time APY, uptime metrics, reward calculators, integration information, and security and compliance information. Through the MCP protocol, AI agents can call these tools to obtain the required data.
Main Capabilities
The server provides multiple tools. The specific tool list is not detailed in the materials, but it mentions that get_uptime_metrics and get_chains fetch real-time data from the dashboard API and have a 30-minute in-memory cache. In addition, it supports static tools whose responses are defined in tools.yaml.
Usage
The server supports two transport methods: Streamable HTTP (compliant with the MCP 2025-03-26 specification, single / endpoint) and stdio. The transport method is selected via the environment variable MCP_TRANSPORT.
Running the server requires setting the environment variable DASHBOARD_URL (required). The server starts on port 8080 by default, which can be overridden with PORT=<port>. In stdio mode, the HTTP server, /health endpoint, and rate limiting are disabled. Logs are output to stderr, and stdout is used for the MCP JSON-RPC protocol.
For stdio mode, use -i to keep stdin attached for the JSON-RPC protocol; do not pass -t (a TTY will break line-based JSON framing). For MCP clients that start the server as a subprocess, you can point the command to docker and match the above parameters, or wrap it in a helper script (see the .vscode/stdio_docker.sh example, which uses --env-file).
For debugging, you can use MCP Inspector, the official tool for listing tools, calling them, and viewing raw JSON-RPC. For stdio mode, Inspector must start the subprocess itself and cannot connect to an already running stdio container. For HTTP mode, after starting the container, set the transport type to Streamable HTTP in Inspector, with the URL asstart the subprocess itself and cannot connect to an already running stdio container. For HTTP mode, after starting the container, set the transport type to Streamable HTTP in Inspector, with the URL as http://localhost:8080/,容器在 Keep it running during the Inspector session.
Applicable Scenarios
Suitable for developers who need to integrate Everstake staking data into AI agents, for example building staking-related chatbots or automation tools.
Limitations
The materials do not provide specific details such as the tool list, pricing information, or platform support. Before use, ensure the DASHBOARD_URL environment variable is set. The project uses golangci-lint for strict code checking; editing tool responses requires modifying tools.yaml and registering.