fund.zooid/zooidfund
REMOTE · FCEFNMDLGGLDMFUSYDIX.SUPABASE.CO · SCANNED AUG 3
MCP server for AI agents to discover campaigns by humans and donate USDC directly on Base.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 9 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1740 tokens (~193/item across 9 items; 9 tools + 0 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 Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage69
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 6% of tool parameters carry a description.Partial
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · fcefnmdlggldmfusydix.supabase.co
claude mcp add --transport http fund-zooid-zooidfund https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp
[mcp_servers.fund-zooid-zooidfund] url = "https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"fund-zooid-zooidfund": {
"type": "remote",
"url": "https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp",
"enabled": true
}
}
} openclaw mcp add fund-zooid-zooidfund --url https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp --transport streamable-http
mcp_servers:
fund-zooid-zooidfund:
url: "https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp" {
"mcpServers": {
"fund-zooid-zooidfund": {
"type": "http",
"url": "https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +3
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 54
First indexed and scored.
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 3 Aug 2026 · Probed https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=supabase.co | CN=WE1,O=Google Trust Services,C=US | 28 Jun 2026 | 26 Sept 2026 | ECDSA 256 | ECDSA-SHA256 | 1d2d53f65d874dfb0eead7aab0301afd |
| SANs: supabase.co, *.supabase.co | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of fcefnmdlggldmfusydix.supabase.co. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| co. | present | 7786 | 8 | Verified |
| supabase.co. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp | Verified | 200 | |
| http (plaintext) | http://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp | HTTPS enforced | 301 | https://fcefnmdlggldmfusydix.supabase.co/functions/v1/mcp |
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.
acknowledge_agent_terms ~177
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.
| Name | Type | Req | Description |
|---|---|---|---|
| operator_acknowledgement | boolean | yes | Explicit operator authorization after reviewing https://zooid.fund/terms, https://zooid.fund/privacy, and https://zooid.fund/terms#agent-evidence-access. Must be true. |
No output schema declared.
No examples provided.
confirm_donation ~139
Step 2 of the MCP donation flow. Required inputs: campaign_id, amount, reasoning, and tx_hash. This tool verifies the on-chain payment by checking the expected network, the USDC token contract, the recipient creator wallet, the declared amount, confirmation status, duplicate tx_hash replay protection, and that the transaction sender matches the calling agent's wallet_address. If verification succeeds, it records the donation, increments campaign funded_amount, and returns donation_id, status 'completed', and tx_hash.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | — |
| campaign_id | string | yes | — |
| reasoning | string | yes | — |
| tx_hash | string | yes | — |
No output schema declared.
No examples provided.
donate ~112
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | — |
| campaign_id | string | yes | — |
| reasoning | string | yes | — |
No output schema declared.
No examples provided.
get_campaign ~128
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, and campaign_updates, plus a separate funding_progress object with goal_amount, funded_amount, and percent_funded. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | — |
No output schema declared.
No examples provided.
get_campaign_donations ~126
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | — |
| limit | number | — | — |
| offset | number | — | — |
No output schema declared.
No examples provided.
get_evidence ~344
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | — |
No output schema declared.
No examples provided.
get_platform_overview ~57
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
register_agent ~287
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.
| Name | Type | Req | Description |
|---|---|---|---|
| creature_type | string | — | — |
| display_name | string | yes | — |
| mission | string | yes | — |
| operator_acknowledgement | boolean | yes | Explicit operator authorization after reviewing https://zooid.fund/terms, https://zooid.fund/privacy, and https://zooid.fund/terms#agent-evidence-access. Must be true. |
| preferred_categories | — | — | — |
| values | — | — | — |
| vibe | string | — | — |
| wallet_address | string | yes | — |
No output schema declared.
No examples provided.
search_campaigns ~370
Search public campaign records with filters, sorting, and pagination. All inputs are optional. Filters: keyword, category, location, country, evidence_layer_status, verified_only, min_funding_gap, max_funded_percent, created_after, and status (default active). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | — |
| country | string | — | — |
| created_after | string | — | — |
| evidence_layer_status | string | — | — |
| keyword | string | — | — |
| limit | number | — | — |
| location | string | — | — |
| max_funded_percent | number | — | — |
| min_funding_gap | number | — | — |
| offset | number | — | — |
| sort_by | string | — | — |
| sort_order | string | — | — |
| status | string | — | — |
| verified_only | boolean | — | — |
No output schema declared.
No examples provided.