Server data from the Official MCP Registry
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
Remote endpoints: streamable-http: https://mcp.everstake.one
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
Endpoint verified · Open access · No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: MCP_TRANSPORT
Environment variable: PORT
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"one-everstake-mcp": {
"url": "https://mcp.everstake.one"
}
}
}From the project's GitHub README.
MCP server exposing Everstake staking data and company information to AI agents. Built in Go using modelcontextprotocol/go-sdk.
Transports: Streamable HTTP (MCP 2025-03-26 spec, single / endpoint) or stdio. Selected via MCP_TRANSPORT.
| Tool | Type | Description |
|---|---|---|
get_company_profile | static | Company overview, metrics, certifications |
get_products | static | Product details: Institutional Staking, VaaS, Yield, SWQOS, ShredStream |
get_solutions | static | Solutions by audience: custodians, exchanges, asset managers, banks, fintech |
get_developer_docs | static | SDK links, integration guides, API references |
get_contact_information | static | Contact channels and routing guide |
get_security_profile | static | Certifications: SOC 2 Type II, ISO 27001, NIST CSF, ITGC, GDPR, CCPA |
get_integrations | static | Custody integrations: Fireblocks, BitGo, Anchorage, Coinbase, etc. |
get_uptime_metrics | live | Uptime metrics from dashboard API (30 min cache) |
get_chains | live | Supported chains with APY, fees, status (30 min cache) |
staking_calculator | live | Estimated staking rewards by network and amount |
request_integration | write | Submit integration/staking inquiry to Everstake sales |
DASHBOARD_URL set (required)export DASHBOARD_URL=https://dashboard-api.everstake.one
go run ./cmd/mcp_server
The server starts on port 8080 by default. Override with PORT=<port>.
export DASHBOARD_URL=https://dashboard-api.everstake.one
export MCP_TRANSPORT=stdio
go run ./cmd/mcp_server
In stdio mode, the HTTP server, /health endpoint, and rate limiting are disabled. Logs go to stderr; stdout carries the MCP JSON-RPC protocol.
HTTP mode:
docker build -t everstake-mcp .
docker run -e DASHBOARD_URL=https://dashboard-api.everstake.one -p 8080:8080 everstake-mcp
Stdio mode (interactive, no port mapping):
docker run --rm -i \
-e DASHBOARD_URL=https://dashboard-api.everstake.one \
-e MCP_TRANSPORT=stdio \
everstake-mcp
Use -i to keep stdin attached for the JSON-RPC protocol; do not pass -t (a TTY breaks line-based JSON framing). For MCP clients that launch the server as a subprocess, point command at docker with args matching the above, or wrap in a helper script (see .vscode/stdio_docker.sh for an example using --env-file).
| Variable | Default | Required |
|---|---|---|
DASHBOARD_URL | — | yes |
MCP_TRANSPORT | http | no (http or stdio) |
PORT | 8080 | no (http mode only) |
GIN_MODE | — | no (release set in Dockerfile) |
GET /health
MCP Inspector is the official tool for poking at MCP servers — list tools, call them, see raw JSON-RPC.
Stdio note: stdio servers are owned by the parent process; you cannot connect Inspector to an already-running stdio container. Inspector must launch the subprocess itself. For an interactive session you can reconnect to, use HTTP mode (option below).
Start the container:
docker run --rm -p 8080:8080 \
-e DASHBOARD_URL=https://dashboard-api.everstake.one \
-e DASHBOARD_API_KEY=<key> \
everstake-mcp
Open Inspector:
npx @modelcontextprotocol/inspector
In the UI:
Streamable HTTPhttp://localhost:8080/Container stays running across Inspector sessions.
Let Inspector launch the container so it owns stdin/stdout:
npx @modelcontextprotocol/inspector \
docker run --rm -i \
--env-file .env \
everstake-mcp
Or fill the UI manually:
STDIOdockerrun --rm -i --env-file .env everstake-mcpEach Inspector session forks a fresh container; quitting Inspector kills it.
The project uses golangci-lint with a strict configuration in .golangci.yml.
Install golangci-lint:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
Run:
make lint
Key rules enforced: staticcheck (all checks), gosec, gocritic (diagnostic/style/performance tags), revive (40+ rules including early-return, error-strings, var-naming), errchkjson, bodyclose, contextcheck, and more. nolintlint requires specific lint directives — bare //nolint is not allowed.
Edit tools.yaml. Each map key is the tool name; the static_response field is returned verbatim to the AI agent.
tools:
get_company_profile:
description: |
...
static_response: |
COMPANY: Everstake
...
To add a new static tool:
tools: in tools.yaml with static_response.ToolsConfig in internal/config/mcp_config.go with a matching yaml struct tag — the name is injected automatically via reflection.internal/server/mcp/server.go using staticTextTool().Cross-cutting rules that apply to all tool responses are in .vscode/tools_src/RULES.md. These cover:
request_integrationget_uptime_metrics and get_chains fetch live data from the dashboard API with a 30-minute in-memory cache. Their handlers are in internal/server/mcp/dashboard.go. The underlying API client lives in pkg/everstake/dashboard/.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.