Skip to main content
ClaudeWave
MCP ServersOfficial Registry1 stars0 forksGoBSD-3-ClauseUpdated yesterday
ClaudeWave Trust Score
77/100
Trusted
Passed
  • Open-source license (BSD-3-Clause)
  • Actively maintained (<30d)
  • Documented (README)
Flags
  • !No description
Last scanned: 8/27/2026
Install in Claude Code / Claude Desktop
Method: Docker · //your-dashboard-api-host
Claude Code CLI
claude mcp add mcp -- docker run -i --rm //your-dashboard-api-host
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "//your-dashboard-api-host"],
      "env": {
        "DASHBOARD_URL": "<dashboard_url>",
        "DASHBOARD_API_KEY": "<dashboard_api_key>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Detected environment variables
DASHBOARD_URLDASHBOARD_API_KEY
Use cases

MCP Servers overview

# Everstake MCP Server

MCP server exposing Everstake staking data and company information to AI agents. Built in Go using [modelcontextprotocol/go-sdk](https://github.com/modelcontextprotocol/go-sdk).

**Transports:** Streamable HTTP (MCP 2025-03-26 spec, single `/` endpoint) or stdio. Selected via `MCP_TRANSPORT`.

---

## Available Tools

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

---

## Running the Server

### Prerequisites

- Go 1.26.1+
- Environment variable `DASHBOARD_URL` set (required)

### Local

```bash
export DASHBOARD_URL=https://your-dashboard-api-host
go run ./cmd/mcp_server
```

The server starts on port `8080` by default. Override with `PORT=<port>`.

### Stdio mode

```bash
export DASHBOARD_URL=https://your-dashboard-api-host
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:

```bash
docker build -t everstake-mcp .
docker run -e DASHBOARD_URL=https://your-dashboard-api-host -p 8080:8080 everstake-mcp
```

Stdio mode (interactive, no port mapping):

```bash
docker run --rm -i \
  -e DASHBOARD_URL=https://your-dashboard-api-host \
  -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`](.vscode/stdio_docker.sh) for an example using `--env-file`).

### Environment Variables

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

### Health Check

```
GET /health
```

---

## Debugging with MCP Inspector

[MCP Inspector](https://github.com/modelcontextprotocol/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:

```bash
docker run --rm -p 8080:8080 \
  -e DASHBOARD_URL=https://your-dashboard-api-host \
  -e DASHBOARD_API_KEY=<key> \
  everstake-mcp
```

Open Inspector:

```bash
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:

```bash
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](https://golangci-lint.run/) with a strict configuration in [`.golangci.yml`](.golangci.yml).

**Install golangci-lint:**

```bash
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
```

**Run:**

```bash
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](tools.yaml). Each map key is the tool name; the `static_response` field is returned verbatim to the AI agent.

```yaml
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`](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`](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`](.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`](internal/server/mcp/dashboard.go). The underlying API client lives in [`pkg/everstake/dashboard/`](pkg/everstake/dashboard/).

What people ask about mcp

What is everstake/mcp?

+

everstake/mcp is mcp servers for the Claude AI ecosystem with 1 GitHub stars.

How do I install mcp?

+

You can install mcp by cloning the repository (https://github.com/everstake/mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is everstake/mcp safe to use?

+

Our security agent has analyzed everstake/mcp and assigned a Trust Score of 77/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.

Who maintains everstake/mcp?

+

everstake/mcp is maintained by everstake. The last recorded GitHub activity is dated 2026-08-25, with 2 open issues.

Are there alternatives to mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: everstake/mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/everstake-mcp)](https://claudewave.com/repo/everstake-mcp)
<a href="https://claudewave.com/repo/everstake-mcp"><img src="https://claudewave.com/api/badge/everstake-mcp" alt="Featured on ClaudeWave: everstake/mcp" width="320" height="64" /></a>

More MCP Servers

mcp alternatives