关于 everstake
everstake 是一个向 AI Agent 提供 Everstake 公司信息和质押数据的 MCP 服务。它结合了资料查询、实时链与运行时间数据、质押收益估算,以及集成咨询工具。
主要功能
- 01查询公司、产品和解决方案信息
- 02查找开发文档与联系渠道
- 03查看安全资料和托管集成信息
- 04检查实时链状态、APY 和费用
- 05查看运行时间指标并估算质押收益
- 06提交集成或质押咨询
适用场景
- 01为组织了解 Everstake 的服务
- 02查询支持的链及当前指标
- 03按网络和金额估算质押收益
- 04提交质押或集成咨询
MCP 相关
该 MCP 服务向 AI Agent 提供公司和产品静态信息、实时仪表盘指标及质押计算工具。支持 Streamable HTTP 和 stdio 传输。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.everstake.comclaude mcp add --transport http com-everstake https://mcp.everstake.com{"mcpServers":{"com-everstake":{"type":"http","url":"https://mcp.everstake.com"}}}在 Cursor 中打开{"servers":{"com-everstake":{"type":"http","url":"https://mcp.everstake.com"}}}在 VS Code 中打开{"mcpServers":{"com-everstake":{"type":"http","url":"https://mcp.everstake.com"}}}{"mcpServers":{"com-everstake":{"serverUrl":"https://mcp.everstake.com"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
11此工具无需参数。
详细介绍
Everstake MCP 服务
向 AI Agent 提供 Everstake 质押数据和公司信息的 MCP 服务。使用 Go 和 modelcontextprotocol/go-sdk 构建。
传输方式: Streamable HTTP(MCP 2025-03-26 规范,单个 / 端点)或 stdio。通过 MCP_TRANSPORT 选择。
可用工具
| 工具 | 类型 | 描述 |
|---|---|---|
get_company_profile | 静态 | 公司概览、指标和认证 |
get_products | 静态 | 产品详情:Institutional Staking、VaaS、Yield、SWQOS、ShredStream |
get_solutions | 静态 | 面向不同受众的解决方案:托管机构、交易所、资产管理公司、银行、金融科技公司 |
get_developer_docs | 静态 | SDK 链接、集成指南、API 参考 |
get_contact_information | 静态 | 联系渠道和转接指南 |
get_security_profile | 静态 | 认证:SOC 2 Type II、ISO 27001、NIST CSF、ITGC、GDPR、CCPA |
get_integrations | 静态 | 托管集成:Fireblocks、BitGo、Anchorage、Coinbase 等 |
get_uptime_metrics | 实时 | 来自仪表板 API 的运行时间指标(缓存 30 分钟) |
get_chains | 实时 | 支持的链及其 APY、费用和状态(缓存 30 分钟) |
staking_calculator | 实时 | 按网络和金额估算质押奖励 |
request_integration | 写入 | 向 Everstake 销售团队提交集成/质押咨询 |
运行服务
先决条件
- Go 1.26.1+
- 必须设置环境变量
DASHBOARD_URL
本地运行
export DASHBOARD_URL=https://your-dashboard-api-host
go run ./cmd/mcp_server
服务默认在端口 8080 上启动。使用 PORT=<port> 覆盖。
Stdio 模式
export DASHBOARD_URL=https://your-dashboard-api-host
export MCP_TRANSPORT=stdio
go run ./cmd/mcp_server
在 stdio 模式下,HTTP 服务、/health 端点和速率限制均会禁用。日志输出到 stderr;stdout 用于传输 MCP JSON-RPC 协议。
Docker
HTTP 模式:
docker build -t everstake-mcp .
docker run -e DASHBOARD_URL=https://your-dashboard-api-host -p 8080:8080 everstake-mcp
Stdio 模式(交互式,不映射端口):
docker run --rm -i \
-e DASHBOARD_URL=https://your-dashboard-api-host \
-e MCP_TRANSPORT=stdio \
everstake-mcp
使用 -i 保持 stdin 连接,以传输 JSON-RPC 协议;不要传入 -t(TTY 会破坏基于行的 JSON 分帧)。对于以子进程方式启动服务的 MCP 客户端,将 command 指向 docker,并将 args 设置为与上述命令相符,或使用辅助脚本封装(示例见 .vscode/stdio_docker.sh,其中使用了 --env-file)。
环境变量
| 变量 | 默认值 | 必需 |
|---|---|---|
DASHBOARD_URL | — | 是 |
MCP_TRANSPORT | http | 否(http 或 stdio) |
PORT | 8080 | 否(仅限 http 模式) |
GIN_MODE | — | 否(Dockerfile 中设置为 release) |
健康检查
GET /health
使用 MCP Inspector 调试
MCP Inspector 是用于检查 MCP 服务的官方工具,可列出工具、调用工具并查看原始 JSON-RPC。
Stdio 注意事项: stdio 服务由父进程拥有;无法将 Inspector 连接到已运行的 stdio 容器。Inspector 必须自行启动子进程。若要创建可重新连接的交互会话,请使用 HTTP 模式(见下方选项)。
HTTP 模式(推荐用于常规调试)
启动容器:
docker run --rm -p 8080:8080 \
-e DASHBOARD_URL=https://your-dashboard-api-host \
-e DASHBOARD_API_KEY=<key> \
everstake-mcp
打开 Inspector:
npx @modelcontextprotocol/inspector
在界面中:
- 传输类型:
Streamable HTTP - URL:
http://localhost:8080/
在不同 Inspector 会话之间,容器会持续运行。
Stdio 模式(验证 stdio 传输)
让 Inspector 启动容器,使其接管 stdin/stdout:
npx @modelcontextprotocol/inspector \
docker run --rm -i \
--env-file .env \
everstake-mcp
或者在界面中手动填写:
- 传输类型:
STDIO - 命令:
docker - 参数:
run --rm -i --env-file .env everstake-mcp
每个 Inspector 会话都会启动一个全新的容器;退出 Inspector 时,容器也会终止。
代码检查
项目使用 golangci-lint,并在 .golangci.yml 中采用严格配置。
安装 golangci-lint:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
运行:
make lint
强制执行的主要规则包括:staticcheck(所有检查)、gosec、gocritic(诊断、风格和性能标签)、revive(40 多条规则,包括提前返回、错误字符串和变量命名)、errchkjson、bodyclose、contextcheck 等。nolintlint 要求使用特定的 lint 指令,不允许只写 //nolint。
编辑工具响应
静态工具
编辑 tools.yaml。每个映射键都是工具名称;static_response 字段会原样返回给 AI Agent。
tools:
get_company_profile:
description: |
...
static_response: |
COMPANY: Everstake
...
要添加新的静态工具:
- 在
tools.yaml的tools:下添加一个带有static_response的条目。 - 在
internal/config/mcp_config.go中为ToolsConfig添加对应字段,并使用匹配的yaml结构体标签——名称会通过反射自动注入。 - 在
internal/server/mcp/server.go中使用staticTextTool()注册该工具。
内容规则
适用于所有工具响应的通用规则位于 .vscode/tools_src/RULES.md。这些规则涵盖:
- 认证差异化表述
- 非托管定位
- Vault 产品免责声明
- APY 免责声明措辞
request_integration的线索来源标记
动态工具
get_uptime_metrics 和 get_chains 会从仪表板 API 获取实时数据,并使用 30 分钟的内存缓存。其处理程序位于 internal/server/mcp/dashboard.go。底层 API 客户端位于 pkg/everstake/dashboard/。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。