关于 Dagon Inference
Dagon Inference 是 stdio MCP 服务,让 MCP 客户端通过 Dagon Inference 的 OpenAI 兼容 API 使用开源权重 LLM 聊天及账户功能。它可列出模型、查询余额、创建密钥,并使用 Solana USDC 购买额度,同时验证交易并限制支出。
主要功能
- 01列出模型和价格
- 02查看额度及使用余额
- 03创建账户密钥
- 04与开源权重 LLM 聊天
- 05使用 Solana USDC 购买额度
- 06验证购买交易并限制支出
适用场景
- 01请求前查看可用模型
- 02通过 MCP 客户端运行聊天补全
- 03检查账户额度和用量
- 04使用 Solana USDC 购买推理额度
MCP 相关
该 stdio MCP 服务向 MCP 客户端提供模型、余额、密钥创建、购买、确认和聊天工具。它使用账户密钥访问网关,不通过 x402 付款。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://inference.dagon.so/mcpclaude mcp add --transport http inkwell-finance-dagon https://inference.dagon.so/mcp{"mcpServers":{"inkwell-finance-dagon":{"type":"http","url":"https://inference.dagon.so/mcp"}}}在 Cursor 中打开{"servers":{"inkwell-finance-dagon":{"type":"http","url":"https://inference.dagon.so/mcp"}}}在 VS Code 中打开{"mcpServers":{"inkwell-finance-dagon":{"type":"http","url":"https://inference.dagon.so/mcp"}}}{"mcpServers":{"inkwell-finance-dagon":{"serverUrl":"https://inference.dagon.so/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://inference.dagon.so/mcp需要授权工具
详细介绍
Dagon Inference MCP 服务
一个基于标准输入/输出的 Model Context Protocol 服务,适用于 Dagon Inference:列出模型、查询余额、创建密钥、使用 Solana 上的 USDC 购买额度,以及聊天。
Dagon Inference 通过兼容 OpenAI 的 API 提供未审查(已消除拒答限制)的开放权重 LLM,使用 Solana 上的 USDC 付费。此服务让 MCP 客户端(Claude Desktop、Claude Code、Cursor 等)可以直接使用它。需要 Node 22.18 或更高版本;无需安装:
npx -y dagon-mcp
使用 dagon_create_key 工具或访问 https://inference.dagon.so 获取账户密钥。
没有 MCP 客户端? Agent 也可以改用 x402 按请求付费:不带密钥发送请求,为 402 要求的 USDC 转账签名,然后重试,并将返回的密钥保存在 x-dagon-key 中。无需密钥、无需 SOL,除了 @x402/fetch 配合 @x402/svm 之类的 x402 客户端外,无需安装其他内容。此服务不使用 x402 付费;它使用密钥和下方的钱包购买方式。
工具
| 工具 | 功能 | 需要密钥 |
|---|---|---|
dagon_models | GET /v1/models:模型和价格。 | 否 |
dagon_balance | GET /v1/credits:额度、用量和可用余额(单位为 USD)。 | 是 |
dagon_create_key | POST /v1/keys:创建账户密钥,仅显示一次。 | 否 |
dagon_buy_credits | { amount_usd, chain: "solana", payer_wallet? }:使用 Solana USDC 购买额度。 | 是 |
dagon_confirm_purchase | 对于自行提交的付款,传入 { purchase_id, signature };对于已签名但未提交的费用代付交易,传入 { purchase_id, signed_transaction }:为其充值。 | 是 |
dagon_chat | { model, prompt or messages, system?, max_tokens?, temperature? }:单次非流式聊天补全。 | 是 |
余额查询和聊天默认使用 DAGON_API_KEY,也接受 api_key 参数。购买和确认操作不接受账户覆盖:始终使用服务配置的 DAGON_API_KEY,因此工具调用方无法将已配置钱包的付款重定向到其他账户。
购买额度
dagon_buy_credits 会调用 POST /v1/credits/purchase,然后调用 POST /v1/credits/purchase/confirm
(指南)。
在调用任何网关之前,购买金额必须至少达到 DAGON_MIN_PURCHASE_USD(默认 $1),且不得超过 DAGON_MAX_PURCHASE_USD(每次调用的上限,默认 $50);此外,与此服务进程已准备的购买金额合计不得超过 DAGON_MAX_PURCHASE_USD_PER_SESSION(默认 $200),与共享支出账本的所有服务进程当天(UTC)已准备的购买金额合计不得超过 DAGON_MAX_PURCHASE_USD_PER_DAY(默认 $200)。超出这些限制的请求会失败并返回工具错误,且不会创建任何购买。网关未创建的购买不计入限额。会话总额会在 MCP 服务重启时重置;每日总额不会,因为它保存在 DAGON_SPEND_LEDGER 中(Windows 上默认为 %APPDATA%\dagon-mcp\spend-ledger.json;其他系统上默认为 $XDG_CONFIG_HOME/dagon-mcp/spend-ledger.json 或 ~/.config/dagon-mcp/spend-ledger.json;在支持的平台上以 0600 模式写入)。如果账本无法读取或已损坏,则会拒绝购买。每次购买都必须设置 DAGON_TREASURY_WALLET,无论是否使用钱包。
当网关不代付网络费用时,付款方的 SOL 最坏成本(每个签名 5,000 lamports、计算预算优先费,以及在交易创建财政部的 USDC 账户时产生的 0.00203928 SOL 租金)会计入同一账本中,受每个 UTC 日的 DAGON_MAX_SOL_FEES 限制(默认 0.05 SOL);超出限制的购买会在未签名状态下被拒绝。无效的限额会导致服务在启动时停止。
- 已设置
DAGON_WALLET_SECRET_KEY: 还需要DAGON_API_KEY和DAGON_TREASURY_WALLET。服务器首先会证明,返回的交易(legacy 或 v0 消息)与支付服务构建的付款完全一致:从已配置钱包的关联代币账户向已配置金库的关联代币账户转账一笔指定数量的 USDCTransferChecked,包含一条数据为purchase_id的 SPL Memo,并且最多创建一次金库的 USDC 账户,租金由费用支付方承担。服务器会拒绝响应元数据、金额、mint、代币程序、目标地址、备注、区块哈希、费用支付方或签名者角色、查找表、重复密钥、无关指令、账户或可写权限主体不匹配的交易;赞助方费用支付方只能作为租金支付方出现在指令中。转账还可以附带有界的 Solana 计算预算指令。验证通过后,服务器会以钱包身份签名。由费用赞助的交易不包含费用支付方签名:服务器不会提交该交易,而是将其作为signed_transaction发送给网关的 confirm,由支付服务添加费用支付方签名并提交。否则,服务器会通过DAGON_SOLANA_RPC_URL提交,并使用签名进行确认。无论哪种情况,服务器都会在最多 45 秒内确认购买;超过此时间后,会报告购买仍在处理中。交易可能已上链后,所有结果和错误都会注明purchase_id和交易签名(费用由他方赞助时则注明已签名的交易):不要再次购买,应将这些信息传给dagon_confirm_purchase。钱包需要有 USDC;只有购买未获费用赞助时才需要 SOL 来支付费用。为客户端设置至少 90 秒的工具超时;取消工具调用会停止等待。 - 没有钱包: 传入
payer_wallet。服务器会使用payer_wallet作为付款方和转账权限主体,执行相同的字节级验证,之后才返回未签名的 base64 交易,并注明付款所用的金库以及可能产生的 SOL 费用。验证失败的交易绝不会返回。请在交易过期前使用该钱包签名,不要重新构建交易。fee_sponsored为 true 时,不要提交交易:请使用purchase_id和signed_transaction(由钱包签名的 base64 交易)调用dagon_confirm_purchase。否则,请提交交易,然后使用purchase_id和交易的signature调用dagon_confirm_purchase。
密钥绝不会离开服务器进程,也绝不会被回显,包括在错误信息中。服务器启动时会向 stderr 打印派生出的付款方地址;请检查它是否为你预期的钱包。受信任的金库地址由独立配置指定,不接受来自网关响应的地址。请使用专用热钱包,其中只存放你打算花费的资金。
每个网关和 Solana RPC 请求都会在 30 秒后中止,或在客户端取消工具调用时中止;超过 4 MiB 的网关响应会被拒绝。
配置
| 变量 | 默认值 | 用途 |
|---|---|---|
DAGON_API_KEY | none | 用于查询余额、购买和聊天的账户密钥(gk_...)。与 DAGON_WALLET_SECRET_KEY 一起使用时必需。购买操作无法覆盖此密钥。 |
DAGON_BASE_URL | https://inference.dagon.so | 网关 URL。必须使用 https://;仅对 localhost/127.x/[::1] 接受 http://。 |
DAGON_WALLET_SECRET_KEY | none | Solana 私钥:64 字节 Base58(Phantom/Solflare 导出格式)或 JSON 字节数组(solana-keygen 文件;仅此格式接受 32 字节种子)。32 字节 Base58 是 Solana 地址,会被拒绝。启用经过验证的自签名购买。 |
DAGON_TREASURY_WALLET | none | 受信任的 Solana 财库所有者,其 USDC 关联代币账户用于接收购买款项。进行任何购买时以及与 DAGON_WALLET_SECRET_KEY 一起使用时必需。 |
DAGON_SOLANA_RPC_URL | https://api.mainnet-beta.solana.com | 用于提交未由他方赞助手续费的已签名购买交易的 RPC(支付服务会提交已赞助手续费的交易)。 |
DAGON_MIN_PURCHASE_USD | 1 | 单次 dagon_buy_credits 购买的最低金额(美元,整分)。 |
DAGON_MAX_PURCHASE_USD | 50 | 单次 dagon_buy_credits 购买的最高金额(美元,整分)。0 表示禁用购买。 |
DAGON_MAX_PURCHASE_USD_PER_SESSION | 200 | 单个 MCP 服务进程可准备的购买总金额(美元)。 |
DAGON_MAX_PURCHASE_USD_PER_DAY | 200 | 每个 UTC 日的购买总金额(美元),并通过支出账本在重启后保留。 |
DAGON_MAX_SOL_FEES | 0.05 | 每个 UTC 日,未获赞助手续费的购买可能让付款方承担的最高手续费 SOL(包括手续费和财库账户租金)。 |
DAGON_SPEND_LEDGER | 用户配置目录(见上文) | 保存每日总额的文件。 |
安装
Claude Code
claude mcp add dagon --env DAGON_API_KEY=gk_... -- npx -y dagon-mcp
Claude Desktop
在 claude_desktop_config.json 中添加(Settings → Developer → Edit Config);填写实际值:
{
"mcpServers": {
"dagon": {
"command": "npx",
"args": ["-y", "dagon-mcp"],
"env": {
"DAGON_API_KEY": "gk_...",
"DAGON_TREASURY_WALLET": "9rMdbu4KdLWH2nPXbzhm9HTKaibGZ2ckakQbW1wPh6KK"
}
}
}
}
在 Windows 上,如果找不到 npx,请使用 "command": "cmd", "args": ["/c", "npx", "-y", "dagon-mcp"]。
Cursor
~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目):
{
"mcpServers": {
"dagon": {
"command": "npx",
"args": ["-y", "dagon-mcp"],
"env": { "DAGON_API_KEY": "gk_..." }
}
}
}
项目 .mcp.json、omp
Claude Code 和 omp 会从环境变量展开 ${VAR},因此密钥无需写入文件:
{
"mcpServers": {
"dagon": {
"command": "npx",
"args": ["-y", "dagon-mcp"],
"env": {
"DAGON_API_KEY": "${DAGON_API_KEY}",
"DAGON_WALLET_SECRET_KEY": "${DAGON_WALLET_SECRET_KEY:-}",
"DAGON_TREASURY_WALLET": "${DAGON_TREASURY_WALLET:-}"
},
"timeout": 120000
}
}
}
timeout 是 omp 的单工具超时时间,单位为毫秒;对于不使用此设置的客户端,可将其删除。
安全
DAGON_WALLET_SECRET_KEY是可选项。不设置时,服务绝不会签署任何内容:它会返回经过验证的未签名交易,供你使用自己的钱包签署。设置后,请使用专用热钱包,且其中仅存放你打算用于支出的资金;密钥不会离开进程,也绝不会回显。DAGON_TREASURY_WALLET是购买操作的信任锚点:每笔交易都会经过逐字节检查,确保款项恰好支付给该财库,因此遭入侵或伪造的网关无法重定向资金。已公布的 Dagon 财库地址为9rMdbu4KdLWH2nPXbzhm9HTKaibGZ2ckakQbW1wPh6KK;请从本 README 或 https://inference.dagon.so 获取,不要使用工具结果中的地址。- 每次调用、每个会话和每日的美元上限,以及每日 SOL 手续费上限,共同限制任何工具调用方的支出。
- 购买款项始终记入配置的
DAGON_API_KEY;工具调用方无法将其重定向到其他账户。
开发
git clone https://github.com/inkwell-finance/dagon-mcp.git
cd dagon-mcp
npm ci
npm run check # type-check
npm test # tool tests against a mocked fetch; no network
npm run build # compile to dist/
许可证
MIT © Inkwell Finance, Inc.,以 Dagon 名义经营
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。