Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

DeXe DAO governance

NPM · DEXE-MCP

DeXe Protocol DAOs for AI agents: create DAOs, proposals, votes, OTC token sales, on-chain reads.

Available components

+5 this week 85 Trust /100

Last scanned (9 hours ago)

Scores higher than 85% of npm servers

Category Crypto and Web3

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 110 of 303 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to edward-arinin-web-dev/dexe-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 11 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 11171 tokens (~219/item across 51 items; 48 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
  • Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (46% of tools); any adoption earns full credit.Pass
Tool Safety88
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 2 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "dexe_vote_build_withdraw" implies "withdraw" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 50 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 24 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Oct 26 +4
    • Stability: unverified → 0.27 ▲ functional
  • 14 Oct 26 +31
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 ▲ functional
    • Schema quality: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Destructive annotations: 50 functional
    • First check of Tool coverage: 46 functional
    • First check of Schema quality: good functional
    • First check of Tool coverage: 100 functional
  • 13 Oct 26 0
    • Package version: 0.37.0 → 0.37.1 functional
  • 12 Oct 26 49

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 25 Oct 2026 · Analysed npm/dexe-mcp@0.37.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo edward-arinin-web-dev/dexe-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/edward-arinin-web-dev/dexe-mcp/.github/workflows/release.yml@refs/tags/v0.37.1
Rekor log index 3244642919
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:a1ed3126bb7cae215da06342a443a1c1fcdceaa9db9e918887447d7d911afe5c5c40c6a10f377e9dc8382ef219d64ad443abfb6064da5c8babe4b29a0

Background: How many MCP packages publish verified provenance →

Dependencies 303 packages
Packages resolved 303
Stale 110
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 48 exposed · ~10,524 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
dexe_context ~160

Read-only. Session orientation — configured chains and the default, env readiness (RPC/IPFS/subgraph/backend), which toolsets are on or hidden and what the hidden ones unlock, and the DAOs/proposals recorded in this install's local state. Pass `user` to add that wallet's deposited power in the newest recorded DAO. Not needed once the DAO and chain are known. Persisted DAOs/proposals are WINDOWED; the *Total fields carry real counts.

NameTypeReqDescription
daoLimitinteger–Recorded DAOs to return, newest first.
proposalLimitinteger–Recorded proposals to return, newest first.
userstring–Wallet address: adds its deposited voting power in the newest recorded DAO (one extra RPC call).

No output schema declared.

No examples provided.

dexe_dao_create ~1,089

Broadcasts when a signer is configured. Deploys a new DeXe DAO in ONE call. SIMPLE mode (recommended): pass `symbol` + `totalSupply` and the tool synthesizes a coherent, frontend-equivalent config (LINEAR power, treasury as an implicit remainder, a quorum that passes on realistic turnout). ADVANCED mode: pass a full `params` struct. Returns a `preview` of the resolved config + a safety proof and broadcasts only with `confirm: true`. Runs the frontend's governance coherence guards over ALL FIVE settings slots (default / internal / validators / distribution / tokenSale) — one un-passable slot bricks that whole proposal class forever — plus a calldata round-trip self-check and a pre-sign eth_call: a provable revert is refused with a classified cause + fix BEFORE any gas is spent, while an RPC outage only downgrades to a warning. Mainnet (56) always needs `confirm: true` (real BNB); validate on testnet (97) first. `deployer` defaults to the signer. Unsure of the journey or params? Call dexe_guide (flow:'create_dao').

NameTypeReqDescription
avatarCIDstring–IPFS CID of an already-pinned JPEG avatar (dexe_ipfs_upload_avatar)
avatarFileNamestring–File name stored alongside avatarCID.
avatarPathstring–Local avatar image path (JPEG/PNG/WebP/GIF ≤10 MB) — server validates + pins it. Preferred over avatarCID.
chainIdinteger–Target chain id. Defaults to the MCP's default chain. Use 97 (BSC testnet) to validate; 56 = BSC mainnet (real funds).
confirmboolean–True to actually broadcast; without it SIMPLE mode and any mainnet deploy return a review-only preview. Pass it on the FIRST call when the user has already approved the deploy.
confirmRiskyboolean–Proceed despite a governance-safety refusal. Read the returned `risks` to the user FIRST — such a config cannot be repaired after deploy, because repairing it needs a proposal passed under it. Ignore…
daoDescriptionstring–DAO description (markdown; uploaded to IPFS as slate)
daoNamestringyesDAO name (also the deployGovPool pool name)
deployerstring–tx.origin that sends the deploy (needed for address prediction). Defaults to the signer address.
documentsarray–External documents shown on the DAO profile, e.g. [{ name: "Whitepaper", url: "https://..." }]
dryRunboolean–Preview: no broadcast, no IPFS pin, no Pinata key needed. CIDs are right but unpinned — do NOT broadcast this calldata.
durationSecondsinteger–SIMPLE mode: voting duration. Default 86400 (1 day).
earlyCompletionboolean–SIMPLE mode: end voting as soon as the quorum is reached. Default true.
executionDelaySecondsinteger–SIMPLE mode: delay before execution. Default 0.
flowContextobject–Guided-flow position from dexe_guide's step templates. Adds flowProgress + next to the result and persists it.
minVotesTokensstring–SIMPLE mode: min tokens to vote AND create proposals, WHOLE tokens. Default '1'. Must be ≤ the largest holder's allocation.
paramsobject–ADVANCED mode: the full deployGovPool params struct. Prefer SIMPLE mode. Field-by-field schema: dexe_dao_build_deploy (needs DEXE_TOOLSETS=core,dev).
poolFactorystring–PoolFactory override; defaults to ContractsRegistry lookup
quorumPercentnumber–SIMPLE mode: quorum, percent 0-100. Omit and the tool picks (default 51). Must be >=50 and clearable by at most 80% turnout — a quorum equal to the votable share freezes the DAO forever.
recipientsarray–SIMPLE mode: split the votable share across wallets (default: deployer only). Percents are of TOTAL supply and must sum to 100 − treasuryPercent.
signerKeystring–Keyring signer: omit = primary key; 'agent<n>' or address = a DEXE_AGENT_PK_* key.
socialLinksarray–[[network, url], ...]
symbolstring–SIMPLE mode: gov token symbol (e.g. 'GENA'). Required when `params` is omitted.
totalSupplystring–SIMPLE mode: total token supply in WHOLE tokens (e.g. '1000000'). Required when `params` is omitted.
treasuryPercentnumber–SIMPLE mode: treasury share, percent 0-100 (implicit remainder; it cannot vote). Omit and the tool picks one that leaves a real voting margin (default 30).
voteModelstring–SIMPLE mode: vote-power model. LINEAR = 1 token = 1 vote (default). POLYNOMIAL = meritocratic curve.
websiteUrlstring–DAO website URL shown on its profile.

No output schema declared.

No examples provided.

dexe_dao_generate_avatar ~91

Writes to a remote service. Renders a real JPEG of the DAO's initials over a hash-coloured gradient and pins it, returning {avatarCID, avatarFileName, avatarUrl}. Deterministic.

NameTypeReqDescription
daoNamestringyesDAO name; first 1–2 alphanumeric chars become the avatar initials.
sizeinteger–Output image size in px (square).
NameTypeReqDescription
avatarCIDstringyes–
avatarFileNamestringyes–
avatarUrlstringyes–
pinnedAtstringyes–
sizenumberyes–

No examples provided.

dexe_dao_info ~83

Read-only. One multicall on a GovPool: helper addresses, NFT contract addresses, description URL, and live validator count.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstringyesGovPool contract address
NameTypeReqDescription
descriptionURLstring|nullyes–
govPoolstringyes–
helpersobjectyes–
nftContractsobjectyes–
validatorsCountstring|nullyes–

No examples provided.

dexe_dao_predict_addresses ~118

Read-only. Calls `PoolFactory.predictGovAddresses(deployer, poolName)` — the six CREATE2-predicted contract addresses for a DAO before it is deployed.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
deployerstringyesAddress that will send the deployGovPool tx (tx.origin)
poolNamestringyesUnique pool name — part of the CREATE2 salt
NameTypeReqDescription
distributionProposalstringyes–
expertNftstringyes–
govPoolstringyes–
govTokenstringyes–
govTokenSalestringyes–
nftMultiplierstringyes–

No examples provided.

dexe_dao_registry_lookup ~104

Read-only. Calls `PoolRegistry.isGovPool(address)` — true when the address is a registered DeXe DAO GovPool.

NameTypeReqDescription
addressstring–Candidate GovPool address
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstring–Alias for `address` — the name every other DAO tool uses
NameTypeReqDescription
addressstringyes–
chainIdnumberyes–
isGovPoolbooleanyes–
poolRegistrystringyes–

No examples provided.

dexe_dao_report ~410

Read-only. The whole picture of one DAO in one call — every section named by `sections` (default all), plus everything with a DEADLINE: open votes, executable proposals and, with `user`, unvoted proposals and claimable rewards. Pass `since` (ISO timestamp, Unix seconds, `block:<n>`, or `last`) for ONLY what changed; each run stores a snapshot so the next `since` diff has a baseline. Sections degrade independently; unavailable ones are NAMED in `unavailable[]` with the reason.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstringyesGovPool / DAO address
memberLimitinteger–Member/delegation rows to fetch (newest joiners first).
persistboolean–Store this run's snapshot so a later `since` diff has a baseline. Full runs only — a `sections`-narrowed run never overwrites it.
proposalLimitinteger–How many of the NEWEST proposals to walk for state, outcomes and turnout.
sectionsarray–Narrow the report. Default: all of identity, settings, treasury, membership, delegation, experts, validators, proposals, turnout, activity, deadlines.
sincestring–Diff anchor: ISO-8601 ('2026-08-01T00:00:00Z'), Unix seconds ('1785000000' / 'unix:…'), a block number ('block:62000000'; a bare integer below 1e9 is read as a block), or 'last' to diff against this…
userstring–Optional wallet. Adds per-user deadline items: proposals in Voting this user has NOT voted on, and claimable rewards.
NameTypeReqDescription
blockNumbernumber|nullyes–
chainIdnumberyes–
changes–yes–
degradedstring|null––
followUpsarrayyes–
generatedAtstringyes–
generatedAtUnixnumberyes–
govPoolstringyes–
sectionsobjectyes–
since–yes–
snapshotPersistedbooleanyes–
sourcesobjectyes–
unavailablearrayyes–

No examples provided.

dexe_doctor ~136

Read-only. Diagnoses env setup — the cause and the fix of an env-related failure: presence + reachability checks (RPC, Pinata, IPFS gateway DNS, subgraph, backend) as pass/warn/fail with remediation hints. Warnings are advisories — a healthy zero-config install always has some. `probePin` is the one write: one tiny IPFS pin.

NameTypeReqDescription
_placeholderboolean–Unused; tool takes no input.
probePinboolean–Probe pin to Pinata (added, then removed) — use when an IPFS upload fails with HTTP 403.

No output schema declared.

No examples provided.

dexe_get_config ~57

Read-only, local. The resolved read config: chain set and default chain, subgraph coverage per chain, the backend API and the IPFS read gateways.

NameTypeReqDescription
_placeholderboolean–Unused; tool takes no input.

No output schema declared.

No examples provided.

dexe_graph_query ~236

Read-only. GraphQL against a DeXe subgraph: 'pools' (DAOs, proposals, voters, delegations, experts, sales), 'interactions' (per-user tx feed), 'validators'. Bound every list with `first:` (max 1000), page with `skip:`; oversized responses are rejected. Entity and field names must match the subgraph schema exactly — root fields are not entity names (DaoPool -> `daoPools`), and a wrong name errors with where to look it up. `chainId` picks the endpoint (pools: 56, validators: 56, interactions: 56; default 56); the reply echoes `indexedChainId`, never another chain's rows.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
querystringyesGraphQL query document (read-only)
subgraphstringyesWhich DeXe subgraph to query
variablesobject–GraphQL variables referenced by the query

No output schema declared.

No examples provided.

dexe_graph_schema ~251

Read-only. Live introspection of a DeXe subgraph schema — the valid names for a GraphQL query, e.g. after "Type 'X' has no field 'Y'". Omit `entity` for the root query field map (each entity -> the field name to query it by); pass `entity` for that type's fields, '<Entity>_filter' for valid `where:` keys, '<Entity>_orderBy' for valid `orderBy:` values. An unknown name returns ranked candidates. `chainId` picks the endpoint (pools: 56, validators: 56, interactions: 56; default 56); the reply echoes `indexedChainId`, never another chain's rows.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
entitystring–Type name to expand, e.g. 'Proposal', 'VoterInPool', 'DaoPool_filter', 'Proposal_orderBy'. Omit for the root query field map.
subgraphstringyesWhich DeXe subgraph to introspect

No output schema declared.

No examples provided.

dexe_guide ~222

Read-only, local. The plan for a multi-step or unfamiliar DeXe request — 'create a DAO', 'launch a token with distribution/OTC/staking', 'open a sale', 'pass this proposal': the ordered steps (which tools, in what order, with what params), the questions to ask the user with per-parameter risk notes, and the known pitfalls for that journey. Reference topics answer data questions the same way (flow:"read_dao_data" covers the whole read surface). No args or a free-text `intent` returns the menu; `flow` returns the full plan.

NameTypeReqDescription
chainIdinteger–Target chain (56 mainnet / 97 testnet). Defaults to the last-used, then the configured default chain.
flowstring–Exact flow or topic id. Takes precedence over `intent`; omit both for the menu.
intentstring–The user's request in free text — matched against the flow triggers (e.g. 'create a token and sell 20% via OTC').

No output schema declared.

No examples provided.

dexe_ipfs_fetch ~80

Read-only. Fetches IPFS content by CID through the server's gateway chain: its dedicated gateway first when it has one, then the configured or public fallbacks.

NameTypeReqDescription
cidstringyesCID (with or without ipfs:// prefix)
timeoutMsinteger–Per-gateway timeout in ms (default 10000).
NameTypeReqDescription
attemptsnumberyes–
cidstringyes–
contentTypestringyes–
gatewaystringyes–
json–––
sizeBytesnumberyes–
truncatedboolean––

No examples provided.

dexe_ipfs_upload_avatar ~179

Writes to a remote service. Pins an image, returning {avatarCID, avatarFileName, avatarUrl}. PREFER `filePath`; never pass base64 through the conversation. Magic-byte validated (JPEG/PNG/WebP/GIF only — SVG/HTML render broken on app.dexe.io); renamed `.jpeg`; CID v1 base32.

NameTypeReqDescription
base64string–Base64 image bytes — only when the image isn't a local file.
contentTypestring–Caller-claimed MIME type. Informational only — the pinned MIME comes from byte sniffing.
fileNamestring–Base filename; extension will be normalized to .jpeg
filePathstring–Absolute path to a local image (JPEG/PNG/WebP/GIF, max 10 MB). Preferred over base64.
NameTypeReqDescription
avatarCIDstringyesCID v1 base32 — pass to upload_dao_metadata as avatarCID.
avatarFileNamestringyesFilename (always ends with .jpeg).
avatarUrlstringyesFull subdomain-gateway URL — what the frontend stores verbatim.
detectedFormatstringyesRaster format detected from magic bytes (jpeg|png|webp|gif).
pinnedAtstringyes–
sizenumberyes–

No examples provided.

dexe_ipfs_upload_file ~168

Writes to a remote service. Pins a file to IPFS; PREFER `filePath` over base64. Returns CID v1 (base32) + filename. Images are magic-byte gated to rasters and renamed `.jpeg` unless `normalizeImageExt: false`.

NameTypeReqDescription
base64string–Base64 file bytes — only when the content isn't a local file.
contentTypestring–MIME type of the bytes.
fileNamestring–Filename to pin it under, with extension.
filePathstring–Absolute path to a local file, max 25 MB — the server reads it. Preferred over base64.
normalizeImageExtboolean–If contentType starts with image/, rename the extension to .jpeg.
NameTypeReqDescription
cidstringyesCID v1 base32 — use this as avatarCID.
cidV0stringyesOriginal CID returned by Pinata (usually v0 Qm...). Kept for legacy callers.
fileNamestringyesFilename actually pinned (possibly normalized to .jpeg).
pinnedAtstringyes–
sizenumberyes–

No examples provided.

dexe_ipfs_upload_proposal_metadata ~99

Writes to a remote service. Pins `{proposalName, proposalDescription}` to IPFS via Pinata; returns the CID for `descriptionURL` in `GovPool.createProposal`.

NameTypeReqDescription
descriptionstring–Proposal body; Markdown supported, converted to the Slate format the frontend expects.
extraobject–Extra fields merged into the metadata object.
titlestringyesProposal title; becomes `proposalName`.
NameTypeReqDescription
cidstringyes–
descriptionURLstringyes–
pinnedAtstringyes–
sizenumberyes–

No examples provided.

dexe_otc_buyer_buy ~333

Broadcasts when a signer is configured. Preflights balance + allowance, adds an ERC20 approve when needed, then builds `TokenSaleProposal.buy(tierId, paymentToken, amount, proof)`. Native path (0x000...000) skips approve and sets `value`; `whitelistUsers` generates the proof.

NameTypeReqDescription
amountstringyesAmount to spend: human units ('100.5'), or digits-only = 18-decimal-normalized.
chainIdinteger–Target chain id. Defaults to the MCP's default chain.
dryRunboolean–If true, return ordered TxPayloads even when DEXE_PRIVATE_KEY is set.
proofarray–Merkle proof for a gated tier; [] when not gated.
signerKeystring–Keyring signer: omit = primary key; 'agent<n>' or address = a DEXE_AGENT_PK_* key.
simulateFirstboolean–eth_call-simulate buy() first; aborts with the revertReason if the sim fails.
tierIdstringyesTier to buy from, decimal string.
tokenSaleProposalstringyesTokenSaleProposal helper address
tokenToBuyWithstringyesPayment token; native BNB = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE (0x0 is an alias).
userstring–Buyer address; defaults to the configured signer.
whitelistUsersarray–Optional whitelist for proof gen

No output schema declared.

No examples provided.

dexe_otc_buyer_claim_all ~247

Broadcasts when a signer is configured. Reads `getUserViews(user, tierIds)` and sends `claim` for tiers with `claimableAmount > 0`. Tiers whose only balance is the VESTED leg are reported under `vestingBlocked` and NOT sent — `vestingWithdraw` is refused by the pool's firewall (upstream defect F15); `includeVesting: true` tries anyway.

NameTypeReqDescription
chainIdinteger–Target chain id. Defaults to the MCP's default chain.
dryRunboolean–If true, return ordered TxPayloads even when DEXE_PRIVATE_KEY is set.
includeVestingboolean–Attempt `vestingWithdraw` too; it reverts on every current pool (upstream F15).
signerKeystring–Keyring signer: omit = primary key; 'agent<n>' or address = a DEXE_AGENT_PK_* key.
tierIdsarrayyesTier ids to sweep, decimal strings.
tokenSaleProposalstringyesTokenSaleProposal helper address
userstring–Claimer address; defaults to the configured signer.

No output schema declared.

No examples provided.

dexe_otc_buyer_status ~143

Read-only. Deprecated alias of dexe_read_token_sale_position (renamed in 0.36.0); same input and output.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
tierIdsarrayyesTier ids to report on, decimal strings (1 to 50).
tokenSaleProposalstringyesTokenSaleProposal helper address
userstringyesBuyer address to report state for.
whitelistsarray–Optional per-tier whitelist (for MerkleWhitelist proof generation).

No output schema declared.

No examples provided.

dexe_otc_dao_open_sale ~493

Broadcasts when a signer is configured. Proposes a multi-tier token sale on an OTC DAO: builds the `createTiers` envelope (deduped approves, auto-merkle, auto-addToWhitelist, merkle lists pinned to IPFS so buyers can regenerate proofs), then runs the proposal_create flow (approve, deposit, IPFS metadata, `createProposalAndVote`). DAOs from `dexe_dao_create` (v0.19+) already wire TokenSaleProposal as an executor; older ones need a `new_proposal_type` proposal first.

NameTypeReqDescription
acknowledgeVestingBlockedboolean–Refused by default: opt into vestingPercentage > 0; the vested leg is stranded (F15).
buildOnlyboolean–Return only the envelope (actions + metadata + merkle roots); skips IPFS and DAO reads.
chainIdinteger–Target chain id. Defaults to the MCP's default chain.
dryRunboolean–Preview: no broadcast, no IPFS pin. CIDs are right but unpinned — do NOT broadcast.
flowContextobject–Guided-flow position from dexe_guide's step templates. Adds flowProgress + next to the result and persists it.
govPoolstringyesGovPool address
latestTierIdstring–Current `latestTierId()` on the sale; new tiers start after it.
proposalDescriptionstring–Proposal body; Markdown supported.
proposalNamestring–Proposal title in the DAO UI.
signerKeystring–Keyring signer: omit = primary key; 'agent<n>' or address = a DEXE_AGENT_PK_* key.
tiersarrayyesTier specs for `createTiers`, in order; at least one.
tokenSaleProposalstring–TokenSaleProposal helper address. Omit for a DAO this install deployed (recorded at deploy); otherwise dexe_dao_predict_addresses or the deploy receipt.
userstring–Acting address; defaults to the configured signer.
voteAmountstring–Vote size: whole tokens ('12.5') or raw wei. Omit to vote with all available power.
voteNftIdsarray–Your governance NFT token ids, decimal; [] for ERC20-only DAOs.

No output schema declared.

No examples provided.

dexe_otc_list_sales_for_dao ~122

Read-only. Deprecated alias of dexe_read_token_sales (renamed in 0.36.0); same input and output.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstringyesGovPool address
tokenSaleProposalstring–TokenSaleProposal helper address. Omit when the local state records it; otherwise dexe_dao_predict_addresses or the deploy receipt.

No output schema declared.

No examples provided.

dexe_proposal_catalog ~83

Read-only, local. Every proposal type DeXe supports (external, internal validator, off-chain) with target, IPFS-metadata need, gating and builder tool.

NameTypeReqDescription
categorystring–Restrict to one category; 'all' returns the whole catalog.
implementedOnlyboolean–True to list only types that have an MCP builder.
NameTypeReqDescription
externalMetadataShape–––
internalMetadataShape–––
totalnumberyes–
typesarrayyes–

No examples provided.

dexe_proposal_create ~1,059

Broadcasts when a signer is configured. Creates ANY governance proposal in ONE call: runs approve→deposit→createProposalAndVote and uploads correct IPFS metadata (category/isMeta/changes). Without a signer it returns ordered TxPayloads + a WalletConnect QR.\nPass `proposalType` — the enum lists every wired type — with its inputs in `params`:\n• 'custom': your own actionsOnFor [{executor,value,data}]. 'modify_dao_profile' reads the top-level newDaoName/newDaoDescription/newWebsiteUrl/newSocialLinks/newAvatarPath fields, not `params`.\n• External: token_transfer {token,recipient,amount,isNative?} · withdraw_treasury {receiver,token?,amount?,nftAddress?,nftIds?} · change_voting_settings {govSettings?,settings[],settingsIds?} · add_expert/remove_expert {expertNftContract,scope,nominatedUser,uri?} · token_sale_whitelist {tokenSaleProposal,requests[]} · token_sale_recover {tokenSaleProposal,tierIds[]} · manage_validators {govValidators,changes[]} · validators_allocation {credits[]} · delegate_to_expert/revoke_from_expert {expert,amount,nftIds?} · change_math_model {newVotePower} · blacklist {erc20Gov,addAddresses?,removeAddresses?} · apply_to_dao {token,receiver,amount} · new_proposal_type/enable_staking {govSettings?,settings,executors,newSettingId} · custom_abi {target,signature,method,args?} · token_distribution · token_sale · create_staking_tier · reward_multiplier.\n• Internal (validators-only): change_validator_balances {changes[]} · change_validator_settings {duration,executionDelay,quorum} · monthly_withdraw {withdrawals[],destination} · offchain_internal_proposal {}.\nOff-chain backend types are rejected with the flow to use instead. Full recipes with examples: dexe://playbook, or dexe_proposal_catalog.

NameTypeReqDescription
actionsOnForarray–Actions run when the proposal passes. Required for proposalType:'custom'.
allowDuplicateboolean–The create is SKIPPED when a live proposal already carries the same IPFS metadata URL (a resumed run). True mints a second identical proposal on purpose.
categorystring–Proposal category (included in IPFS metadata).
chainIdinteger–Target chain (56 mainnet, 97 testnet); needs an RPC for it. Default: the MCP's default chain.
confirmRiskyboolean–Required when the built proposal carries a DANGER governance-safety advisory. Without it the flow refuses BEFORE any transaction.
descriptionstring–Proposal description (markdown supported)
dryRunboolean–Preview: no broadcast, no IPFS pin, no Pinata key needed. The metadata CID is right but unpinned — do NOT broadcast this calldata.
flowContextobject–Guided-flow position from dexe_guide's step templates. Adds flowProgress + next to the result and persists it.
govPoolstringyesDAO GovPool address (dexe_dao_registry_lookup).
newAvatarBase64string–Base64 image bytes — only when the image isn't a local file.
newAvatarCIDstring–modify_dao_profile: IPFS CID of an already-pinned avatar.
newAvatarFileNamestring–modify_dao_profile: file name stored with newAvatarCID.
newAvatarPathstring–Local avatar image path (JPEG/PNG/WebP/GIF, max 10 MB) — the server validates and pins it for you.
newDaoDescriptionstring–modify_dao_profile: the DAO's new description (markdown).
newDaoNamestring–modify_dao_profile: the DAO's new display name.
newSocialLinksarray–modify_dao_profile: [[network, url], ...].
newWebsiteUrlstring–modify_dao_profile: the DAO's new website URL.
paramsobject–Type-specific builder inputs for the chosen proposalType (recipes: tool description / dexe://playbook).
proposalMetadataExtraobject–Extra fields merged into IPFS metadata.
proposalTypestring–What kind of proposal to create — required in practice. 'custom' means you supply actionsOnFor. Unsure? Call dexe_proposal_catalog.
signerKeystring–Keyring signer: omit = primary key; 'agent<n>' or address = a DEXE_AGENT_PK_* key.
titlestringyesProposal title
userstring–User address. Required when DEXE_PRIVATE_KEY not set.
voteAmountstring–Auto-vote amount: raw wei (digits only) or human units with a decimal point ('12.5'). Default: all available power.
voteNftIdsarray–Your governance NFT token ids, decimal; [] for ERC20-only DAOs.

No output schema declared.

No examples provided.

dexe_proposal_list ~139

Read-only. Calls `GovPool.getProposals(offset, limit)` and adds quorum progress per proposal. Quorum is per-side — either For or Against clearing the target reaches it; `requiredQuorum` is an ABSOLUTE vote weight, not a percentage.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstringyesGovPool contract address
limitinteger–Max proposals per page.
offsetinteger–Proposals to skip; page with `nextOffset`.
NameTypeReqDescription
govPoolstringyes–
limitnumberyes–
nextOffsetnumber––
offsetnumberyes–
proposalsarrayyes–
returnednumber––
totalnumber––
truncatedboolean––

No examples provided.

dexe_proposal_state ~140

Read-only. Reads `getProposalState`, `getProposalRequiredQuorum` and the proposal's votes in one multicall. `requiredQuorum` is an ABSOLUTE vote weight, not a percentage; quorum is per-side — either For or Against clearing it reaches quorum.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstringyesGovPool contract address
proposalIdstring|numberyesOn-chain proposal id, 1-indexed decimal (dexe_proposal_list).
NameTypeReqDescription
govPoolstringyes–
proposalIdstringyes–
quorumAttainmentAgainstPctnumber|nullyes–
quorumAttainmentForPctnumber|nullyes–
quorumReachedboolean|nullyes–
requiredQuorumstringyes–
requiredQuorumFormattedstring––
statestringyes–
stateIndexnumberyes–
votesAgainststring|nullyes–
votesAgainstFormattedstring––
votesForstring|nullyes–
votesForFormattedstring––
votesShortOfQuorumstring|nullyes–

No examples provided.

dexe_proposal_vote_and_execute ~478

Broadcasts when a signer is configured. The ONE call for 'vote on / pass / execute proposal N': checks proposal state, AUTO-DEPOSITS wallet tokens when voting power is short (approve UserKeeper → deposit → vote, the frontend's bundled shape), and with autoExecute executes once the vote passes. Without a signer it returns ordered TxPayloads + a WalletConnect QR. Unsure of the lifecycle (validator round, locked tokens)? Call dexe_guide (flow:'vote_execute') first.

NameTypeReqDescription
autoExecuteboolean–Attempt execute if proposal passes after vote
chainIdinteger–Target chain (56 mainnet, 97 testnet); needs an RPC for it. Default: the MCP's default chain.
depositFirst––'auto': deposit exactly what is missing when deposited power is short. true: deposit the whole wallet balance. false: never deposit.
driveValidatorRoundboolean–With autoExecute, drive the validator stage too: moveProposalToValidators, cast the signer's validator vote if it is one, then execute. False stops after the member vote.
dryRunboolean–If true, return ordered TxPayloads even when DEXE_PRIVATE_KEY is set (preview without broadcasting).
flowContextobject–Guided-flow position from dexe_guide's step templates. Adds flowProgress + next to the result and persists it.
govPoolstringyesDAO GovPool address (dexe_dao_registry_lookup).
isVoteForboolean–Vote for (true) or against (false)
proposalIdstring|numberyesOn-chain proposal id, 1-indexed decimal (dexe_proposal_list).
signerKeystring–Keyring signer: omit = primary key; 'agent<n>' or address = a DEXE_AGENT_PK_* key.
userstring–User address. Required when DEXE_PRIVATE_KEY not set.
voteAmountstring–Vote amount: raw wei (digits only) or human units with a decimal point ('12.5'). Default: ALL available power (deposited + wallet).
voteNftIdsarray–Your governance NFT token ids, decimal; [] for ERC20-only DAOs.

No output schema declared.

No examples provided.

dexe_read_dao_list ~164

Read-only. Paginated DAO discovery via the pools subgraph; name search is case-insensitive, ordered by voter count descending. Pass `chainId` (chains with a pools endpoint here: 56; default 56); the reply echoes `indexedChainId`, never another chain's rows. No endpoint for a chain = an error that names the on-chain reads to use instead.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
limitinteger–Max rows per page.
offsetinteger–Rows to skip (pagination).
querystring–Name search (case-insensitive, empty = all)

No output schema declared.

No examples provided.

dexe_read_dao_members ~161

Read-only. Paginated member list for a DAO — voting power, delegation counts, rewards, expert status. Pass `chainId` (chains with a pools endpoint here: 56; default 56); the reply echoes `indexedChainId`, never another chain's rows. No endpoint for a chain = an error that names the on-chain reads to use instead.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstringyesGovPool address (lowercased for subgraph)
limitinteger–Max rows per page.
offsetinteger–Rows to skip (pagination).

No output schema declared.

No examples provided.

dexe_read_dao_stats ~195

Read-only. Time series of DAO stats (tvl_usd, member counts, proposal counts, delegations) from the DeXe tracker. `period` is a human duration like '24 hours', '7 days', '1 months'. Backend-only — mainnets.

NameTypeReqDescription
chainIdinteger–Chain for the backend lookup: 1 Ethereum, 56 BSC. Testnets are not indexed. Default: the configured chain.
govPoolstringyesGovPool / DAO address
maxPointsinteger–Cap on returned data points; longer series are evenly downsampled (first and last points always kept). The tracker emits ~hourly points — '1 months' is ~740 raw points / ~650 KB, far beyond a usable…
periodstring–Duration window, e.g. '24 hours', '7 days', '1 months'
NameTypeReqDescription
chainIdnumberyes–
dataarrayyes–
downsampledbooleanyes–
govPoolstringyes–
periodstringyes–
pointsnumberyesRaw point count returned by the tracker
returnedPointsnumberyesPoints in `data` after downsampling

No examples provided.

dexe_read_delegation_map ~233

Read-only. Delegation pairs from the pools subgraph: direction='outgoing' = who a user delegated to, 'incoming' = who delegated to them. Pass `chainId` (chains with a pools endpoint here: 56; default 56); the reply echoes `indexedChainId`, never another chain's rows. No endpoint for a chain = an error that names the on-chain reads to use instead.

NameTypeReqDescription
addressesarrayyesVoter WALLET addresses (plain 0x…40-hex). Composite VoterInPool ids ('govPool-voter' or 80-hex 'voter+pool' concatenations) are also accepted — the voter part is extracted automatically.
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
directionstring–outgoing = who I delegated to; incoming = who delegated to me
limitinteger–Max rows per page.
offsetinteger–Rows to skip (pagination).

No output schema declared.

No examples provided.

dexe_read_settings ~103

Read-only. Reads `GovSettings.getDefaultSettings()` and `getInternalSettings()` for the DAO at `govPool` — quorum, duration, executionDelay, minVotesForCreating/Voting.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstringyesDAO GovPool address (dexe_dao_registry_lookup).
NameTypeReqDescription
defaultSettings–––
govPoolstringyes–
internalSettings–––
settingsstringyes–

No examples provided.

dexe_read_token_holders ~134

Read-only. Holders + raw balances for any ERC20 from the DeXe backend, balance desc, one page per call (see `pageToken`). Mainnets only (1, 56).

NameTypeReqDescription
chainIdinteger–Chain for the backend lookup: 1 Ethereum, 56 BSC. Testnets are not indexed. Default: the configured chain.
pageSizeinteger–Rows per page (backend max 100).
pageTokenstring–Prior result's `nextPageToken` for the next page.
tokenstringyesERC20 token contract address
NameTypeReqDescription
chainIdnumberyes–
countnumberyes–
holdersarrayyes–
nextPageTokenstringyes–
tokenstringyes–
truncatedboolean––

No examples provided.

dexe_read_token_sale_position ~172

Read-only. Tier params + user state across N tiers: purchasable status, claimable amount, vesting withdrawable, lockup ETA, totalSold, merkle root. `whitelists` adds the user's proof, making `canParticipate` accurate for gated tiers.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
tierIdsarrayyesTier ids to report on, decimal strings (1 to 50).
tokenSaleProposalstringyesTokenSaleProposal helper address
userstringyesBuyer address to report state for.
whitelistsarray–Optional per-tier whitelist (for MerkleWhitelist proof generation).

No output schema declared.

No examples provided.

dexe_read_token_sales ~203

Read-only. Reads `latestTierId()` then `getTierViews(0, latestTierId)` on the DAO's TokenSaleProposal: tiers with `totalSold` and status (`upcoming`/`active`/`ended`/`off`) computed from the current block timestamp and the tier's on-chain isOff flag. On-chain only — any chain with an RPC; the reply echoes the resolved `chainId`. `tokenSaleProposal` defaults to the address this install's local state records for the DAO; otherwise it is required.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstringyesGovPool address
tokenSaleProposalstring–TokenSaleProposal helper address. Omit when the local state records it; otherwise dexe_dao_predict_addresses or the deploy receipt.

No output schema declared.

No examples provided.

dexe_read_treasury ~189

Read-only. Treasury / wallet balances for any address; pass a GovPool address for a DAO treasury. Auto-discovers EVERY token via the DeXe backend with USD prices and a total. Falls back to an on-chain read (chain 97, explicit `tokens`, or a backend failure) — no token discovery there, and it reports `degraded: true`.

NameTypeReqDescription
chainIdinteger–Chain to read from: 56 mainnet, 97 testnet. Needs an RPC for it. Default: the configured chain.
govPoolstring–Alias for `holder` — every other DAO read names the DAO this way
holderstring–Address whose balances we read (a GovPool for a DAO treasury)
tokensarray–Optional explicit ERC20 addresses (at most 50); forces on-chain RPC read of just these
NameTypeReqDescription
chainIdnumberyes–
degradedbooleanyes–
holderstringyes–
nativestringyes–
nativeFormattedstring––
sourcestringyes–
tokensarrayyes–
totalUsdnumber|nullyes–

No examples provided.

dexe_tx_approval_status ~83

Read-only. Status + landed tx hashes of a keystore approval (`awaiting_approval`). Cannot approve; only the owner can, on the page.

NameTypeReqDescription
approvalIdstringyes`approval.approvalId` of the awaiting_approval result
waitMsinteger–Long-poll up to this many ms for a change

No output schema declared.

No examples provided.

dexe_tx_send ~302

Broadcasts when a signer is configured. Sends the TxPayload fields from any dexe_*_build_* tool and waits for confirmation. Pass `chainId` when several chains are configured, plus the payload's own chainId as `payloadChainId` — a mismatch REFUSES the send. Calldata with a privileged GovUserKeeper accounting selector is refused (hard block, no override).

NameTypeReqDescription
chainIdinteger–Chain to broadcast on; needs an RPC for it. Default: the MCP's default chain.
datastring–ABI-encoded calldata (0x-prefixed hex)
gasLimitstring–Optional gas limit override (decimal string)
payloadobject–A dexe_*_build_* `payload` object verbatim ({to,data,value,chainId}). Fills to/data/value and payloadChainId when the flat fields are omitted.
payloadChainIdinteger–The TxPayload's own `chainId`, copied verbatim — a mismatch REFUSES the send.
signerKeystring–Signer: omit = primary DEXE_PRIVATE_KEY (never an agent); 'agent<n>'/address = keyring.
tostring–Destination contract address (or pass the builder's `payload` object)
valuestring–Wei value as decimal string
waitConfirmationsinteger–Confirmations to wait (0 = fire-and-forget)

No output schema declared.

No examples provided.

dexe_tx_status ~80

Read-only. Receipt/status for a submitted tx hash (pending vs not_found). A broadcast timeout is not a failure — the tx may still confirm; re-check here.

NameTypeReqDescription
chainIdinteger–Chain to look the receipt up on. Default: the MCP's default chain.
txHashstringyesTransaction hash to look up

No output schema declared.

No examples provided.

dexe_vote_build_deposit ~289

Builds calldata; does not broadcast. `GovPool.deposit(amount, nftIds)` — stakes into the DAO to gain voting power. Payable: native-coin DAOs pass `value`; ERC20 DAOs pass value=0 and need the GovUserKeeper approve first.

NameTypeReqDescription
amountstringyesGovernance token to stake, in that token's own decimals. RAW base units, digits only ('1500000000000000000' = 1.5 at 18 dec); '1.5' is REJECTED — scale it, or use dexe_proposal_create
chainIdinteger–Chain this payload targets: 56 mainnet, 97 testnet. Default: the configured chain.
govPoolstringyesDAO GovPool address (dexe_dao_registry_lookup).
nftIdsarray–Your governance NFT token ids, decimal; [] for ERC20-only DAOs.
valuestring–Native coin (BNB/ETH, 18 decimals) sent with the tx — native-staking DAOs only. RAW base units, digits only ('1500000000000000000' = 1.5 at 18 dec); '1.5' is REJECTED — scale it, or use dexe_proposal…
NameTypeReqDescription
advisoriesarray–Deprecated — use warnings.
payloadobjectyes–
warningsarray––

No examples provided.

dexe_vote_build_erc20_approve ~281

Builds calldata; does not broadcast. `ERC20.approve(spender, amount)`. Run it before dexe_vote_build_deposit when staking an ERC20: approve the DAO's GovUserKeeper (dexe_dao_info), never the GovPool. Native-coin staking needs no approve — pass `value` on deposit instead.

NameTypeReqDescription
amountstringyesAllowance in the ERC20 at `token`, that token's own decimals. RAW base units, digits only ('1500000000000000000' = 1.5 at 18 dec); '1.5' is REJECTED — scale it, or use dexe_proposal_create. Unlimited…
chainIdinteger–Chain this payload targets: 56 mainnet, 97 testnet. Default: the configured chain.
govPoolstring–DAO GovPool. When set, an approve to it (instead of its GovUserKeeper) is refused.
spenderstringyesFor deposits: the DAO's GovUserKeeper address (NOT the GovPool)
tokenstringyesERC20 token contract address to approve.
NameTypeReqDescription
advisoriesarray–Deprecated — use warnings.
payloadobjectyes–
warningsarray––

No examples provided.

dexe_vote_build_execute ~237

Builds calldata; does not broadcast. `GovPool.execute(proposalId)`; scope:'internal' + govValidators builds `GovValidators.executeInternalProposal(proposalId)` (anyone may send once Succeeded). When an action calls GovSettings.addSettings the response carries an advisory naming the chains where the proposal passes the vote and then reverts here — read it before signing.

NameTypeReqDescription
chainIdinteger–Chain this payload targets: 56 mainnet, 97 testnet. Default: the configured chain.
govPoolstringyesDAO GovPool address (dexe_dao_registry_lookup).
govValidatorsstring–Required for scope:'internal' (dexe_dao_info.helpers.validators)
proposalIdstringyesOn-chain proposal id, 1-indexed decimal (dexe_proposal_list).
scopestring–'external' executes on GovPool; 'internal' on GovValidators (needs govValidators).
voterstring–Your address. When set, the deposit-lock warning is checked against your live power and shown only if your tokens really are locked.
NameTypeReqDescription
advisoriesarray–Deprecated — use warnings.
payloadobjectyes–
warningsarray––

No examples provided.

dexe_vote_build_vote ~294

Builds calldata; does not broadcast. Emits `GovPool.multicall([vote(proposalId, isVoteFor, amount, nftIds)])` — the single-element multicall the frontend sends, because SphereX-protected pools revert a raw top-level vote(). Needs staked or delegated power first (dexe_vote_build_deposit).

NameTypeReqDescription
amountstringyesYour staked/delegated governance token power to cast, that token's own decimals. RAW base units, digits only ('1500000000000000000' = 1.5 at 18 dec); '1.5' is REJECTED — scale it, or use dexe_proposa…
chainIdinteger–Chain this payload targets: 56 mainnet, 97 testnet. Default: the configured chain.
govPoolstringyesDAO GovPool address (dexe_dao_registry_lookup).
isVoteForbooleanyestrue = vote FOR, false = vote AGAINST.
nftIdsarray–Your governance NFT token ids, decimal; [] for ERC20-only DAOs.
proposalIdstringyesOn-chain proposal id, 1-indexed decimal (dexe_proposal_list).
voterstring–Your address. When set, the deposit-lock warning is checked against your live power and shown only if your tokens really are locked.
NameTypeReqDescription
advisoriesarray–Deprecated — use warnings.
payloadobjectyes–
warningsarray––

No examples provided.

dexe_vote_build_withdraw ~202

Builds calldata; does not broadcast. `GovPool.withdraw(receiver, amount, nftIds)` — unstakes deposited governance tokens. Tokens you voted with stay locked until that proposal is executed.

NameTypeReqDescription
amountstringyesGovernance token to unstake, in that token's own decimals. RAW base units, digits only ('1500000000000000000' = 1.5 at 18 dec); '1.5' is REJECTED — scale it, or use dexe_proposal_create
chainIdinteger–Chain this payload targets: 56 mainnet, 97 testnet. Default: the configured chain.
govPoolstringyesDAO GovPool address (dexe_dao_registry_lookup).
nftIdsarray–Your governance NFT token ids, decimal; [] for ERC20-only DAOs.
receiverstringyesAddress the unstaked tokens/NFTs are sent to.
NameTypeReqDescription
advisoriesarray–Deprecated — use warnings.
payloadobjectyes–
warningsarray––

No examples provided.

Install

How do I install the DeXe DAO governance MCP server?

DeXe DAO governance runs locally as an npm package, launched with npx -y dexe-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · dexe-mcp

# add to Claude Code
claude mcp add edward-arinin-web-dev-dexe-mcp -- npx -y dexe-mcp
Common questions

What is the DeXe DAO governance MCP server?

DeXe DAO governance is an MCP server listed in the public MCP registry as io.github.edward-arinin-web-dev/dexe-mcp. DeXe Protocol DAOs for AI agents: create DAOs, proposals, votes, OTC token sales, on-chain reads. This page covers its npm package (dexe-mcp).

Is the DeXe DAO governance MCP server safe to use?

DeXe DAO governance scores 85 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the DeXe DAO governance MCP server expose?

DeXe DAO governance exposes 48 tools: dexe_dao_predict_addresses, dexe_dao_registry_lookup, dexe_dao_info, dexe_proposal_state, dexe_proposal_list, and 43 more. Their descriptions and schemas cost roughly 10,524 tokens of context every time the server is loaded.

Is the DeXe DAO governance MCP server still maintained?

DeXe DAO governance is still listed as active in the MCP registry. We last reached this channel on 25 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the DeXe DAO governance MCP server under?

DeXe DAO governance declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.