mcpField
C
CoinStats

CoinStats

已认证精选远程服务
coinstats.app金融数据172 天前更新

关于 CoinStats

CoinStats 是面向需要加密货币市场、投资组合、钱包、交易所和新闻数据的 Agent 的托管 MCP 服务。托管服务通过浏览器 OAuth 授权访问,无需管理 API 密钥。

主要功能

  1. 01读取币种价格和市场数据
  2. 02查看投资组合表现与盈亏
  3. 03查询钱包余额和交易
  4. 04读取交易所持仓及交易历史
  5. 05比较交易所价格并获取加密新闻

适用场景

  1. 01查看币种当前价格和市场图表
  2. 02检查指定时间段的投资组合表现
  3. 03查看多个区块链上的钱包活动
  4. 04跟踪交易所持仓或查找加密新闻

MCP 相关

通过采用 OAuth 2.1 授权的托管 HTTPS 服务,向 MCP 客户端提供 CoinStats API 能力。另有面向 API 密钥集成的开发者模式 stdio 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"coinstats": {
"command": "npx",
"args": [
"-y",
"@coinstats/coinstats-mcp"
],
"env": {
"COINSTATS_API_KEY": "<COINSTATS_API_KEY>"
}
}
}
}
启动命令npx -y @coinstats/coinstats-mcp
需要配置的环境变量
COINSTATS_API_KEY密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@coinstats/coinstats-mcp

工具

30

收录的工具列表 · 更新于 2 周前

参数类型必填说明
namestring否按名称搜索币种
pagenumber否页码
limitnumber否每页结果数
currencystring否价格数据所用的货币
symbolstring否按符号获取币种
blockchainsstring否区块链筛选条件,以逗号分隔(例如:ethereum,solana)
includeRiskScorestring否是否包含风险评分:true 或 false。默认值:false
categoriesstring否类别筛选条件,以逗号分隔(例如:memecoins,sports)
sortBystring否排序字段
sortDirenum否排序方向asc | desc
marketCap-greaterThannumber否市值大于
marketCap-equalsnumber否市值等于
marketCap-lessThannumber否市值小于
fullyDilutedValuation-greaterThannumber否完全稀释估值大于
fullyDilutedValuation-equalsnumber否完全稀释估值等于
fullyDilutedValuation-lessThannumber否完全稀释估值小于
volume-greaterThannumber否交易量大于
volume-equalsnumber否交易量等于
volume-lessThannumber否交易量小于
priceChange1h-greaterThannumber否1 小时价格变化大于
priceChange1h-equalsnumber否1 小时价格变化等于
priceChange1h-lessThannumber否1 小时价格变动小于
priceChange1d-greaterThannumber否1 天价格变动大于
priceChange1d-equalsnumber否1 天价格变动等于
priceChange1d-lessThannumber否1 天价格变动小于
priceChange7d-greaterThannumber否7 天价格变动大于
priceChange7d-equalsnumber否7 天价格变动等于
priceChange7d-lessThannumber否7 天价格变动小于
availableSupply-greaterThannumber否可用供应量大于
availableSupply-equalsnumber否可用供应量等于
availableSupply-lessThannumber否可用供应量小于
totalSupply-greaterThannumber否总供应量大于
totalSupply-equalsnumber否总供应量等于
totalSupply-lessThannumber否总供应量小于
rank-greaterThannumber否排名大于
rank-equalsnumber否排名等于
rank-lessThannumber否排名小于
price-greaterThannumber否价格大于
price-equalsnumber否价格等于
price-lessThannumber否价格小于
riskScore-greaterThannumber否风险评分大于(仅当 includeRiskScore=true 时)
riskScore-equalsnumber否风险评分等于(仅当 includeRiskScore=true 时)
riskScore-lessThannumber否风险评分小于(仅当 includeRiskScore=true 时)

详细介绍

CoinStats MCP 服务

面向 CoinStats API 的托管式 Model Context Protocol 服务。让 AI Agent(Claude、Cursor、Codex、ChatGPT——任何支持 MCP 的工具)通过单个受 OAuth 保护的 HTTPS URL,读取和操作 CoinStats 应用使用的同一份加密货币数据。

无需复制 API 密钥,也无需管理环境变量:每位用户都可以在浏览器中授权 Agent 访问自己的 CoinStats 账户,之后 Agent 会获得该用户专属的令牌。

CoinStats Server MCP server

服务 URL

https://mcp.coinstats.app/mcp

安装

Claude.ai / Claude Desktop

进入“设置” → 连接器 → 添加自定义连接器。粘贴服务 URL,然后点击添加:

https://mcp.coinstats.app/mcp

浏览器窗口会打开 coinstats.app/openapi/consent。登录(或确认现有会话),查看请求的访问权限,然后点击批准。

Cursor

安装 MCP 服务

也可以手动将其添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "coinstats": {
      "url": "https://mcp.coinstats.app/mcp"
    }
  }
}

重启 Cursor;首次调用时,会打开浏览器窗口以完成 OAuth 流程。

Claude Code
claude mcp add coinstats --transport http https://mcp.coinstats.app/mcp

Claude Code 会打开浏览器进行授权。使用以下命令验证:

claude mcp list
Codex

codex mcp add 只会注册 URL;不会打开浏览器。请另外运行 codex mcp login:

codex mcp add coinstats --url https://mcp.coinstats.app/mcp
codex mcp login coinstats

登录后,codex mcp list 应显示 coinstats 的 Auth: OAuth。

其他 MCP 客户端

任何支持通过 OAuth 2.1 授权使用 Streamable HTTP 传输方式的客户端都可以使用。将其指向 https://mcp.coinstats.app/mcp 即可——本服务支持动态客户端注册(RFC 7591),因此无需预先共享 client_id。

你可以做什么

授权后,你的 Agent 可以:

  • 查询 100,000 多种代币的实时价格、图表和市场数据
  • 读取 CoinStats 投资组合中的代币、盈亏以及随时间变化的表现
  • 查询 120 多个区块链上的钱包余额和交易记录
  • 读取已连接交易所中的未平仓永续合约和期货头寸,包括 Hyperliquid,并查看可用的杠杆、盈亏和资金费率
  • 使用 get-perpetual-trades 读取已同步的永续合约交易历史记录,包括可用的价格、已实现盈亏和手续费。支持 portfolioId 和 limit/skip 分页;数据覆盖范围取决于连接器和上次同步时间。
  • 按预设或自定义日历范围,获取经现金流调整的钱包、交易所和投资组合历史盈亏
  • 比较 200 多家交易所的行情价格
  • 获取加密货币新闻(最新、热门,以及按来源或主题筛选)

完整工具目录:https://coinstats.app/api-docs/mcp/tools。

身份验证

发现 + OAuth 流程遵循标准 MCP / RFC 模式:

端点规范用途
GET /.well-known/oauth-protected-resourceRFC 9728指向授权服务器(https://api.coin-stats.com)
GET /.well-known/oauth-authorization-serverRFC 8414AS 元数据(也镜像到 MCP 主机上,以便旧版客户端无需经过间接跳转即可找到它)
POST /v1/oauth/register(在 AS 上)RFC 7591动态客户端注册
GET /v1/oauth/authorize → 同意界面OAuth 2.1 §4.1用户批准访问
POST /v1/oauth/token(在 AS 上)OAuth 2.1 §4.1PKCE 代码交换
POST /v1/oauth/revoke(在 AS 上)RFC 7009按客户端断开连接

令牌传输方式:Authorization: Bearer <token>。目前只有一个 coinstats scope;细粒度 scope 已列入路线图。

自托管 / stdio 备用方案(开发者模式)

如果你想自行运行 MCP 服务(不使用按用户区分的 OAuth,只需开发者 API 密钥),旧版 stdio 入口已发布到 npm:

npx @coinstats/coinstats-mcp

在环境中设置 COINSTATS_API_KEY。按以下方式接入客户端:

{
  "mcpServers": {
    "coinstats": {
      "command": "npx",
      "args": ["-y", "@coinstats/coinstats-mcp"],
      "env": { "COINSTATS_API_KEY": "<YOUR_API_KEY>" }
    }
  }
}

或通过 Docker:

{
  "mcpServers": {
    "coinstats": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "COINSTATS_API_KEY", "coinstats/coinstats-mcp"],
      "env": { "COINSTATS_API_KEY": "<YOUR_API_KEY>" }
    }
  }
}

对于没有人点击“批准”的无头 / 无人值守集成,这是合适的选择。请从 CoinStats API Dashboard 获取密钥。

架构

托管服务是一个无状态的 Cloudflare Worker(约 225 KiB / gzip 压缩后约 41 KiB),它:

  1. 提供 RFC 9728 + RFC 8414 发现端点。
  2. 使用 Authorization: Bearer … 令牌限制对 POST /mcp 的访问。
  3. 无需会话状态即可分发 MCP JSON-RPC(initialize / tools/list / tools/call / ping)。
  4. 将每次工具调用转发到 https://openapiv1.coinstats.app,并携带相同的 bearer。

源文件:src/worker.ts。配置:wrangler.jsonc。

本地开发

仓库提供两个入口:

  • src/worker.ts — Cloudflare Worker。使用 wrangler dev 运行(默认端口为 8787)。
  • src/index.ts — stdio 服务。构建后使用 node dist/index.js 运行,或通过已发布的 npm 包运行。
# Build the stdio CLI
npm run build

# Run the Worker locally (requires `wrangler login` first)
npm run dev

# Deploy the Worker manually — needs CLOUDFLARE_ACCOUNT_ID exported in the
# env (the account ID isn't committed to wrangler.jsonc). Normally you don't
# need this: merging to main deploys automatically (see "Deployment" below).
export CLOUDFLARE_ACCOUNT_ID=<your-cf-account-id>
npm run deploy

# Tail production logs
npm run tail

在本地开发 Worker 时,可以覆盖环境变量:

wrangler dev --var OAUTH_ISSUER:http://localhost:1337 \
             --var COINSTATS_API_BASE_URL:http://localhost:9999

部署

GitHub Actions(.github/workflows/ci.yml)会在每个拉取请求中构建、测试并试运行打包 Worker。每次推送到 main 时,都会运行相同的检查,然后部署到 mcp.coinstats.app 并探测 /healthz。部署作业使用 production 环境,该环境仅限受保护分支使用,并从中读取两个密钥:CLOUDFLARE_API_TOKEN(Workers 部署权限)和 CLOUDFLARE_ACCOUNT_ID。来自 fork 的拉取请求会运行检查,但无法访问这两个密钥中的任何一个。若要在没有新提交的情况下重新部署,请在 main 上手动运行工作流;部署作业只会部署 main 当前的最新提交,因此重新运行旧的运行记录会失败,而不会回滚。

部署后的健康检查失败时不会自动回滚。若要恢复到先前版本,请运行 npx wrangler rollback(或在 Cloudflare 控制面板的 Workers & Pages → coinstats-mcp → Deployments 下选择一个版本),然后在 main 上提交修复。

OpenAI 插件域名验证

OpenAI 插件提交门户会通过获取 https://mcp.coinstats.app/.well-known/openai-apps-challenge 来验证域名所有权,并要求以纯文本形式返回它签发的令牌。Worker 会在该路径提供 OPENAI_APPS_CHALLENGE 环境变量;如果未设置该变量,则返回 404。请在每次部署时单独设置,不要写入已提交的配置:

wrangler secret put OPENAI_APPS_CHALLENGE

相关内容

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。