Skip to main content
Glama

Donate USDC to Immersive Commons via x402 (public)

ic_donate

Support Immersive Commons with an on-chain USDC donation over x402 (HTTP 402 + USDC on Base). No auth required. Returns the donation tiers, the receiving wallet (payTo), the asset + network, and the donate URL. MCP can't run the in-band 402 handshake itself, so to donate: POST https://www.immersivecommons.com/api/x402/donate with an x402 X-PAYMENT header (sign an EIP-3009 USDC authorization for one of the tier amounts to payTo on the given network); the first call with no X-PAYMENT returns a 402 listing every tier in accepts[]. Optional donor { name, message } can be sent in the JSON body and appear on the public donor wall at /donate. Args: { tier?: string (a tier label, case-insensitive — narrows tiers[] to that single tier and adds selected_tier with the exact atomic USDC amount to sign; an unknown label returns error_kind:"validation" naming the valid labels) }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tierNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / tier
      Added value: +{
      +  "maxLength": 64,
      +  "minLength": 1,
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by disclosing that the first call without X-PAYMENT returns a 402 listing tiers in accepts[], that unknown tier labels return error_kind:'validation', and that MCP cannot run the 402 handshake itself. This prevents an agent from incorrectly assuming a donation was executed. No contradiction with the annotations is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but information-dense; every clause contributes protocol-critical detail, including the manual POST steps that are necessary because the tool cannot complete the handshake. A more structured layout separating the tool's return behavior from the manual donation instructions would improve scannability, but there is no real fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fully enumerates the return contents, the 402 flow, error behavior, optional donor body fields, and the donor wall location. It also explains how to complete the donation and what values to sign, so an agent has enough context to invoke the tool and act on the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only defines a bare optional 'tier' string with 0% description coverage, so the description must carry the full burden. It does so thoroughly: tier is case-insensitive, narrows tiers[] to one tier, adds selected_tier with the exact atomic USDC amount, and unknown labels return validation errors naming valid labels. An agent can validate and construct the argument correctly without any additional documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states that the tool returns donation tiers, the payTo wallet, asset + network, and a donate URL, so an agent knows the expected output. It is slightly less crisp because the title says 'Donate' while the body clarifies that MCP cannot execute the x402 handshake itself, leaving the tool's exact role somewhat implicit. It is still clearly distinguished from the sibling read/list tools by its donation-specific scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says no auth is required and gives a manual POST procedure for completing the donation, so an agent understands that the actual payment must happen out-of-band. It does not explicitly compare this tool to siblings such as ic_donations_total, but the context is clear enough to prevent misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.