# DeXe DAO governance [Health: Active]

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/edward-arinin-web-dev/dexe-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 1370  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dexe-dao-governance

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

## Tools
Capabilities this server exposes over MCP:

- **dexe_dao_predict_addresses** — Read-only. Calls `PoolFactory.predictGovAddresses(deployer, poolName)` — the six CREATE2-predicted contract addresses for a DAO before it is deployed.
- **dexe_dao_registry_lookup** — Read-only. Calls `PoolRegistry.isGovPool(address)` — true when the address is a registered DeXe DAO GovPool.
- **dexe_dao_info** — Read-only. One multicall on a GovPool: helper addresses, NFT contract addresses, description URL, and live validator count.
- **dexe_decode_calldata** — Read-only, local. Decodes '0x…' calldata against the DeXe Protocol ABIs (bundled; a local compile wins) — only `contract`'s when given, else every match.
- **dexe_decode_proposal** — Read-only. Fetches a GovPool proposal via `getProposals(offset, limit)` and decodes its for/against actions.
- **dexe_read_gov_state** — Read-only. Reads `getHelperContracts()` and `getNftContracts()` on a GovPool.
- **dexe_list_gov_contract_types** — Read-only, local. Catalog of the DeXe governance contracts: what each does and where its source lives.
- **dexe_proposal_state** — 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.
- **dexe_proposal_list** — 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.
- **dexe_proposal_voters** — Read-only. Paginated voter list for one proposal from the pools subgraph (`proposalInteractions`). `chainId` picks the chain and the reply reports `indexedChainId`; a chain with no pools endpoint errors rather than answering from another index.
- **dexe_vote_user_power** — Read-only. Reads `tokenBalance` and `nftBalance` on GovUserKeeper for every VoteType (Personal/Micropool/Delegated/Treasury) in one multicall. tokenBalance includes the un-deposited wallet balance; deposited power = tokenBalance - tokenOwned.
- **dexe_vote_get_votes** — Read-only. Reads `GovPool.getUserVotes(proposalId, voter, voteType)` and returns the VoteInfoView. Defaults to PersonalVote.
- **dexe_read_multicall** — Read-only. N independent view calls in one Multicall3 round-trip; each supplies its own ABI signature fragment, target, method and args.
- **dexe_read_treasury** — 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`.
- **dexe_read_token_holders** — Read-only. Holders + raw balances for any ERC20 from the DeXe backend, balance desc, one page per call (see `pageToken`). Mainnets only (1, 56).
- **dexe_read_dao_stats** — 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.
- **dexe_read_protocol_stats** — Read-only. The app.dexe.io landing numbers: TVL across ALL DAOs (aggregated over `chainIds`), proposals created, DAO count, voting-locked token value, 24h change percents, a TVL series, and optionally the top-N DAOs by TVL. Backend-only — mainnets (1, 56).
- **dexe_read_nfts** — Read-only. NFTs owned by any address via the DeXe backend (Moralis-backed). Backend-only — mainnets, not testnet 97.
- **dexe_read_validators** — Read-only. Reads `validatorsCount()` and optionally `isValidator(candidate)` on the DAO's GovValidators, plus the validators' monthly credit lines (GovPool.getCreditInfo) — an internal monthly_withdraw against an unfunded line reverts.
- **dexe_read_settings** — Read-only. Reads `GovSettings.getDefaultSettings()` and `getInternalSettings()` for the DAO at `govPool` — quorum, duration, executionDelay, minVotesForCreating/Voting.
- **dexe_read_expert_status** — Read-only. Reads `GovPool.getExpertStatus(user)` and, when the DAO has a BABT contract, `BABT.balanceOf(user) > 0`.
- **dexe_read_token_sale_tiers** — Read-only. Reads `latestTierId()` and `getTierViews(offset, limit)` on a TokenSaleProposal.
- **dexe_read_token_sale_user** — Read-only. Reads `getUserViews(user, tierIds)` on a TokenSaleProposal — per-tier purchase status, claimable amounts, vesting info.
- **dexe_read_distribution_status** — Read-only. Per proposal id, reads `isClaimed(proposalId, voter)` and `getPotentialReward(proposalId, voter)` on a DistributionProposal.
- **dexe_read_staking_info** — Read-only. Reads `stakingsCount()` and `getActiveStakings()` on a StakingProposal — pass its address, or a `govPool` to resolve it via GovUserKeeper.stakingProposalAddress(). With `user`, also reads `getUserInfo(user)`.
- **dexe_read_privacy_policy_status** — Read-only. Reads `UserRegistry.documentHash()` and `agreed(user)` — the current policy hash and whether the user agreed.
- **dexe_ipfs_fetch** — 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.
- **dexe_ipfs_cid_info** — Read-only, local. Parses a CIDv0/v1, reports codec + multihash, converts v0↔v1 when legal, and emits a URL per configured gateway.
- **dexe_read_dao_list** — 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.
- **dexe_read_dao_members** — 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.
- **dexe_read_delegation_map** — 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.
- **dexe_read_validator_list** — Read-only. Paginated validator list ordered by balance descending. Pass `chainId` (chains with a validators 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.
- **dexe_read_user_activity** — Read-only. Paginated transaction history for a user — proposals created, votes cast, delegations, claims, newest first. Pass `chainId` (chains with a interactions 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.
- **dexe_read_dao_experts** — Read-only. Paginated list of local experts (holders of DAO-specific expert NFTs) with their delegation info. 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.
- **dexe_read_token_sales** — 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` is required.
- **dexe_graph_query** — 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.
- **dexe_graph_schema** — 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.
- **dexe_dao_report** — 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 or `block:<n>`) for ONLY what changed since then. Sections degrade independently; unavailable ones are NAMED in `unavailable[]` with the reason.
- **dexe_user_inbox** — Read-only. Pending items across N DAOs for a user: unvoted proposals in Voting state, claimable rewards, locked deposits. Discovery and scan both run on `chainId` (default 56). Omit `daos` to auto-discover from that chain's pools subgraph (limit 50; chains that can auto-discover here: 56); on a chain with none, pass `daos[]` — the scan itself is pure on-chain. The reply echoes `indexedChainId` and `daoSource`.
- **dexe_proposal_forecast** — Read-only. Reads the latest 10 proposals on a DAO and their final states and forecasts the pass-rate over DECIDED proposals (still-voting ones are `pending`, never failures), with the average For-vote weight. `quorum.requiredWeight` is an ABSOLUTE vote weight (getTotalPower x quorum / 1e27), not the 1e25 percentage setting. The history cross-check needs a pools subgraph for the chain being forecast; a chain with none is forecast on-chain only (`subgraphHistory: null`, `subgraphNote` says why) — never from another chain's index. `indexedChainId` reports whose index was used (null = none).
- **dexe_proposal_risk_assess** — Read-only. Assesses low-quorum treasury risk and privileged no-value governance calls (blacklist, pause, changeVotePower, add/editSettings, changeExecutors, changeBalances). SAFE means 'no risk of the kinds this tool classifies', never 'this proposal is safe'.
- **dexe_read_token_sale_position** — 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.
- **dexe_get_config** — Read-only, local. The resolved read config: chain set and default chain, subgraph coverage per chain, the backend API and the IPFS read gateways.
- **dexe_doctor** — Read-only. Diagnoses env setup — the cause and the fix of an env-related failure: presence + reachability checks (RPC, IPFS gateway DNS, subgraph, backend) as pass/warn/fail with remediation hints. Warnings are advisories — a healthy zero-config install always has some.
- **dexe_context** — Read-only. Session orientation — configured chains and the default, env readiness (RPC/IPFS/subgraph/backend) and the tool set this server serves. Not needed once the DAO and chain are known.
- **dexe_guide** — Read-only, local. Reference guide for reading DeXe DAO data — querying the subgraph, the backend and the chain, and pulling a whole DAO report — with the relevant tools for each and the known pitfalls. No args or a free-text `intent` returns the menu; `flow` returns the full topic.
- **dexe_gov_list_governors** — Read-only, local. Every bundled external-Governor config: its chain, governor address, voting token, voting params and timelock. A static snapshot — a DAO can change its params by proposal.
- **dexe_gov_get_proposal** — Read-only. ProposalState (name + enum index), snapshot block, deadline block and proposalVotes (for/against/abstain) for one proposal on a configured Governor.
- **dexe_gov_get_voting_power** — Read-only. `IVotes.getPastVotes(account, blockNumber)` on the Governor's voting token, or `getVotes(account)` when blockNumber is omitted. Raw wei plus the token's decimals.
- **dexe_gov_get_quorum** — Read-only. Quorum threshold at a snapshot block (latest when omitted). Bravo (UNI/COMP) reads fixed quorumVotes(); vanilla OZ reads quorum(blockNumber); OP-style governors, whose quorum() is keyed by proposalId, use votableSupply(block) * quorumNumerator/quorumDenominator. `method` reports the path taken, `configured` echoes the numerator/denominator to cross-check.
- **dexe_gov_get_proposal_threshold** — Read-only. `Governor.proposalThreshold()` — the voting power needed to submit a proposal. Returns the live uint256 plus the bundled config value, and whether they still agree.
- **dexe_gov_simulate_vote_impact** — Read-only. Reads the live tallies + quorum and projects the outcome if `weight` of voting power were cast with `support`. Returns currentTallies, projectedTallies, quorumMet, willPass. Quorum counting follows the governor's COUNTING_MODE (`quorum.counting`): Bravo and CompoundGovernor count For only, vanilla OZ counts For+Abstain, Optimism counts all three. `willPass` ignores any per-proposal-type approvalThreshold or voting module — see `caveats` when present.
- **dexe_gov_get_state** — Read-only. `Governor.state(proposalId)` as {index, name} — one eth_call when the state is all you need.
- **dexe_gov_has_voted** — Read-only. Whether the account already voted. OZ reads hasVoted(proposalId, account); Bravo has no hasVoted, so it reads getReceipt(proposalId, voter).hasVoted.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "dexe-dao-governance": {
    "command": "npx",
    "args": ["-y","-p","dexe-mcp","dexe-mcp-read"]
  }
}
```

## Documentation

## What DeXe DAO governance does

DeXe DAO governance MCP server gives MCP-compatible agents an interface to DeXe Protocol governance on BNB Chain. The package also includes a generic read and transaction surface for OpenZeppelin and Compound-Bravo Governor DAOs, including deployments used by Uniswap, Compound, and Optimism.

The project covers DAO creation, proposal construction across DeXe's catalog of proposal types, voting, delegation, execution, treasury and subgraph queries, validator and expert data, staking, token sales, IPFS metadata, transaction simulation, diagnostics, and multi-agent orchestration. A consolidated DAO reporting tool can return identity, treasury, membership, delegation, turnout, and deadline-related information in one call.

As a tool in the Finance & Fintech category, it fits workflows that combine governance operations with on-chain financial data. The separate `dexe-mcp-read` binary is intended for inspection-only deployments and provides 54 read tools.

## How it works

The default package runs as a local MCP process launched through `npx` or an installed `dexe-mcp` command. Reads use public defaults for BNB Chain RPC access, subgraphs, the DeXe backend, and IPFS, so they can run without configuration. The public RPC is rate-limited and is described as suitable for evaluation rather than production use.

Write tools are calldata-first. They return a payload containing the destination, encoded data, value, and chain ID for a wallet to sign. Broadcasting is optional. WalletConnect provides phone-based approval without storing a key on disk; an encrypted local keystore can also be configured and requires approval for each batch. An unattended private-key mode exists for bots and CI, but it must be explicitly enabled.

## Setup and configuration

The package requires Node.js 20.12 or newer and npm. Run `npx -y dexe-mcp@latest init` for interactive network, IPFS, and signer setup, then use `doctor` to check recognized configuration. The setup process writes to `~/.dexe-mcp/.env` for a package installation.

Creating DAOs or proposals and uploading metadata require additional configuration, including a Pinata token. A signer is needed for transaction broadcasting. The `DEXE_RPC_URL_MAINNET` variable can replace the default public BSC endpoint. Tool groups can be selected with `DEXE_TOOLSETS`; the agent-team skill specifically requires `core,agents` and unattended signing.

The read-only binary ignores signing and upload keys and can run with no environment configuration. It supports stdio and has a Streamable HTTP mode for remote clients.

## Tools and capabilities

The DeXe DAO governance MCP server organizes 170 typed tools into 19 groups. Supported areas include:

- DAO deployment and governance configuration
- DeXe proposal creation, including catalog and type-specific builders
- Voting, delegation, proposal execution, and transaction sending
- Treasury, members, voters, validators, experts, staking, and protocol reads
- OTC token sales and merkle-based whitelists
- IPFS metadata, simulation, reporting, diagnostics, and agent orchestration

The read-only edition exposes DAO, proposal, vote, treasury, delegation, validator, expert, token-sale, staking, protocol-statistics, and external-Governor queries without signing, sending, uploading, or transaction-building code.

## Limitations and notes

The server does not require a private key for read operations. Production users should account for public RPC rate limits and configure an appropriate endpoint. Transaction signing and broadcasting involve separate security choices, and unattended signing should be reserved for explicitly controlled bot or CI environments.

The optional development tools that compile, test, or lint DeXe Protocol require Git and may clone the protocol repository on first use. Existing checkouts can be selected with `DEXE_PROTOCOL_PATH`. The remote HTTP mode for the read-only edition is identified as pre-release.

_Full upstream README: https://allmcps.com/mcp/dexe-dao-governance/readme_

