内容
# 最终闪电 MCP
一个 [MCP](https://modelcontextprotocol.io) 服务器,允许交易者直接从任何 MCP 客户端(Claude Code、Claude Desktop、Cursor 等)报价、执行和管理在 [Definitive Flash API](https://flash.definitive.fi/docs) 上的交易。
闪电路由跨越 200 多个流动性来源,涵盖 12 条链,并返回可签名的有效载荷。该服务器为您处理整个流程:**报价 → 包装/批准 → 签名 → 提交 → 轮询填充**,适用于 EVM 钱包和 Solana。
## 功能
| 工具 | 目的 |
|------|---------|
| `flash_setup` | 连接您的账户:获取一个链接以生成 Flash API 密钥,然后存储密钥和您的资助钱包。 |
| `flash_status` | 显示已配置的内容(API 密钥、钱包)和支持的链。 |
| `flash_quote` | 在不执行的情况下定价交易。不需要钱包。 |
| `flash_balances` | 通过内置的每个链的 RPC 获取原生代币余额和代币余额。只读。 |
| `flash_submit_order` | 执行交易(市价、限价、TWAP、止损、止盈、区间)。花费真实资金。 |
| `flash_get_order` | 一个订单的状态、成交和详细信息。 |
| `flash_list_orders` | 资助钱包的近期订单。 |
| `flash_cancel_order` | 取消一个未成交的订单。 |
## 安装
服务器已发布到 npm 上,名为 [`@definitive-fi/flash-mcp`](https://www.npmjs.com/package/@definitive-fi/flash-mcp) —— 无需克隆或构建。请选择您的客户端:
### Claude Code
```bash
claude mcp add definitive-flash -- npx -y @definitive-fi/flash-mcp
```
或安装插件,插件捆绑了服务器和交易工作流技能:
```
/plugin marketplace add DefinitiveCo/flash-mcp
/plugin install definitive-flash@flash-mcp
```
### Cursor
[](https://cursor.com/en/install-mcp?name=definitive-flash&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBkZWZpbml0aXZlLWZpL2ZsYXNoLW1jcCJdfQ%3D%3D)
或添加到 `~/.cursor/mcp.json`(全局)或 `.cursor/mcp.json`(按项目):
```json
{
"mcpServers": {
"definitive-flash": {
"command": "npx",
"args": ["-y", "@definitive-fi/flash-mcp"]
}
}
}
```
### Codex
```bash
codex mcp add definitive-flash -- npx -y @definitive-fi/flash-mcp
```
或添加到 `~/.codex/config.toml`:
```toml
[mcp_servers.definitive-flash]
command = "npx"
args = ["-y", "@definitive-fi/flash-mcp"]
```
### Claude Desktop / 其他客户端
将相同的 stdio 服务器添加到客户端的配置文件 JSON 中:
```json
{
"mcpServers": {
"definitive-flash": {
"command": "npx",
"args": ["-y", "@definitive-fi/flash-mcp"]
}
}
}
```
### 从源码(开发)
```bash
cd flash-mcp
bun install # 或:npm install
bun run build # 编译到 dist/
claude mcp add definitive-flash -- node "$PWD/dist/index.js"
```
## 首次运行设置
在您自己的终端中运行交互式向导:
```bash
npx -y @definitive-fi/flash-mcp setup
```
它一次性完成所有操作:
1. 打开 Definitive MCP 设置页面(`app.definitive.fi/account/organization/mcp-setup`)—— 登录,点击 **生成 API 密钥**,**复制并关闭** —— 并提示您粘贴密钥。
2. 提示输入您的 EVM 资助钱包私钥(按 Enter 跳过)。
3. 提示输入您的 Solana 资助钱包密钥(按 Enter 跳过 — 您可以稍后添加任一)。
4. 提示输入每个链的自定义 RPC 端点,预填充公共默认值(这些默认值有限制速率 — 如果您经常交易,建议使用个人端点)。
秘密被输入到 **隐藏提示** 中,并直接写入 macOS 钥匙串 —— 它们永远不会出现在屏幕上、shell 历史记录中或任何聊天记录中。每个步骤都可以跳过,向导可以随时重新运行。
就这样 — 在您的 MCP 客户端中,运行 `flash_status` 以确认,`flash_quote` 以定价,`flash_submit_order` 以交易。
**永远不要将钱包私钥粘贴到聊天中** —— 它将通过模型和对话记录。如果您更喜欢,可以通过 `flash_setup { "apiKey": "dpka_…" }` 将 API 密钥粘贴到聊天中;它可以实现报价。
### 单个 CLI 命令
每个向导步骤也可以作为一次性命令:
```bash
flash-mcp set-key evm # 或:svm, api (提示隐藏,存储在钥匙串中)
flash-mcp set-key api
flash-mcp set-rpc base https://your-rpc
flash-mcp set-org 5VYFCW7M
flash-mcp status # 显示已配置的内容
flash-mcp remove-key evm
```
如果它不在您的 PATH 上,请通过 npx 运行:`npx -y @definitive-fi/flash-mcp set-key evm`。
## 凭证存储
秘密存储在 **macOS 钥匙串**(服务 `definitive-flash-mcp`)中,由操作系统加密存储 —— 永远不会以明文写入点文件。在非 macOS 主机上,或通过调用 `flash_setup` 注入凭证,请设置环境变量(这些优先于钥匙串):
```
DEFINITIVE_API_KEY 您的 Flash API 密钥
DEFINITIVE_PRIVATE_KEY EVM 资助钱包私钥(0x 十六进制)
DEFINITIVE_SVM_PRIVATE_KEY Solana 资助钱包密钥(base58 或 JSON 字节数组)
```
RPC 端点默认为每个链的公共节点(有限速)。通过 `{ "rpc": { "base": "https://…" } }` 使用 `flash_setup` 设置您自己的端点 —— 持久化到 `~/.config/definitive-flash-mcp/config.json`(非机密,可手动编辑)。优先级,最高优先:每个调用的 `rpcUrl` 参数 → `DEFINITIVE_RPC_<CHAIN>` 环境变量 → `flash_setup` 配置 → 公共默认值。
## 注意事项
- **`flash_submit_order` 会花费真实资金。** 它会获取最新报价,使用您存储的密钥签名,并提交。对于市价订单,它会轮询直到订单达到终端状态。
- EVM 交易可能会发送一次性 ERC-20 批准(和原生资产交易的包装交易),然后签名 —— 您的钱包需要一点 gas 用于这些。
- **原生 gas 资产由我们处理。** Flash 定价代币合约,而不是原生 gas 资产,因此引用原生 ETH/BNB/POL/AVAX/HYPE/XPL/SOL(裸符号,`native`,零地址,或 `0xEeee…` 哨兵)会自动路由到链的包装原生代币 —— 在需要时首先包装花费的金额。每个替换都会在报价/订单输出中注明。您最终持有包装代币(例如 WETH);如果需要原生代币,请单独解包。
- `qty` 是正在 **花费** 的金额:购买时以 `contraAsset` 单位计,卖出时以 `targetAsset` 单位计。
- 支持的链:ethereum, optimism, bsc, polygon, base, arbitrum, avalanche, hyperevm, robinhood, plasma, monad, solana。