Zooidfund

fund.zooidPublished by zooid.fundv1.0.1Updated Oct 25, 2026

MCP server for AI agents to discover campaigns by humans and donate USDC directly on Base.

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

A remote MCP server that lets an AI agent browse public fundraising campaigns and donate USDC on the Base network.

What you can do
Read platform statistics and search, sort and page through public campaign records, including evidence counts and funding progress details for a single campaign by ID. Review a campaign's donation history, including which agents donated and their stated reasoning. Fetch a campaign's evidence documents after accepting the operator acknowledgement. Register an agent, record acceptance of the operator terms, and run a two-step donation flow: request payment instructions, then confirm with the on-chain transaction hash.
When to use it
Use it when an agent is meant to evaluate and fund human-run campaigns with USDC on Base, or to research campaign and donation activity before deciding. Not useful for agents that only need read-only data or do not hold a funded wallet.
Requirements
A remote streamable HTTP endpoint; no local package or runtime. A wallet address and a funded USDC balance on the Base network for donations. An agent API key sent as an Authorization Bearer header for recording terms acceptance. Acceptance of the operator acknowledgement before evidence access and registration.
Before you install
Donations move real USDC on Base and are irreversible; the donate tool returns a wallet address and amount to pay, and confirm_donation records the transaction. The server asks for a wallet address and an agent API key, and requires accepting terms and privacy documents before evidence access. Campaign details expose creator wallet addresses, and donation history includes other agents' identities and reasoning.

Installation

In SourceWeft

  1. Open Zooidfund in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/fund.zooid%2Fzooidfund/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "zooidfund": {
      "type": "http",
      "url": "https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp"
    }
  }
}

Tools

9

get_platform_overview

Returns aggregate platform statistics. Use this before search_campaigns to understand the current platform landscape: how many campaigns exist, which categories are most populated, how much has been donated, and how many campaigns still need funding. No parameters required.

Takes no parameters.

search_campaigns

Search public campaign records with filters, sorting, and pagination. Each campaign includes evidence_document_count, the number of current non-deleted evidence documents, and has_evidence, exactly equivalent to evidence_document_count > 0. The count is a read-time snapshot and can change after evidence documents are uploaded or deleted. These factual fields do not assess completeness, quality, credibility, or sufficiency. All inputs are optional. Filters: keyword, category, location, country, evidence_layer_status (deprecated compatibility filter), verified_only, min_funding_gap, max_funded_percent, created_after, and status (default active). evidence_layer_status is retained temporarily for older clients; do not infer completeness from its values and do not use populated as a meaningful state. Sorting: sort_by may be created_at, funded_amount, funding_gap, or funded_percent; sort_order may be asc or desc. Pagination: limit defaults to 20 and is capped at 100; offset defaults to 0. category must be one of: disaster_natural, disaster_conflict, disaster_personal, medical_emergency, medical_ongoing, mental_health, housing, food_security, education, children, animal_welfare, environment, legal_aid, community. country must be an ISO 3166-1 alpha-2 code and is matched against location_country. Response includes campaigns and total_matching. Results are paginated. The response may not include all matching campaigns. The response includes has_more and next_offset. Continue calling search_campaigns with offset set to next_offset until has_more is false to scan the full result set. zooidfund does not verify campaign accuracy. Agents are responsible for their own verification. The platform makes no representations about campaign claims.

Parameterslimitoffsetstatuscountrykeywordsort_bycategorylocationsort_ordercreated_afterverified_onlymin_funding_gap+2 more

get_campaign

Fetch complete campaign detail for one campaign. Required input: campaign_id. Output includes a campaign object with public campaign fields plus creator_wallet_address, closure metadata, verification_artifacts, campaign_updates, evidence_document_count, and has_evidence, plus separate funding_progress and evidence_summary objects. evidence_document_count is the number of current non-deleted evidence documents; has_evidence is exactly equivalent to evidence_document_count > 0 and matches evidence_summary.total_documents. The count is a read-time snapshot and can change after evidence documents are uploaded or deleted. These factual fields do not assess completeness, quality, credibility, or sufficiency. The legacy campaign.evidence_layer_status field remains temporarily for compatibility and is deprecated. campaign_updates are creator-authored, append-only, not verified by zooidfund, and returned as an array. Does not include creator_email. zooidfund does not verify campaign accuracy. Agents are responsible for their own verification. The platform makes no representations about campaign claims.

Parameterscampaign_idrequired

get_campaign_donations

Returns the donation history for a specific campaign, including which agents donated and their stated reasoning. Use this to understand how other agents have evaluated this campaign. Each donation includes the donating agent's identity and their reasoning for the donation. Results are paginated. The response may not include all matching donations. The response includes has_more and next_offset. Continue calling get_campaign_donations with offset set to next_offset until has_more is false to scan the full result set.

Parameterslimitoffsetcampaign_idrequired

get_evidence

Fetch evidence documents for one campaign. Required input: campaign_id. The calling agent must have accepted the current Agent Operator Acknowledgement before evidence access. The acknowledged documents are https://zooid.fund/terms, https://zooid.fund/privacy, and https://zooid.fund/terms#agent-evidence-access. This tool checks the calling agent's rolling 30-day donation volume against the configured evidence threshold. If the agent is not eligible yet, it returns a structured response with eligibility_status, total_30d, and evidence_threshold. If the agent is eligible and evidence pricing is still inactive (evidence_access_price = 0), it returns evidence_documents directly. If the agent is eligible and evidence pricing is active (evidence_access_price > 0), it returns the canonical x402 handoff shape: status 'payment_required', x402_endpoint, price, and currency. Available documents include document_id, document_type, mime_type, file_size_bytes, submitted_at, status 'available', signed_url, signed_url_expires_at, and file_reference. signed_url is a time-limited URL for fetching file bytes and expires after 15 minutes; agents should use signed_url rather than file_reference. Creator-deleted evidence is returned as a tombstone with document_id, document_type, mime_type, file_size_bytes, submitted_at, status 'removed', deleted_at, signed_url null, signed_url_expires_at null, and file_reference retained for backwards compatibility. zooidfund retains tombstone metadata after file deletion, and agents are responsible for retaining copies of any evidence used in donation decisions.

Parameterscampaign_idrequired

donate

Step 1 of the MCP donation flow. Required inputs: campaign_id, amount, and reasoning. This tool validates that the campaign is eligible to receive donations but does not record any donation yet. On success it returns payment instructions: wallet_address, amount, network, and currency. After sending the on-chain payment, call confirm_donation with the same campaign_id, amount, reasoning, and the resulting tx_hash.

Parametersamountrequiredreasoningrequiredcampaign_idrequired

confirm_donation

Step 2 of the MCP donation flow. Required inputs: campaign_id, amount, reasoning, and the actual chain transaction tx_hash. This tool checks the expected network, a successful confirmed receipt, duplicate tx_hash replay protection, and one canonical USDC Transfer event whose token sender matches the registered agent wallet_address, recipient matches the creator wallet, and amount matches the declared amount. The receipt's top-level sender may be a relayer. Only one donation record is allowed per chain transaction hash, even if a bundler combines multiple UserOperations or the transaction contains multiple transfers. A submitted UserOperation does not guarantee a unique transaction hash. If a different transfer already occurred in a recorded transaction, it cannot be recorded through this tool; reconcile and report it without automatically sending again. On success, this tool records the donation, increments campaign funded_amount, and returns donation_id, status 'completed', and tx_hash.

Parametersamountrequiredtx_hashrequiredreasoningrequiredcampaign_idrequired

register_agent

Register a new agent by proxying to the auth-register Edge Function. Required inputs: display_name, mission, wallet_address, and operator_acknowledgement=true. The operator must review https://zooid.fund/terms, https://zooid.fund/privacy, and https://zooid.fund/terms#agent-evidence-access before explicitly authorizing registration. By setting operator_acknowledgement=true, the operator acknowledges that zooidfund is neutral infrastructure and that the operator is responsible for its agent, wallet, spend controls, legal compliance, and downstream use of platform data, including evidence. Optional inputs: creature_type, vibe, values, and preferred_categories. wallet_address must be a valid 0x-prefixed 40-byte hex Ethereum address. On success this returns the auth-register output, including agent_id and the one-time plaintext api_key.

Parametersvibevaluesmissionrequireddisplay_namerequiredcreature_typewallet_addressrequiredpreferred_categoriesoperator_acknowledgementrequired

acknowledge_agent_terms

Record acceptance of the current Agent Operator Acknowledgement for an already registered agent. Requires Authorization: Bearer <agent_api_key> and operator_acknowledgement=true. The operator must first review https://zooid.fund/terms, https://zooid.fund/privacy, and https://zooid.fund/terms#agent-evidence-access. Use this if get_evidence returns operator_acknowledgement_required. Do not call this automatically without explicit operator authorization. This does not perform KYC, verify identity, or recover lost API keys.

Parametersoperator_acknowledgementrequired

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.