dexter-mcp (Dexter-DAO/dexter-mcp) is an MCP server listed on the M8ven Trust Index. It scores 69 out of 100, grade C. It declares 145 tools. No publisher has claimed this listing.

C
Caution
69/100

dexter-mcp

Source for the hosted Dexter and OpenDexter MCP runtimes, including OAuth-bound Wallet, x402, and governed asset tools.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

Dexter-DAO

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
6 flows detected: SUPABASE_ANON_KEY, RESEARCH_WEBHOOK_TOKEN, HELIUS_API_KEY. We can’t prove the destination matches the brand the credential belongs to.
🔐
You'll be asked for 16 credentials: BIRDEYE_API_KEY, HELIUS_API_KEY, INTERNAL_DEXTERCARD_HMAC_SECRET, MCP_JWT_SECRET, MCP_SUPABASE_BEARER, MCP_USER_JWT_SECRET, NATIVE_EXACT_MCP_SERVICE_HMAC_SECRET, OPEN_MCP_LOG_REDACTION_KEY, RESEARCH_WEBHOOK_TOKEN, SUPABASE_JWT_SECRET, TAVILY_API_KEY, TOKEN_AI_EVENTS_TOKEN, TOKEN_AI_MCP_TOKEN, TOKEN_AI_OIDC_ID_TOKEN, TOKEN_AI_OIDC_ID_TOKEN_SECRET, TOKEN_AI_OIDC_RSA_PRIVATE_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes154 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

list_bundles

Browse and search available tool bundles in the Dexter marketplace. Filter by category, search term, or curator.

get_bundle

Get detailed information about a specific bundle including all included tools, pricing, and curator info.

get_my_bundles

List all bundles you have created as a curator, including drafts and stats.

create_bundle

Create a new tool bundle. Starts as draft. Add tools, then publish when ready.

update_bundle

Update bundle name, description, pricing, or other details. Cannot change price after purchases.

publish_bundle

Publish a draft bundle to make it available for purchase. Requires at least one tool.

add_bundle_item

Add a marketplace tool to your bundle. The tool must be a valid x402 resource.

remove_bundle_item

Remove a tool from your bundle.

check_bundle_access

Check your access status for a purchased bundle. Shows remaining uses and tool usage.

get_my_purchases

List all bundles you have purchased and their access status.

codex_start

Begin a new Codex conversation. Default sandbox is read-only; superadmins may set sandbox="danger-full-access" when full access is required.

codex_reply

Send a follow-up prompt to an existing Codex conversation. Sandbox defaults to read-only unless a superadmin explicitly requests danger-full-access.

codex_exec

Run Codex exec with optional JSON schema. Sandbox is read-only by default; superadmins can request danger-full-access when they need unrestricted execution.

search

Find up-to-date information from across the web.

fetch

Retrieve and summarize a web page by URL.

hyperliquid_markets

Returns the current list of tradable Hyperliquid perp symbols.

hyperliquid_opt_in

Provision a Hyperliquid agent wallet for a Dexter-managed wallet so the user can trade perps.

hyperliquid_fund

Bridge SOL -> USDC (Arbitrum) -> Hyperliquid Master Address to fund the trading agent.

hyperliquid_bridge_deposit

Deposit funds from Arbitrum L2 (Master Wallet) into Hyperliquid L1 bridge contract.

hyperliquid_perp_trade

Submit a Hyperliquid perpetual order through a Dexter-managed wallet.

check_identity

Check if the authenticated user has an ERC-8004 identity on Base and/or Solana. Returns status for both chains.

get_my_identity

Get the full ERC-8004 identity details for the authenticated user, optionally filtered by chain.

mint_identity

Mint a new ERC-8004 identity NFT on Base or Solana. This creates your on-chain agent identity for the Dexter Trust Layer. Gas fees are sponsored by Dexter.

get_agent_reputation

Get the ERC-8004 reputation summary for an agent by their registry address and agent ID.

get_reputation_leaderboard

Get the top agents ranked by ERC-8004 reputation score.

submit_feedback

Submit ERC-8004 reputation feedback for an agent. Requires authentication and a Dexter wallet.

get_identity_stats

Get overall statistics for ERC-8004 identities and reputation on Dexter.

markets_fetch_ohlcv

Fetch Birdeye OHLCV candles for a Solana token mint over a specified window.

onchain_activity_overview

On-chain swap analytics. REQUIRED: scope="token" needs mint; scope="wallet" needs BOTH mint AND wallet. Always resolve the mint address first.

onchain_entity_insight

On-chain entity deep dive. REQUIRED: scope="token" or "wallet" needs mint; scope="wallet" also needs wallet; scope="trade" needs signature.

pokedexter_list_challenges

List all open wagered Pokémon battle challenges you can accept. Shows challenger, wager amount ($1-$25), format, and expiration time.

pokedexter_get_battle_state

Get YOUR battle state including your actual moves, team, and available actions. Use this before each turn to see what you can do.

pokedexter_make_move

Submit your battle action. Use "move 1", "move 2", "switch 3", etc. Call get_battle_state first to see available moves.

pokedexter_get_active_wager

Get details about your currently active wagered battle, including escrow status, opponent, and battle room ID.

pokedexter_get_wager_status

Check the status of a specific wager by ID. Use this to verify escrow deposits, see settlement status, or check if a battle is complete.

pokedexter_create_challenge

Create an open wagered Pokémon battle challenge. Set your wager ($1-$25) and format. Other players can accept. Winner takes 100% of the pot (0% house cut).

pokedexter_accept_challenge

Accept an open wagered battle challenge. Returns escrow deposit instructions and battle room ID.

pokedexter_join_queue

Join the quick match queue for instant wagered battles. Set your wager ($1-$25) and format. You'll be matched with another player at the same stake.

pokedexter_queue_status

Check your position in the quick match queue and see if you've been matched.

pumpstream_live_summary

Returns a quick summary of live pump.fun streams.

solana_resolve_token

Resolve token metadata using Dexter's token lookup heuristics.

solana_list_balances

List a wallet's SOL and SPL token balances.

solana_send

Transfer SOL, USDC, DEXTER, or any SPL token to a wallet address or Twitter handle. REQUIRED: wallet_address (source wallet), recipient_value (destination), amount_ui (amount) OPTIONAL: mint (defaults to SOL), memo, confirm (for large transfers) Examples: - Send 1 USDC: wallet_address="YOUR_WALLET

solana_swap_preview

Preview a SOL-token swap using UI-denominated amounts before execution.

solana_swap_execute

Execute a SOL-token swap after previewing the expected output.

stream_public_shout

Submit a short shout-out for Dexter to highlight on the live stream.

stream_shout_feed

Retrieve the latest public shouts queued for the stream overlay.

studio_create

Start a Dexter Studio agent to perform a task. Returns a job ID immediately. Poll with studio_status to check progress. SUPERADMIN ONLY.

studio_status

Check the status of a Studio job. Returns current step, turn count, and result when complete.

studio_cancel

Cancel a running Studio job. Only works on jobs with status "running".

studio_inspect

Get full details of a Studio job including event timeline. For debugging.

studio_list

List all Studio jobs (for debugging). Shows recent jobs.

studio_breaking_news

Create professional newscast videos and infographics for marketing. Generates Sora videos and/or meme infographics with the Dexter branding. SUPERADMIN ONLY.

studio_news_status

Check the status of a breaking news video or infographic job.

resolve_wallet

Resolve the effective managed wallet for this caller (session override, resolver default, or env fallback).

list_my_wallets

List wallets linked to the authenticated Dexter account.

set_session_wallet_override

Override the wallet used for this MCP session (until cleared).

auth_info

Diagnostics for wallet resolution, session overrides, and Dexter token state.

x402_search
x402_pay
x402_fetch

Execute one API-custodied purchase intent. Pass only the opaque intentId from an authenticated x402_check and the exact maxAmountAtomic ceiling approved by the user or delegated policy. Never pass URL, body, seller terms, route data, or a prepared purchase. Say dispatched only when dispatch.boundary

x402_check

Check one exact request before paying. Supply either a public URL or a stable resourceId from the current Indexter result, never both. With resourceId, copy the canonical method from the same current result; OpenDexter resolves the private route server-side and rejects method drift before probing. F

x402_wallet

Show the connected Dexter Wallet and the current money, asset, receive-address, and activity data the wallet backend can resolve.

indexter_discover

App-only Indexter browser for overview and provider pages. Copy endpoint and Actor cursors exactly when the widget requests another page. This reads no wallet data and makes no payment.

indexter_search

Call once for broad suggestions, Indexter exploration, named providers, or API and service discovery. The server routes the exact wording to a curated overview, one provider, or task search. Results never authorize payment or Actor execution.

x402_status

Inspect the same server-owned purchase intent without creating a purchase, changing routes, redispatching the provider request, or rebroadcasting a transaction. Pass only intentId.

x402_access

Classify the exact request through the canonical x402 check path. Paid requests return the canonical quote or intent. Free requests return the provider check result. Sign-In-With-X is reported as unavailable until OpenDexter has an eligible connected signer. This tool does not create a temporary wal

dexter_wallet

Read-only view of the user's Dexter wallet, the non-custodial passkey vault bound to this session. Returns its receive address, cash, reported credit capacity and read status, payment-readiness guidance, and recent activity after native OpenDexter authorization. Cash, reported credit, and exact-inte

dexter_wallet_portfolio

Read the governed asset portfolio bound to this authenticated MCP session. It accepts no identity or authority arguments. Approved holdings expose the canonical assetId accepted by governed Send, Buy, and Sell; unreviewed or blocked holdings expose null.

run_socials_market
run_socials_website
run_socials_telegram
run_socials_x
dexscreener_search

Search pairs by query (optionally filter by chain)

dexscreener_tokens

Fetch token metadata for addresses

dexscreener_token_pairs

Fetch pairs for a given token address

dexscreener_pair_details

Fetch pair details by chain/pair_id

dexscreener_token_profiles

Fetch token profiles for a set of addresses

dexscreener_token_boosts_latest

Fetch latest token boosts for addresses

dexscreener_token_boosts_top

Fetch top token boosts

ensure_token_activated

DB/admin operation to activate a token record

ensure_token_enriched

Run enrichment pipeline for a token

get_token_links_from_db

Return canonical socials/website links stored for a token

analyze_token_ohlcv_range

Fetch OHLCV candles from Birdeye v3 over a given window

get_twitter_history

Read stored tweets and snapshots for a mint from the DB

get_media_from_tweet

Return media URLs and optional metadata for a stored tweet

get_prediction_history

Query tweet_prediction_scores with filters and aggregates

verify_tweet_prediction

Score a tweet prediction for one token (pump/dump/target)

verify_relative_prediction

Score a relative prediction between two or more tokens

program_accounts_scan

Paginated scan of accounts owned by a program using Helius getProgramAccountsV2. Supports filters and encoding.

program_accounts_tail

Fetch only accounts modified since a given slot using Helius getProgramAccountsV2 changedSinceSlot.

list_recent_analyses

Summarize recent analysis JSON files.

list_resource_uris

Return recent report resource URIs (report://).

get_latest_analysis

Return the most recent analysis JSON.

get_report_head

Return lightweight metadata for a report (by filename, mint, or uri).

read_report_uri

Read a report using its report:// URI

list_reports_page

Paginated report URIs (opaque cursor)

list_reports_for_mint

List report files for a given mint (most recent first)

resolve_report_id

Resolve any of {filename|uri|mint|id} to {file, uri, mint}

search_reports

Substring search over recent report JSON files

54 further tools are not listed here. The complete surface is in the source.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configAPI_BASE_URL
🔐 secretBIRDEYE_API_KEY
configBIRDEYE_DEFAULT_CHAIN
configCODEX_BRIDGE_COMMAND
configCODEX_BRIDGE_HOME
configCODEX_BRIDGE_MAX_TOTAL_TIMEOUT_MS
configCODEX_BRIDGE_REQUEST_TIMEOUT_MS
configCODEX_HOME
configCODEX_SCHEMA_DEBUG
configCONNECTOR_LOGIN_BASE
configCONNECTOR_OPEN_MCP_CLIENT_ID
configCONNECTOR_OPEN_MCP_REDIRECT_URI
configCONNECTOR_OPEN_MCP_VAULT_CLIENT_ID
configCONNECTOR_OPEN_MCP_VAULT_REDIRECT_URI
configCRAWL_CONCURRENCY
configCRAWL_DELAY_MS
configDEXTER_API_BASE_URL
configDEXTER_API_URL
configDEXTER_MCP_ENV_FILEto one absolute, service-owned mode-0600 regular file
configDEXTER_STREAM_BASE_URL
configFETCH_UA
configFORCE_COLOR
🔐 secretHELIUS_API_KEY
configHYPERLIQUID_API_BASE_URL
🔐 secretINTERNAL_DEXTERCARD_HMAC_SECRET
configMCP_AUTH_AUDIT
🔐 secretMCP_JWT_SECRET
configMCP_LOG_FORCE_COLOR
configMCP_SCHEMA_DEBUG
configMCP_SERVER_NAME
configMCP_SERVER_VERSION
configMCP_SESSION_IDLE_TIMEOUT_MS
configMCP_SESSION_LABEL_HEADER
configMCP_SESSION_METRICS_INTERVAL_MS
configMCP_SESSION_METRICS_TOP_N
configMCP_SESSION_REAPER_INTERVAL_MS
🔐 secretMCP_SUPABASE_BEARER
🔐 secretMCP_USER_JWT_SECRET
configMCP_WALLET_RESOLVER_CACHE_MS
configMCP_X402_ENABLED
configMCP_X402_FACILITATOR_URL
configMCP_X402_MAX_ATTEMPTS
configMCP_X402_PAY_TO
configMCP_X402_REGISTER_ENABLED
configMCP_X402_REGISTER_PATH
configMCP_X402_SETTLEMENT_PATH
configMCP_X402_SETTLEMENT_V2_PATH
configMCP_X402_SETTLE_V2_ENABLED
🔐 secretNATIVE_EXACT_MCP_SERVICE_HMAC_SECRET(32 bytes or longer), configured to the
🔐 secretOPEN_MCP_LOG_REDACTION_KEY
configOPEN_MCP_PORT
configOPEN_MCP_TEST_VAULT_JWKS_CACHE_MS
configOPEN_MCP_TEST_VAULT_JWKS_URL
configOPEN_MCP_UPLOAD_ROOT
configPOKEDEXTER_API_URL
configPROBE_PORT
configPUBLIC_CONNECTOR_BASE
configPUMPSTREAM_LIVE_URL
🔐 secretRESEARCH_WEBHOOK_TOKEN
configRESEARCH_WEBHOOK_URL
configSOLANA_RPC_ENDPOINT
configSTREAM_SCENE_API_BASE_URL
🔐 secretSUPABASE_JWT_SECRET
🔐 secretTAVILY_API_KEY
configTAVILY_API_URL
configTOKEN_AI_APPS_SDK_ASSET_BASE
configTOKEN_AI_DEFAULT_WALLET_ADDRESS
configTOKEN_AI_DEFAULT_WALLET_ID
configTOKEN_AI_ENABLE_APPS_SDK
🔐 secretTOKEN_AI_EVENTS_TOKEN
configTOKEN_AI_MCP_CORS
configTOKEN_AI_MCP_ENABLE_RUN_TOOLS
configTOKEN_AI_MCP_OAUTHSet TOKEN_AI_MCP_OAUTH=true and supply TOKEN_AI_OIDC_ (or Supabase) endpoints. Users sign in via the Dexter IdP; tokens are validated on every session.
configTOKEN_AI_MCP_PORT
configTOKEN_AI_MCP_PROFILETOKEN_AI_MCP_PROFILE=opendexter loads only the x402 surface on the authenticated server.
configTOKEN_AI_MCP_PUBLIC_URL
🔐 secretTOKEN_AI_MCP_TOKENDefine TOKEN_AI_MCP_TOKEN. Any request presenting the matching Authorization: Bearer … header is accepted without hitting the IdP.
configTOKEN_AI_MCP_TOOLSETSLeave TOKEN_AI_MCP_TOOLSETS unset to load every bundle. Set it (comma-separated) to restrict, e.g. TOKEN_AI_MCP_TOOLSETS=wallet.
configTOKEN_AI_OIDC_ALLOWED_USERS
configTOKEN_AI_OIDC_AUTHORIZATION_ENDPOINT
configTOKEN_AI_OIDC_CHATGPT_HOSTS
configTOKEN_AI_OIDC_CLIENT_ID
configTOKEN_AI_OIDC_CLIENT_ID_CHATGPT
configTOKEN_AI_OIDC_IDENTITY_CLAIM
🔐 secretTOKEN_AI_OIDC_ID_TOKEN
🔐 secretTOKEN_AI_OIDC_ID_TOKEN_SECRET
configTOKEN_AI_OIDC_ISSUER
configTOKEN_AI_OIDC_JWKS_URI
configTOKEN_AI_OIDC_REGISTRATION_ENDPOINT
configTOKEN_AI_OIDC_RSA_KID
🔐 secretTOKEN_AI_OIDC_RSA_PRIVATE_KEY
configTOKEN_AI_OIDC_SCOPES
configTOKEN_AI_OIDC_TOKEN_ENDPOINT
configTOKEN_AI_OIDC_USERINFO
configTOKEN_AI_UI_PORT
configTOKEN_AI_WIDGET_DOMAIN
configTWITTER_SESSION_PATH
configX402_API_URL
configX402_CATALOG_TTL_MS
configX402_PAY_TO
configpm_exec_path
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployNEXT_PUBLIC_SENTRY_DSN
deploySENTRY_DSN
deploySENTRY_OPEN_MCP_DSN
deploySENTRY_ORG
deploySENTRY_PROJECT
deploySUPABASE_ANON_KEY
deploySUPABASE_SERVICE_ROLE_KEY
deploySUPABASE_URL
deployTOKEN_AI_WIDGET_SENTRY_DSN
// quality suggestions

Dependencies

26 runtime dependencies (7 dev), 1 flagged: playwright

Tool annotations

69/154 tools have annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

145/154 tools missing one or more hints — list_bundles (missing: destructiveHint, idempotentHint, openWorldHint); get_bundle (missing: destructiveHint, idempotentHint, openWorldHint); get_my_bundles (missing: destructiveHint, idempotentHint, openWorldHint), +142 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Destructive tools are labelled

1 tool perform destructive updates without destructiveHint — delete_note deletes at line 394 (fs.unlinkSync(file))

Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.

openWorldHint matches behaviour

7 tools claim openWorldHint=false but make outbound HTTP — create_bundle → dynamic (line 450); update_bundle → dynamic (line 549); publish_bundle → dynamic (line 624)

Either flip openWorldHint to true (acknowledging external reach) or refactor the handler to avoid outbound HTTP. If the only network calls are to a known fixed endpoint that you consider part of the tool itself, document that and keep openWorldHint=false; otherwise true is honest.

Tool inputs are validated

143/154 tool handlers declare input schemas (93%)

Declare an inputSchema with zod/joi/yup on every tool definition.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tool test coverage

Only 16/154 tools referenced in tests (10%)

Write tests that reference each tool by name so every tool has at least one test.

Dependency freshness

1/26 production deps stale: node-fetch@2023-11-30 (2.8y)

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/dexter-dao/dexter-mcp?variant=verified)](https://m8ven.ai/mcp/dexter-dao/dexter-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: a36c6b9985596dac8414444d07f1e08deda1841e
code hash: 395c0ed571f6cb7f36e2aee2932bae0d0708126396c20d0d9b469711682c9758
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client