Multi-agent system for matching YouTube creators with brand sponsorship opportunities. Includes YouTube search, calendar scheduling, and match scoring via MCP servers.
11 tools with mixed quality. Naming is generally good (verb-noun pattern: get_, create_, search_, list_). Descriptions present but often generic, many lack WHEN to use guidance or prerequisites. Schemas visible for all tools with proper JSON Schema structure, but parameter descriptions are sparse or missing context. No output schemas documented. Error handling minimal, tools return plain strings without recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Database tools lack validation details; YouTube tools lack rate-limit or quota documentation.
Check available time slots on a given date.
Create a calendar event / intro call.
Retrieve all active brand campaigns from the database. Use this tool when a creator wants to find brand sponsors, or when the agent needs to know what brands are looking for creators.
Fetch detailed statistics for a specific YouTube channel.
Get recent videos from a YouTube channel with engagement metrics.
Retrieve past match results from the database. Use this to show the user what matches have been made previously. Can filter by brand name or show all matches.
No output schemas documented. Tools return plain strings (e.g., get_active_brand_campaigns, get_match_history) or dicts without field definitions. LLMs cannot plan downstream calls or extract structured data reliably.
Minimal parameter descriptions. Tools like check_availability, get_channel_details, list_upcoming_events have 1-2 word descriptions ('Check available time slots', 'Fetch detailed statistics'). Missing WHEN to use, constraints, and dependencies.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
List upcoming calendar events.
Resolve a YouTube @handle, custom URL, or channel name to a channel ID.
Resolve relative scheduling phrases into an exact ISO date deterministically. Supported phrases: - today - tomorrow - this <weekday> (Monday ... Sunday) - next <weekday> (Monday ... Sunday, always in the following week)
Save a successful brand-creator match to the database. Call this after scoring confirms a good match. The match is stored for future reference and reporting.
Search for YouTube channels matching a query. Returns channels with subscriber count >= 1000, filtering out channels with hidden stats or zero videos.
No error handling guidance. Tools return plain error strings ('Database not initialized...') without recovery steps. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint. Agents cannot distinguish safe reads from destructive writes (save_match_result, create_meeting) without explicit hints.
Missing rate-limit and quota documentation. YouTube tools (search_youtube_creators, get_channel_details, get_channel_videos) do not document API quotas, rate limits, or retry guidance. Agents may exhaust quotas without warning.