Skip to main content
Glama
kuyen-labs

Fuul MCP Server

by kuyen-labs

send_batch_events

Send up to 100 conversion events in a single atomic batch for backfills and bulk ingestion. Validate with a dry run, then confirm to execute.

Instructions

Send up to 100 conversion events: POST /api/v1/events/batch. For backfills and bulk ingestion; processing is atomic (all succeed or all fail). Duplicate dedup_id values are silently ignored; response includes ingested_events count. Auth: project API key only (pass project_api_key or set env FUUL_MCP_PROJECT_API_KEY). Dashboard OAuth from fuul-mcp login is not accepted on these routes. dry_run then confirmed. Rate limit: 10 requests/minute. If the API returns HTTP 429, wait Retry-After seconds (if present) before retrying.

args shape for value/revenue: Same as send_event — each event in the batch can include args.value and/or args.revenue as { amount: string, currency: {...} }. See send_event description for currency formats and amount encoding.

Example dry_run: {"events":[{"name":"swap","user_identifier":"0x...","user_identifier_type":"evm_address","dedup_id":"id-1","args":{"value":{"amount":"5000000000","currency":{"identifier":"0xa0b...","identifier_type":"evm_contract","chain_identifier":"evm:1"}}}}],"dry_run":true}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_api_keyNoProject API key used as Bearer for this request. Falls back to FUUL_MCP_PROJECT_API_KEY when omitted.
dry_runNoIf true, validate and return a preview only; no server mutation.
confirmedNoMust be true to perform the mutation after reviewing dry_run output.
eventsYesUp to 100 events per request; atomic batch. Duplicate dedup_id values are silently skipped.
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses atomicity, silent duplicate ignoring, response structure (ingested_events count), auth requirements (project API key only, not OAuth), rate limit (10 req/min), and Retry-After handling.

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?

Description is lengthy but well-structured with sections and code examples. Front-loaded with key details. Could be slightly more concise but remains clear and efficient.

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

Completeness4/5

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

Given the tool's complexity (batch, atomic, auth, rate limiter, dry_run), the description covers all essential aspects. No output schema, but response description (ingested_events count) is provided. Adequate for correct usage.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. Description adds value by explaining dry_run/confirmed workflow, auth fallback, and args structure for value/revenue, going beyond schema definitions.

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

Purpose5/5

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

Description states a specific verb ('send'), resource ('up to 100 conversion events'), and HTTP endpoint. It distinguishes from sibling send_event by emphasizing batch and atomic processing.

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?

Explicitly states when to use ('for backfills and bulk ingestion') and mentions dry_run then confirmed workflow. However, it does not explicitly state when not to use (e.g., for single events where send_event is more appropriate).

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kuyen-labs/mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server