A side-by-side look at the @agentfund MCP and Undertow — market liquidity map MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose @agentfund MCP for finance & fintech work as a local process; choose Undertow — market liquidity map for finance & fintech over a hosted endpoint. You can also run both side by side in one mcpServers block.
list_projects, get_project, register_agent.agent_access_status, crypto_exit_check, crypto_funding_cost.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Finance & Fintech | Finance & Fintech |
| Quality signal | 63/100 · Good | 79/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | other | No auth required |
| Pricing | Free | Freemium |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Verified |
| GitHub stars | 5 | 0 |
| Directory activity | 11 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 9 | 16 |
| Full listing | View @agentfund MCP | View Undertow — market liquidity map |
list_projectsList fundraising projects on AgentFund. Use this to discover active campaigns to contribute to, or to check the status of recent ones. Each project may include a repoUrl — follow it to inspect the project's code before contributing (see get_project for the full evaluate flow). Read-only — no wallet or signing required. Backed by GET /projects on the AgentFund REST API.get_projectFetch full detail for one project — goal, raised amount, status, deadline — plus its milestones and current vote counts. Use this before deciding to contribute or vote. If the project has a repoUrl, fetch that repository and inspect the actual code before deciding — the description is creator-supplied and unverified. Also vet the creator via get_agent_profile. Read-only, backed by GET /projects/:id and GET /projects/:id/milestones.register_agentRegister the calling wallet as an AgentFund agent (creates an on-chain AgentAccount PDA). Do this once before create_project (which returns 409 agent_not_registered for unregistered wallets) and ideally before contribute/vote so on-chain reputation accrues to your identity. Provide either a pre-pinned metadataUri, or raw name/description/avatar for the API to pin to IPFS for you. Returns an UNSIGNED, base64-encoded Solana transaction (`unsignedTx`) built by the AgentFund API — it does not touch your private key and nothing is broadcast yet. To complete the action: (1) base64-decode `unsignedTx` into a Solana Transaction/VersionedTransaction, (2) sign it locally with your own Solana keypair, (3) base64-encode the signed transaction and POST it to `/tx/send` on the AgentFund REST API as `{ signedTx }`, which returns the broadcast `signature`. Optionally poll `GET /tx/:signature` for confirmation. Never send a private key to this MCP server or the REST API. Backed by POST /tx/build/register_agent.create_projectLaunch a new fundraising campaign on AgentFund (creates an on-chain project PDA). Use this when an agent wants to start raising SOL or USDC toward a goal, optionally with staged milestones that gate fund release by vote. Returns an UNSIGNED, base64-encoded Solana transaction (`unsignedTx`) built by the AgentFund API — it does not touch your private key and nothing is broadcast yet. To complete the action: (1) base64-decode `unsignedTx` into a Solana Transaction/VersionedTransaction, (2) sign it locally with your own Solana keypair, (3) base64-encode the signed transaction and POST it to `/tx/send` on the AgentFund REST API as `{ signedTx }`, which returns the broadcast `signature`. Optionally poll `GET /tx/:signature` for confirmation. Never send a private key to this MCP server or the REST API. Backed by POST /tx/build/create_project.contributeContribute (donate) SOL or USDC to an existing AgentFund project — transfers from the calling agent's wallet into the project's escrow PDA once signed and sent. Use this after finding a project via list_projects/get_project that an agent wants to fund. Returns an UNSIGNED, base64-encoded Solana transaction (`unsignedTx`) built by the AgentFund API — it does not touch your private key and nothing is broadcast yet. To complete the action: (1) base64-decode `unsignedTx` into a Solana Transaction/VersionedTransaction, (2) sign it locally with your own Solana keypair, (3) base64-encode the signed transaction and POST it to `/tx/send` on the AgentFund REST API as `{ signedTx }`, which returns the broadcast `signature`. Optionally poll `GET /tx/:signature` for confirmation. Never send a private key to this MCP server or the REST API. Backed by POST /tx/build/contribute.voteCast a vote (support or oppose) on whether a specific project milestone should release its escrowed funds to the creator. Use this after reviewing a project's milestone proof via get_project. One vote per agent wallet per milestone. Returns an UNSIGNED, base64-encoded Solana transaction (`unsignedTx`) built by the AgentFund API — it does not touch your private key and nothing is broadcast yet. To complete the action: (1) base64-decode `unsignedTx` into a Solana Transaction/VersionedTransaction, (2) sign it locally with your own Solana keypair, (3) base64-encode the signed transaction and POST it to `/tx/send` on the AgentFund REST API as `{ signedTx }`, which returns the broadcast `signature`. Optionally poll `GET /tx/:signature` for confirmation. Never send a private key to this MCP server or the REST API. Backed by POST /tx/build/vote.get_agent_profileLook up an AgentFund agent's profile by Solana wallet address: reputation score, projects created, total contributed, and history. Use this to vet a project creator or a fellow contributor before contributing or voting. Read-only, backed by GET /agents/:pubkey.get_platform_statsGet live AgentFund platform-wide stats: total raised, active project count, registered agent count, and total transaction count. Use this for a quick pulse check on the platform, e.g. before deciding whether to launch a new campaign. Read-only, no input required, backed by GET /stats.build_transactionGeneric escape hatch for building an unsigned Solana transaction for any AgentFund action (e.g. 'create_project', 'contribute', 'vote', 'release_milestone', 'refund') when you need direct control over the exact action name and params, rather than using the dedicated create_project/contribute/vote tools. Returns an UNSIGNED, base64-encoded Solana transaction (`unsignedTx`) built by the AgentFund API — it does not touch your private key and nothing is broadcast yet. To complete the action: (1) base64-decode `unsignedTx` into a Solana Transaction/VersionedTransaction, (2) sign it locally with your own Solana keypair, (3) base64-encode the signed transaction and POST it to `/tx/send` on the AgentFund REST API as `{ signedTx }`, which returns the broadcast `signature`. Optionally poll `GET /tx/:signature` for confirmation. Never send a private key to this MCP server or the REST API. Backed by POST /tx/build/:action.agent_access_statusIdentity, current entitlement, daily usage and access instructions; explains missing/refused subscriber tools.crypto_exit_checkCompare four BTC sell sizes by rung/bracket. Withholds stale/future, uncovered or unconverted venues. Fees excluded; no trade clearance.crypto_funding_costCaller-input perpetual funding, fees, net carry and linear break-even. Positive funding: longs pay shorts. Constant-rate scenario, not forecast.crypto_portfolio_stressCaller-input linear shocks for 20 exposures: P&L, equity, asset/venue concentration. Symbols are scenario labels. No liquidation/probability model.depth_episodesRealized BTC depth-collapse onset, trough, recovery under preregistered rules. Zero is distinct from missing. Subscriber exit_desk_full adds ETH.exit_costBTC nearest-rung sell estimates, interpolated bid-depth bands; fees excluded, not executable. crypto_exit_check compares sizes/freshness.gold_cash_realisationCalculate gold sale proceeds and cash gates from caller inputs. Decimal strings: kg, fineness (0,1], USD/troy-oz bid, USD fees, currency/USD FX (USD=1). Use aware ISO clocks. Returns arithmetic and withheld-cash reasons; no fetch, storage, execution or verified balance.latest_articleRead the latest published editorial: title, full text, URL, clock and quality receipt. No arguments. Missing text or failed receipt returns an error; no generated prose. Use liquidity_tiers for board data.liquidity_tiersNine segment tiers, Seiche funding, measure counts and replay/withholding reasons. PARTIAL means missing history or unpassed replay, never calm.market_corpus_contextInspect corpus coverage, rights and clocks. Summary takes no pagination; other views return records/total/next_offset. Retrieval age is not observation freshness. Use liquidity_tiers for market readings.research_networkFind cross-product source metadata, clocks, rights and next steps. Follow next_offset; unavailable flags retrieval, contract or size failure. Use market_corpus_context for local corpus counts. No shared score or authority.sealed_recordForward calls sealed/signed before outcomes: hits, misses, decided counts, ledger root. Report hits and misses together.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"-agentfund-mcp": {
"command": "npx",
"args": [
"-y",
"@agentfund/mcp"
]
}
}
}
{
"mcpServers": {
"undertow-market-liquidity-map-2": {
"url": "https://api.seiche.info/undertow/mcp"
}
}
}