everstake/mcp

💰 Finance & Fintech🟢 Verified Active
0 Views
0 Installs

🎖️ ☁️ - An MCP server for Everstake's non-custodial staking data across 130+ networks: live APY, uptime metrics, rewards calculator, integrations, security and compliance. Built for asset managers, custodians, and exchanges evaluating institutional staking.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "everstake-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "everstake-mcp"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

Everstake MCP Server

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.


Available Tools

ToolTypeDescription
get_company_profilestaticCompany overview, metrics, certifications
get_productsstaticProduct details: Institutional Staking, VaaS, Yield, SWQOS, ShredStream
get_solutionsstaticSolutions by audience: custodians, exchanges, asset managers, banks, fintech
get_developer_docsstaticSDK links, integration guides, API references
get_contact_informationstaticContact channels and routing guide
get_security_profilestaticCertifications: SOC 2 Type II, ISO 27001, NIST CSF, ITGC, GDPR, CCPA
get_integrationsstaticCustody integrations: Fireblocks, BitGo, Anchorage, Coinbase, etc.
get_uptime_metricsliveUptime metrics from dashboard API (30 min cache)
get_chainsliveSupported chains with APY, fees, status (30 min cache)
staking_calculatorliveEstimated staking rewards by network and amount
request_integrationwriteSubmit integration/staking inquiry to Everstake sales

Running the Server

Prerequisites

  • Go 1.26.1+
  • Environment variable DASHBOARD_URL set (required)

Local

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>.

Stdio mode

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.

Docker

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).

Environment Variables

VariableDefaultRequired
DASHBOARD_URLyes
MCP_TRANSPORThttpno (http or stdio)
PORT8080no (http mode only)
GIN_MODEno (release set in Dockerfile)

Health Check

GET /health

Debugging with MCP Inspector

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).

HTTP mode (recommended for general debugging)

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:

  • Transport Type: Streamable HTTP
  • URL: http://localhost:8080/

Container stays running across Inspector sessions.

Stdio mode (verify stdio transport)

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:

  • Transport Type: STDIO
  • Command: docker
  • Arguments: run --rm -i --env-file .env everstake-mcp

Each Inspector session forks a fresh container; quitting Inspector kills it.


Linting

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.


Editing Tool Responses

Static tools

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:

  1. Add an entry under tools: in tools.yaml with static_response.
  2. Add a corresponding field to ToolsConfig in internal/config/mcp_config.go with a matching yaml struct tag — the name is injected automatically via reflection.
  3. Register it in internal/server/mcp/server.go using staticTextTool().

Content rules

Cross-cutting rules that apply to all tool responses are in .vscode/tools_src/RULES.md. These cover:

  • Certification differentiator language
  • Non-custodial positioning
  • Vault product disclaimers
  • APY disclaimer wording
  • Lead source tagging for request_integration

Dynamic tools

get_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/.

Related MCP Servers

@agentfund/mcp

📇 ☁️ - Fundraising infrastructure for AI agents on Solana — campaigns, x402 donations, and on-chain reputation. MCP tools for registering agents, creating campaigns, and donating via the x402 pay-to-call flow, backed by Anchor programs (agentregistry, escrow, reputation). npx -y @agentfund/mcp

💰 Finance & Fintech1 views
@asterpay/mcp-server

📇 ☁️ - EUR settlement for AI agents via x402 protocol. Market data, AI tools, crypto analytics — pay-per-call in USDC on Base. SEPA Instant EUR off-ramp.

💰 Finance & Fintech1 views
@czagents/cnb

📇 ☁️ 🏠 🍎 🪟 🐧 - Czech National Bank (ČNB) daily FX rates: fetch official CZK exchange rates, convert between currencies, fetch historical rates. Cached 10 min to ease upstream load. npm @czagents/cnb or HTTP at cnb.cz-agents.dev/mcp.

💰 Finance & Fintech1 views
@arbitova/mcp-server

📇 ☁️ - Non-custodial on-chain escrow + AI dispute arbitration for agent-to-agent USDC payments on Base. Seven tools covering the full EscrowV1 contract surface: create escrow, mark delivered with on-chain content hash, confirm or dispute, arbiter resolves with signed verdict, cancel/escalate on timeout. npx @arbitova/mcp-server

💰 Finance & Fintech0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Active

Recent health check succeeded.

Last checked: 7/29/2026, 4:30:58 AM

Unclaimed listing (imported or pending owner verification). Claim it →
★ Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.