= 20">
Dexter API · Dexter FE · Dexter MCP · Dexter Ops · PumpStreams
此仓库包含两个托管的MCP服务器和共享的 @dexterai/x402-core 包裹:
| 产品 | 端点 | 身份验证 | 支付 |
|---|---|---|---|
| Dexter MCP (已认证) | mcp.dexter.cash/mcp | Dexter OAuth | 管理钱包,自动 |
| OpenDexter MCP (公众) | open.dexter.cash/mcp | 无 | 用户资助的会话钱包 |
npm包(@dexterai/opendexter, @dexterai/x402-discovery)生活在 Dexter DAO/opendexter ide.
______________________________________________________________________
OpenDexter——公共x402网关
OpenDexter是一个公共的、无身份验证的MCP服务器,用于搜索和支付x402 API。它为ChatGPT和Claude上的“OpenDexter”连接器供电。
会话如何工作: 当用户连接时, x402_wallet 创建一个具有两个地址的会话——一个Solana,一个EVM(在Base、Polygon、Arbitrum、Optimism、Avalanche之间共享)。用户向其中之一或两者发送USDC。当 x402_fetch 当被调用时,系统会检查所有链的平衡,并选择端点接受的资金最充足的链。会话在PostgreSQL中持续30天。
npm包有何不同: @dexterai/x402-discovery 作为本地stdio MCP服务器运行。它使用本地签名者,而不是临时会话钱包 ~/.dexterai-mcp/wallet.json用户只需为自己的钱包充值一次,即可无限期使用。它发布了相同的经典五工具故事(x402_search, x402_check, x402_fetch, x402_wallet, x402_pay),但本地签名路径目前围绕持久Solana钱包进行了优化。
OpenDexter仍然是产品品牌。 @dexterai/x402-discovery 是开发人员的描述性安装名称。
| OpenDexter MCP | @dextai/x402发现npm | |
|---|---|---|
| 传输 | HTTPS(SSE) | stdio |
| 钱包 | 临时会话(Solana+EVM) | 本地签名者文件 |
| 资金 | 用户向会话地址发送USDC | 用户为本地钱包资金 |
| 会话寿命 | 30天 | 不确定 |
| 多链 | 是(6链,自动选择) | Solana(本地密钥) |
| 最适合 | ChatGPT、Claude、web代理 | Cursor、Codex、CLI代理 |
来源: open-mcp-server.mjs (托管服务器)。npm包源代码在 opendexter集成开发环境/软件包/mcp.
______________________________________________________________________
Dexter MCP——认证平台
为Dexter全面管理MCP网桥。默认情况下,它可以通过OAuth认证的HTTPS公开更广泛的Dexter平台,重用Dexter钱包基础设施进行自动支付。
对于OpenDexter启动模式,设置:
TOKEN_AI_MCP_PROFILE=opendexter这将经过身份验证的服务器缩小到干净 x402-client 捆绑,这样公共故事就可以专注于搜索、发现、定价、钱包上下文和x402支付执行。
______________________________________________________________________
亮点
- 生产就绪HTTP传输 –OAuth2/OIDC、承载回退、SSE流和元数据端点与Claude和ChatGPT连接器兼容。
- 钱包第一工具集 –
resolve_wallet,list_my_wallets,auth_info,set_session_wallet_override,加上Supabase支持的每次会话覆盖。 - 可组合工具注册表 –将新捆绑包放入
toolsets/,通过env、CLI标志启用它们,或?tools=查询参数。 - 双运行时 –本地代理和Codex的stdio入口点,公共连接器的HTTPS入口点(代理在
https://dexter.cash/mcp和https://mcp.dexter.cash/mcp). - Supabase本地身份验证 –通过Dexter API/Supabase解析器验证传入令牌,为下游工具注入标识头,并保留令牌缓存以限制IdP调用。
______________________________________________________________________
访问层
| 标签 | 谁可以打电话 | 备注 | 示例 |
|---|---|---|---|
guest | 共享演示载体(TOKEN_AI_MCP_TOKEN),无需登录 | 只读研究和钱包发现;没有交易执行。 | general/search, pumpstream_live_summary, markets_fetch_ohlcv, wallet/resolve_wallet |
member | 经过身份验证的Supabase会话/ dexter_mcp_jwt | 解锁个人钱包上下文和仅限会员的助手。 | wallet/list_my_wallets, wallet/set_session_wallet_override, stream_public_shout |
pro | 角色门控(专业或超级管理员) | 辅助角色检查门付费交易界面。 | hyperliquid_markets, hyperliquid_perp_trade |
dev | 仅限超级管理员 | 受保护的实验表面。 | codex_start, codex_exec |
internal | 诊断工具 | 未暴露给最终用户。 | wallet/auth_info |
访客和会员级别与公共营销渠道保持一致:每个新的Dexter帐户现在都附带一个托管钱包,因此解析器支持的工具应立即报告 source:"resolver";遗留环境回退(TOKEN_AI_DEFAULT_WALLET_ADDRESS)仅适用于客人场景。
______________________________________________________________________
德克斯特堆栈
| 代表 | 角色 |
|---|---|
dexter-api | 发布实时令牌、代理MCP、x402计费 |
dexter-fe | Next.js语音/聊天界面前端 |
dexter-ops | 共享操作脚本、PM2配置、nginx模板 |
pumpstreams | Pump.fun分析套件(相邻工具) |
______________________________________________________________________
快速开始
git clone https://github.com/BranchManager69/dexter-mcp.git
cd dexter-mcp
npm install
cp .env.example .env
# populate .env with required Supabase/OAuth settings
# HTTPS transport (port 3930)
npm start
# or stdio transport for local tools
node server.mjs --tools=wallet验证HTTP传输:
curl -sS http://localhost:3930/mcp/health | jq有了公共代理,您还可以查询:
curl -H "Authorization: Bearer " \
https://mcp.dexter.cash/mcp/health______________________________________________________________________
认证
| 模式 | 何时使用 | 如何使用 |
|---|---|---|
| OAuth2/OIDC | Claude、ChatGPT、托管连接器 | 设置 TOKEN_AI_MCP_OAUTH=true 和供应 TOKEN_AI_OIDC_* (或Supabase)终点。用户通过Dexter IdP登录;令牌在每个会话上都经过验证。 |
| 持有者令牌 | 服务到服务调用、Codex、Cursor | 定义 TOKEN_AI_MCP_TOKEN.任何提供匹配的请求 Authorization: Bearer … 标头被接受,但未触及IdP。 |
| 允许任何(演示) | 仅限本地演示 | 设置 TOKEN_AI_MCP_OAUTH_ALLOW_ANY=1.跳过验证--从未在生产中启用. |
元数据端点(用于连接器发现)在以下位置公开:
/.well-known/oauth-authorization-server/.well-known/oauth-protected-resource/.well-known/openid-configuration
这两条路由都是代理的 dexter.cash 和 mcp.dexter.cash,因此连接器可以遵循同一发行者,而不管它们使用哪个主机名。
______________________________________________________________________
工具集
工具包位于下方 toolsets//index.mjs 并通过舱单在 toolsets/index.mjs.
目前发货:
- 通用 –Tavily支持的网络
search随着max_results、深度、答案摘要以及fetch返回整页内容(片段、元数据、原始HTML)以进行实时研究的助手。 - 泵送流 –
pumpstream_live_summary视角https://pump.dexter.cash/api/live,支持pageSize/offset/page、搜索、符号和薄荷过滤器、排序顺序、状态门、查看器和美元市值下限以及可选的聚光灯数据。 - 钱包 –会话感知助手(
resolve_wallet,list_my_wallets,set_session_wallet_override,auth_info)由Supabase解析器支持,每个会话的覆盖存储在内存中。 - 索拉纳 –管理Solana交易公用事业(
solana_resolve_token、余额列表、掉期预览/执行)代理dexter-api通过权利检查。 - 市场 –
markets_fetch_ohlcv管道Birdeye v3对数据,当只有薄荷被提供给电价历史图表时,自动选择顶级流动性对。 - 法典 –通过以下方式将MCP客户端连接到Codex CLI
codex_start,codex_reply,以及codex_exec,支持结构化exec模式响应的可选JSON模式。 - 流 –仅限DexterVision喊实用程序(
stream_public_shout,stream_shout_feed)因此,礼宾会话可以在不接触场景状态的情况下创建/读取叠加喊叫声。 - onchain –
onchain_activity_overview和onchain_entity_insight通过Supabase auth passthrough从dexter api进行表面钱包/代币分析。 - x402 –从dexter api自动注册付费资源(滑点哨兵、Jupiter报价预览、推特主题分析、Solscan趋势、Sora视频作业、模因作业、GMGN快照访问等)。无论何时,捆绑包都会自动更新
/api/x402/resources变化。 - 超流动 –
hyperliquid_markets,hyperliquid_opt_in,以及hyperliquid_perp_trade暴露Hyperliquit复制交易助手。
每个工具定义都公开了一个 _meta 阻止,以便下游客户能够一致地分组或筛选:
{
"name": "solana_swap_execute",
"title": "Execute Solana Swap",
"description": "Execute a SOL-token swap after previewing the expected output.",
"_meta": {
"category": "solana.trading",
"access": "member",
"tags": ["swap", "execution"]
}
}category–用户体验的高级分组(例如。wallets,analytics,solana.trading).access–当前权利水平(guest,member,pro,dev,internal).tags–用于过滤/标记的自由格式标签。
这 /tools API只是将此元数据转发给UI(包括 dexter-fe)自动捡起它。如果第三方客户端依赖于新值,请保守地添加新值并记录下来。
选择选项:
- 环境默认值: 离开
TOKEN_AI_MCP_TOOLSETS未设置以加载每个已注册的捆绑包(常规、泵流、钱包、solana、市场、流、codex、onchain、x402、超流)。设置它(逗号分隔)以限制选择,例如。TOKEN_AI_MCP_TOOLSETS=wallet. - 启动配置文件快捷方式: 集
TOKEN_AI_MCP_PROFILE=opendexter在经过身份验证的服务器上仅加载x402发现/支付界面。 - CLI/stdio:
node server.mjs --tools=wallet. - CLI/stdio配置文件:
node server.mjs --profile=opendexter. - HTTP查询:
POST /mcp?tools=wallet或POST /mcp?profile=opendexter. - 食品法典: 集
TOKEN_AI_MCP_TOOLSETS在启动之前在env中,或添加includeToolsets调用时buildMcpServer手动。
面向公众的描述和元数据属于MCP规范;为实时代理提示/配置保留深度编排注释、护栏和内部指导,以便客户端只看到高级合同。
传统代币AI捆绑包仍保留 legacy-tools/ 以供参考。默认情况下,它们没有注册,但可以迁移到 toolsets/ 因为它们是现代化的。
______________________________________________________________________
开发和PM2
在本地运行:
# HTTP transport with auto-reload (e.g. via nodemon)
TOKEN_AI_MCP_PORT=3930 npm start
# Stdio session for quick manual tests
node server.mjs --tools=wallet
# Connect with Codex (bearer token example)
# ~/.codex/config.toml
# [mcp_servers.dexter]
# transport = "http"
# url = "https://mcp.dexter.cash/mcp"
# headers = { Authorization = "Bearer " }线束操作
剧作家马具住在 ../dexter-agents/scripts/runHarness.js 带有CLI条目 scripts/dexchat.js (npm脚本 dexchat).追加 --guest 跳过存储的身份验证并执行匿名路径;API腿仍然依靠共享的演示载体(TOKEN_AI_MCP_TOKEN).
核心命令:
# Standard run (UI + API with 15s wait)
npm run dexchat -- --prompt "
" --wait 15000
# Pumpstream harness from this repo (UI + API)
npm run test:pumpstream -- --mode both --prompt "List pump streams"
# Targeted API-only regression run
npm run test:pumpstream -- --mode api --page-size 10 --json --no-artifact传递安全带标志(--prompt, --url, --wait, --headful, --no-artifact, --json, --mode, --page-size)直接;他们向下面的跑步者前进。 .env 自动加载如此长寿命的值,例如 HARNESS_COOKIE, HARNESS_AUTHORIZATION,以及 HARNESS_MCP_TOKEN 可以住在那里而不是贝壳。文物落地 dexter-agents/harness-results/ 除非你选择加入 --no-artifact.
监控控制台上的模式警告(例如Zod .optional() 使用无 .nullable()).将任何警告视为必须在发布前清除的回归。利用工件是最近行为检查的真相来源——在其他地方进行更长的形式分析,因此本文档保持可操作性。
对于生产,PM2通过以下方式进行管理 dexter-ops/ops/ecosystem.config.cjs。配置已转发 TOKEN_AI_MCP_OAUTH=true 以及支持变量;通过以下方式重新启动:
pm2 restart dexter-mcp
pm2 logs dexter-mcp会话维护备忘单
Turnstile + Supabase login (desktop helper)
│ generates encoded cookie + state.json
▼
HARNESS_COOKIE in repos (.env)
│ injected into Playwright runs
▼
Dexchat / pumpstream harness executions| 情境 | 运行此 | 结果 |
|---|---|---|
| 有一个新的编码cookie字符串 | dexchat refresh (in dexter-agents) | 更新两个存储库' .env 文件和重写 ~/websites/dexter-mcp/state.json 通过当地剧作家的演出。 |
| 想要一个脚本化的变体 | npm run dexchat:refresh -- --cookie $(cat cookie.txt) | 与上述相同,没有交互式提示。 |
| Supabase会话已过期/cookie立即失败 | refresh-supabase-session.ps1 (桌面助手) | 启动SOCKS代理+Chrome用于旋转栅门+Supabase登录,打印cookie,并可以自动刷新存储。之后跑步 dexchat refresh 新的价值。 |
| 验证客人行为 | npm run dexchat -- --prompt "..." --guest (或添加 --guest 到 npm run pumpstream:harness ...) | 匿名运行UI,而API分支重用共享演示承载(TOKEN_AI_MCP_TOKEN). |
仅当线束与以下部件一起运行时,存储状态才会改变 --storage (刷新助手会自动切换它)。如果cookie助手警告粘贴的值丢失 sb-…-refresh-token,无法铸造每个用户的MCP令牌——请重新运行桌面帮助程序以捕获完整的凭据集。
记住:桌面助手很少见(运行间隔数周)。 dexchat refresh 是您最常使用的轻量级本地选项。更多命令详细信息请访问 dexter-agents/scripts/README.md.
______________________________________________________________________
建筑笔记
common.mjs–构建MCP服务器,规范Zod模式,将工具注册与日志记录打包。toolsets/–工具包和钱包工具集实现的声明性清单。- 工具集创作指南: 看见
toolsets/ADDING_TOOLSETS.md有关分步说明和示例(包括pumpstream工具集)。 server.mjs-stdio入口点(由当地代理商和食品法典委员会使用);敬意--tools=旗帜。dexter-mcp-stdio-bridge.mjs–将stdio客户端连接到托管的OAuth HTTP传输(当Codex/Cursor仅支持stdio时,这对Codex/Curser很方便)。http-server-oauth.mjs-使用OAuth/OIDC、会话缓存和元数据路由的HTTPS传输(仍然包含Prisma支持的回退到种子每会话钱包覆盖)。legacy-tools/–存档的Token AI工具在迁移过程中保留以供参考。
Subabase交互通过Dexter API助手流动,以实现一致的身份验证实施。唯一剩下的Prisma访问权限是上面提到的钱包覆盖种子;当解析器显示“默认钱包”标志时,将其退役。
______________________________________________________________________
相关存储库
______________________________________________________________________
许可证
私有-内部Dexter连接器基础设施。
