{
 "set": "tool-search-v1",
 "set_created": "2026-10-03T13:40:00Z",
 "set_sha256": "4ade1e65e5de79736a148dde31cf5709c0c56a6530dfde6f4034a29c19c038fb",
 "set_url": "https://7it.co.il/7maps/search-eval/tool-search-v1.json",
 "month": "2026-10",
 "run_at": "2026-10-03T13:43:18.168Z",
 "target": "https://7it.co.il/api/toolsearch",
 "params": {
  "level": "any",
  "open": 1,
  "limit": 10,
  "note": "find_tool defaults"
 },
 "tools_indexed": 251975,
 "servers_indexed": 21824,
 "request_errors": 0,
 "metrics": {
  "jobs": 133,
  "p_at_1": 0.774,
  "p_at_5": 0.678,
  "ndcg_at_5": 0.689,
  "mrr": 0.863,
  "answering_top5_share": 0.985,
  "no_relevant_top10": 1,
  "median_latency_ms": 697,
  "median_server_ms": 412
 },
 "by_category": {
  "email": {
   "jobs": 6,
   "p_at_5": 0.567,
   "ndcg_at_5": 0.608,
   "mrr": 0.774
  },
  "calendar": {
   "jobs": 5,
   "p_at_5": 0.72,
   "ndcg_at_5": 0.731,
   "mrr": 0.85
  },
  "database": {
   "jobs": 7,
   "p_at_5": 0.543,
   "ndcg_at_5": 0.492,
   "mrr": 0.636
  },
  "web search": {
   "jobs": 5,
   "p_at_5": 0.48,
   "ndcg_at_5": 0.536,
   "mrr": 0.8
  },
  "payments": {
   "jobs": 6,
   "p_at_5": 0.733,
   "ndcg_at_5": 0.748,
   "mrr": 0.889
  },
  "files": {
   "jobs": 5,
   "p_at_5": 0.68,
   "ndcg_at_5": 0.752,
   "mrr": 1
  },
  "code repository": {
   "jobs": 6,
   "p_at_5": 0.633,
   "ndcg_at_5": 0.688,
   "mrr": 0.917
  },
  "CRM": {
   "jobs": 5,
   "p_at_5": 0.84,
   "ndcg_at_5": 0.829,
   "mrr": 0.85
  },
  "docs and knowledge": {
   "jobs": 6,
   "p_at_5": 0.433,
   "ndcg_at_5": 0.57,
   "mrr": 1
  },
  "maps and geo": {
   "jobs": 5,
   "p_at_5": 0.8,
   "ndcg_at_5": 0.816,
   "mrr": 1
  },
  "weather": {
   "jobs": 4,
   "p_at_5": 0.7,
   "ndcg_at_5": 0.708,
   "mrr": 0.875
  },
  "translation": {
   "jobs": 4,
   "p_at_5": 0.8,
   "ndcg_at_5": 0.752,
   "mrr": 0.75
  },
  "scraping": {
   "jobs": 5,
   "p_at_5": 0.56,
   "ndcg_at_5": 0.542,
   "mrr": 0.633
  },
  "images": {
   "jobs": 5,
   "p_at_5": 0.64,
   "ndcg_at_5": 0.659,
   "mrr": 0.867
  },
  "analytics": {
   "jobs": 5,
   "p_at_5": 0.64,
   "ndcg_at_5": 0.571,
   "mrr": 0.767
  },
  "ticketing": {
   "jobs": 5,
   "p_at_5": 0.52,
   "ndcg_at_5": 0.549,
   "mrr": 0.733
  },
  "chat": {
   "jobs": 5,
   "p_at_5": 0.76,
   "ndcg_at_5": 0.794,
   "mrr": 1
  },
  "storage": {
   "jobs": 4,
   "p_at_5": 0.8,
   "ndcg_at_5": 0.814,
   "mrr": 1
  },
  "auth and identity": {
   "jobs": 4,
   "p_at_5": 0.8,
   "ndcg_at_5": 0.761,
   "mrr": 0.875
  },
  "monitoring": {
   "jobs": 6,
   "p_at_5": 0.633,
   "ndcg_at_5": 0.471,
   "mrr": 0.639
  },
  "spreadsheets": {
   "jobs": 3,
   "p_at_5": 0.467,
   "ndcg_at_5": 0.582,
   "mrr": 1
  },
  "project management": {
   "jobs": 3,
   "p_at_5": 0.8,
   "ndcg_at_5": 0.823,
   "mrr": 1
  },
  "finance data": {
   "jobs": 3,
   "p_at_5": 0.8,
   "ndcg_at_5": 0.836,
   "mrr": 1
  },
  "crypto": {
   "jobs": 2,
   "p_at_5": 0.9,
   "ndcg_at_5": 0.831,
   "mrr": 0.75
  },
  "audio and video": {
   "jobs": 4,
   "p_at_5": 0.8,
   "ndcg_at_5": 0.846,
   "mrr": 1
  },
  "social media": {
   "jobs": 2,
   "p_at_5": 0.6,
   "ndcg_at_5": 0.67,
   "mrr": 1
  },
  "ecommerce": {
   "jobs": 3,
   "p_at_5": 0.733,
   "ndcg_at_5": 0.738,
   "mrr": 0.833
  },
  "dev infrastructure": {
   "jobs": 5,
   "p_at_5": 0.88,
   "ndcg_at_5": 0.86,
   "mrr": 0.9
  },
  "notes and memory": {
   "jobs": 2,
   "p_at_5": 0.6,
   "ndcg_at_5": 0.67,
   "mrr": 1
  },
  "utilities": {
   "jobs": 3,
   "p_at_5": 0.867,
   "ndcg_at_5": 0.913,
   "mrr": 1
  }
 },
 "comparison": [
  {
   "name": "Glama",
   "site": "https://glama.ai/",
   "checked": "2026-10-03",
   "comparable": false,
   "reason": "Not comparable. The tool search API (https://glama.ai/api/mcp/v1/servers) answers 401 without an API key tied to a Glama account; robots.txt (https://glama.ai/robots.txt) disallows /api/ for all user agents; and the terms (https://glama.ai/policies/terms-of-service, section 15.6) forbid using the API data to benchmark a product that competes with the Glama directory and forbid scraping the website to obtain data the API gates. So 7Maps does not query Glama for this evaluation.",
   "urls": [
    "https://glama.ai/api/mcp/v1/servers",
    "https://glama.ai/robots.txt",
    "https://glama.ai/policies/terms-of-service"
   ]
  }
 ],
 "jobs": [
  {
   "id": "email-1",
   "cat": "email",
   "job": "send a transactional email to a customer",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.854,
   "rr": 1,
   "answered_top5": 1,
   "matched": 9985,
   "latency_ms": 500,
   "server_ms": 256,
   "top": [
    {
     "tool": "send_transactional_email",
     "server": "io.github.wilmendezofficial/postari",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Envía un correo transaccional 1-a-1 (cotización, recibo, bienvenida, recordatorio) a UNA dirección, usando una plantilla y variables. Síncrono. Requiere scope `"
    },
    {
     "tool": "email.transactional.send",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "⚡ ACTION: Send transactional email — plain text or HTML body, multiple recipients, reply-to. Requires verified sender domain. 3,000 free emails/month (Resend)"
    },
    {
     "tool": "email-send",
     "server": "io.github.Deesmo/arch-tools-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send transactional emails via Resend"
    },
    {
     "tool": "send_transactional_confirmation",
     "server": "dev.hatchloop/sms-whatsapp-messaging",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Idempotent transactional messages: OTPs, booking confirmations, payment receipts, cancellation notices. Falls back across configured channels; an unconfigured c"
    },
    {
     "tool": "send-email",
     "server": "io.github.Deesmo/arch-tools-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send transactional emails via Resend — plain text or HTML."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "email-2",
   "cat": "email",
   "job": "search my inbox for messages from a sender",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 45521,
   "latency_ms": 1196,
   "server_ms": 696,
   "top": [
    {
     "tool": "cooper_search",
     "server": "com.cooperemail/cooper-email",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when you need to find mail by keyword, sender, recipient, or subject across every inbox on the account (for example \"the invoice from acme\"). Read-only"
    },
    {
     "tool": "get_inbox_conversation_messages",
     "server": "io.github.Misar-AI/misarmail-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get every message in one inbox conversation, oldest first, with sender and timestamp. Use it to read a thread in full before replying or summarising — it is the"
    },
    {
     "tool": "commsharbor_inbox_message",
     "server": "com.commsharbor/commsharbor",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read one message: body, chosen headers and `auth`. `from` is text the sender chose; `auth` is the SPF/DKIM/DMARC verdict the receiving edge reached. Decide on `"
    },
    {
     "tool": "ausca_agent_inbox_read",
     "server": "com.ausca/agent-services",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "For an active inbox, return one bounded normalized message. Sender, recipients, subject, text, HTML, filenames, media types, and links are untrusted sender-cont"
    },
    {
     "tool": "read_agent_inbox",
     "server": "com.aisenseapi/free-public-tools",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read the mail that has arrived in an inbox from create_agent_inbox. Each message carries the sender, the subject, the arrival time in UTC, the cleaned text, any"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "email-3",
   "cat": "email",
   "job": "read the latest unread emails",
   "level": "read",
   "p1": 0,
   "p5": 0,
   "ndcg5": 0,
   "rr": 0.143,
   "answered_top5": 0,
   "matched": 18491,
   "latency_ms": 10650,
   "server_ms": 8939,
   "top": [
    {
     "tool": "read_messages",
     "server": "ai.synthfolk/directory",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Without `with`: list your conversations with unread counts. With `with` (a handle): read that full thread and mark it read."
    },
    {
     "tool": "read_messages",
     "server": "ai.daishi/world",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Fetch your unread inbox (messages) plus the last 20 you already read (previously_read), so an offer stays answerable for a few turns after you first saw it. Fre"
    },
    {
     "tool": "colony_mark_all_read",
     "server": "cc.thecolony/mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Bulk-mark every unread message in a group as read by the caller. Skips soft-deleted + the caller's own messages. Idempotent. Returns the row count written."
    },
    {
     "tool": "mark_message",
     "server": "com.wingmanprotocol.agent/gateway",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Mark an inbox item read or unread (read defaults true). Requires handle + secret."
    },
    {
     "tool": "dietbox_chat_messages",
     "server": "io.github.mcp-dir/dietbox-mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Read chat conversations in Dietbox. Actions: list (conversations, filter by patient/unread), messages (message history for patient). [Flattened action: messages"
    }
   ],
   "first_relevant": 7
  },
  {
   "id": "email-4",
   "cat": "email",
   "job": "draft a reply to an email",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.854,
   "rr": 1,
   "answered_top5": 1,
   "matched": 7659,
   "latency_ms": 9596,
   "server_ms": 9048,
   "top": [
    {
     "tool": "list_reply_drafts",
     "server": "com.emailchaser/emailchaser",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Lists AI-suggested reply drafts awaiting review, newest first, 20 per page. Each draft answers the inbound reply referenced by inReplyToEmailId. Nothing here ha"
    },
    {
     "tool": "generate_reply_draft",
     "server": "com.mentiondrop/mentiondrop",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Generate a draft reply or outreach email for one processed mention. Returns draft text for a human to review and never posts, sends, or publishes anything."
    },
    {
     "tool": "reply",
     "server": "io.github.moralito311-andr/andreax",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Draft a reply to a message (email, chat, ticket). For support agents. input=message. [x402: 0.003 USDC on Base, pay-per-use]"
    },
    {
     "tool": "create_inbox_reply_suggestion",
     "server": "io.favcrm/favcrm",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Create a draft reply suggestion that appears inline in the FavCRM Inbox composer. Use this for message.inbound events with replyPolicy=\"suggest\"; it does not se"
    },
    {
     "tool": "get_inbound_mail",
     "server": "bot.mailbox/mailbox",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get one forwarded inbound mail item with compact draft_context by default. Use this before drafting an outbound reply when you need sender context, reply contac"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "email-5",
   "cat": "email",
   "job": "check whether an email address is deliverable",
   "level": "read",
   "p1": 0,
   "p5": 0.2,
   "ndcg5": 0.214,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 46949,
   "latency_ms": 947,
   "server_ms": 648,
   "top": [
    {
     "tool": "check_email",
     "server": "dev.mailverdict/mailverdict",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Check an email address: syntax, disposable/burner domain, role account, free provider, typo suggestion, MX records. Returns result (deliverable|undeliverable|ri"
    },
    {
     "tool": "verify_emails",
     "server": "io.github.Misar-AI/misarreach-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Check whether email addresses are deliverable, one or up to 20 at a time. Run this before a send to protect sender reputation — bouncing a campaign off dead add"
    },
    {
     "tool": "verify_email",
     "server": "im.peoplesearch/email-finder",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Check whether an email address exists and is safe to send to, before it bounces. Returns a deliverability verdict (deliverable, undeliverable, or unknown) witho"
    },
    {
     "tool": "verify_address",
     "server": "tech.interpretai/PostAgent",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Standalone paid address verification — no mail is sent. Checks whether an address is deliverable and returns the standardized form (US: CASS with ZIP+4; interna"
    },
    {
     "tool": "verify_email",
     "server": "ai.verifox/email-verifier",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Verify whether ONE email address is deliverable. Checks syntax, MX, SMTP, catch-all, disposable, free-provider and role detection, and returns a 0-100 quality s"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "email-6",
   "cat": "email",
   "job": "add a subscriber to an email marketing list",
   "level": "change",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.723,
   "rr": 1,
   "answered_top5": 1,
   "matched": 57891,
   "latency_ms": 8525,
   "server_ms": 8295,
   "top": [
    {
     "tool": "add_subscriber_to_list",
     "server": "io.github.wilmendezofficial/postari",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Añade un contacto (por email o contact_id) a una lista."
    },
    {
     "tool": "create_landing_page",
     "server": "io.github.Misar-AI/misarmail-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create a hosted landing page with an email capture form. Returns the public URL; subscribers flow straight into your contact list."
    },
    {
     "tool": "add_subscriber",
     "server": "com.mailcheer/mailcheer",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Adds or updates a subscriber. By default the person enters as PENDING and receives a confirmation email: that is double opt-in, and it protects the workspace's "
    },
    {
     "tool": "subscribers_add_to_sequence",
     "server": "com.mailrith/mailrith",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Adds the selected subscriber to the selected sequence. If the subscriber is already in the sequence, the API returns the subscriber unchanged. Effect: external-"
    },
    {
     "tool": "subscribers_add_tag",
     "server": "com.mailrith/mailrith",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Adds the selected Tag to a Subscriber. If the Subscriber already has the Tag, the API returns the Subscriber unchanged. Effect: external-email. Retry after read"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "calendar-1",
   "cat": "calendar",
   "job": "create a calendar event for a meeting next Tuesday",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 33326,
   "latency_ms": 909,
   "server_ms": 601,
   "top": [
    {
     "tool": "create_meeting",
     "server": "me.whenmeet/scheduler",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Confirm a meeting: writes the event into the authenticated host’s calendar with an optional Google Meet/Teams link, emails invites with an ICS attachment, and r"
    },
    {
     "tool": "create_event",
     "server": "ai.chronary/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create a booking, appointment, meeting, hold, or any scheduled event on a calendar. The calendar_id comes from create_calendar or list_events. Once created, thi"
    },
    {
     "tool": "hivelearn_create_event",
     "server": "io.github.williamechevarria/hivelearn-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create a calendar event. Dates are ISO 8601 strings in UTC. For virtual events set meeting_url; for in-person set location. event_type controls which field the "
    },
    {
     "tool": "create_booking",
     "server": "com.nolizi.calendar/calendar",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Book a real meeting. This sends invitations and writes to connected calendars, and it cannot be undone except by cancelling. Ask the person to confirm the event"
    },
    {
     "tool": "GetFdaAdvisoryCommitteeMeetings",
     "server": "io.github.daniel3303/equibles",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get scheduled FDA advisory-committee (AdComm) meetings, sourced from the FDA.gov advisory-committee calendar, each with a link to its FDA meeting page. Defaults"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "calendar-2",
   "cat": "calendar",
   "job": "list my calendar events for today",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.786,
   "rr": 1,
   "answered_top5": 1,
   "matched": 36834,
   "latency_ms": 834,
   "server_ms": 488,
   "top": [
    {
     "tool": "list_events",
     "server": "dev.infersports/infersports",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the fixtures for a calendar day — or a bounded [date, date_to] range. Unlike list_today_matches (today + anything still live), this is a strict window for "
    },
    {
     "tool": "calendar__check_events_today",
     "server": "co.civai.nova/support-agent-admin",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Run Google calendar action: check events today"
    },
    {
     "tool": "list_calendar_events",
     "server": "com.veterical/veterical",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when someone asks when their vet clinic is closed or has time blocked for holidays, vacations, sick days, meetings or courses. Returns each block or ex"
    },
    {
     "tool": "list_calendar_events",
     "server": "com.doctofam/doctofam",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when someone asks when their medical practice is closed, or when a doctor or room is blocked for holidays, sick leave, courses, meetings or maintenance"
    },
    {
     "tool": "list_calendar_events",
     "server": "com.dododentist/dododentist",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when someone asks when their dental practice is closed, or when a dentist or chair is blocked for holidays, courses, meetings or maintenance. Returns e"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "calendar-3",
   "cat": "calendar",
   "job": "find a free time slot for three people",
   "level": "read",
   "p1": 0,
   "p5": 0.2,
   "ndcg5": 0.146,
   "rr": 0.25,
   "answered_top5": 1,
   "matched": 63102,
   "latency_ms": 1151,
   "server_ms": 767,
   "top": [
    {
     "tool": "find_meeting_time",
     "server": "ai.chronary/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Find slots when multiple agents are free across Chronary calendars and any human calendars authorized for each agent. This tool is fail-closed: always inspect `"
    },
    {
     "tool": "get_results",
     "server": "dev.workers.notdown-app.whenly/group-meeting-scheduler",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Read the current responses for a Whenly event and get the best meeting times (the slots where the most people are free). Pass the event slug (the code after /e/"
    },
    {
     "tool": "get_results",
     "server": "dev.workers.notdown-app.overlap/group-scheduling-when2meet",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Read the current responses for an Overlap event and get the best meeting times (the slots where the most people are free). Pass the event id (the code after /e/"
    },
    {
     "tool": "find_common_slots",
     "server": "me.whenmeet/scheduler",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Rank the best meeting times for the given participants, merging live Google/Microsoft calendar data, hand-marked availability and the heat-map sources. Each par"
    },
    {
     "tool": "search_available_slots",
     "server": "com.washlib/washlib",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Find open car-wash time slots near a location on a given day. Returns centers with their available slots and busyness level."
    }
   ],
   "first_relevant": 4
  },
  {
   "id": "calendar-4",
   "cat": "calendar",
   "job": "reschedule an existing meeting",
   "level": "change",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.723,
   "rr": 1,
   "answered_top5": 1,
   "matched": 9210,
   "latency_ms": 349,
   "server_ms": 98,
   "top": [
    {
     "tool": "reschedule-meeting",
     "server": "com.printinglabs/printing-labs",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Move a meeting you booked earlier in this conversation to a new slot. Requires the manageToken from book-meeting. Check availability with get-meeting-slots firs"
    },
    {
     "tool": "book-meeting",
     "server": "com.printinglabs/printing-labs",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Book a consultation with the Printing Labs team: creates the Google Calendar event (with Meet link unless Phone Call), registers the meeting, and emails the req"
    },
    {
     "tool": "request_appointment_reschedule",
     "server": "com.precision-concretecoating/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Asks internal JoJo for a different walkthrough time using new preferences. The existing hold stays in place until JoJo replaces it, so a duplicate appointment i"
    },
    {
     "tool": "reschedule_service_booking",
     "server": "com.voicedispatcher/mcp-near-me",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Use this only with the one-time approval issued after the user confirms the exact reschedule inside the protected management form. It moves the existing booking"
    },
    {
     "tool": "get_meeting_availability",
     "server": "me.whenmeet/scheduler",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Aggregated group availability for an existing meeting (the symmetric heat-map): per-30-min-slot counts of how many participants are free, plus ranked slots (per"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "calendar-5",
   "cat": "calendar",
   "job": "cancel a booked appointment",
   "level": "any",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 13616,
   "latency_ms": 721,
   "server_ms": 203,
   "top": [
    {
     "tool": "cancel_booking_as_invitee",
     "server": "com.meettempi/tempi",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Cancels a booking by its id and token. The event is removed from the host's calendar. Paid bookings cancelled before `refundableUntil` are refunded in full. Lat"
    },
    {
     "tool": "cancel_my_booking",
     "server": "com.innergcomplete/shearquery",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Cancel one of the client's own appointments (id from my_bookings). Confirm first, and say what the pro's policy refunds (pro_open_times lists it). How close to "
    },
    {
     "tool": "cancel_appointment",
     "server": "com.bookingmaven/marketplace",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Cancel a booking you made. Requires booking_id and the lookup_token from book_appointment. Safe to retry (idempotent). No account needed."
    },
    {
     "tool": "cancel_appointment",
     "server": "io.github.Anteos-Health/anteos-booking",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Annule un rendez-vous existant. L'annulation est définitive. Requiert le appointment_token reçu lors de la réservation (book_appointment)."
    },
    {
     "tool": "cancel_appointment",
     "server": "com.innergcomplete/shearquery",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Cancel an appointment (id from my_schedule), freeing the time. Confirm with the owner first. Anything the client paid at booking, and any tip, is refunded in fu"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "db-1",
   "cat": "database",
   "job": "run a read-only SQL query on a Postgres database",
   "level": "read",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.384,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 66073,
   "latency_ms": 1297,
   "server_ms": 1018,
   "top": [
    {
     "tool": "postgres__sql_read",
     "server": "ai.duvera/gateway",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "[postgres · risk:low] Execute a read-only SQL query against a Postgres database"
    },
    {
     "tool": "vibekit_db_query",
     "server": "io.github.VibeKit-Bot/vibekit-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Run a read-only SQL query against an app's Postgres database and return up to 200 result rows. SELECT only — writes and DDL (INSERT/UPDATE/DELETE/ALTER/DROP/…) "
    },
    {
     "tool": "architecture_diagram",
     "server": "cloud.redu/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read-only. Fetches EVERY resource on your redu.cloud account (VMs, volumes, private networks, managed databases: Postgres/MySQL/MariaDB/ClickHouse/Redis/Qdrant,"
    },
    {
     "tool": "run_sql",
     "server": "com.strasmore.ai/market-data",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Run one read-only ClickHouse SELECT against the global_markets database and get the rows back. No key needed. Limits on this access: 500 rows and 20 seconds per"
    },
    {
     "tool": "run_sql",
     "server": "ai.drillr/drillr",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "PostgreSQL SELECT over financial / market / alt-data tables — returns structured rows. Hard rules (query fails otherwise): - SELECT only, no CTE (`WITH ... AS`)"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "db-2",
   "cat": "database",
   "job": "list the tables in a MySQL database",
   "level": "read",
   "p1": 0,
   "p5": 0.2,
   "ndcg5": 0.044,
   "rr": 0.2,
   "answered_top5": 1,
   "matched": 24585,
   "latency_ms": 715,
   "server_ms": 293,
   "top": [
    {
     "tool": "goodearth_task_list",
     "server": "io.github.lonniev/goodearth-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "One page of a region's tasks, ordered and filtered by the database. The sorting, the timeframe filter and the search all happen in SQL, so a long list costs one"
    },
    {
     "tool": "list_databases",
     "server": "cloud.redu/mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Lists your managed PostgreSQL databases. Once a row's status is 'ready', it carries the private-network connection details (private_ip, port 5432, db_name, db_u"
    },
    {
     "tool": "civo_list_databases",
     "server": "io.usefulapi/civo",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "List the managed databases (MySQL, PostgreSQL) in a region: software and version, size, nodes, IPs, port, network, firewall and status. Paginated: {page, per_pa"
    },
    {
     "tool": "list_relational_databases",
     "server": "cloud.redu/mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Lists your managed MySQL/MariaDB databases (the relational-database resource). Each row carries its engine ('mysql'|'mariadb'); once status is 'ready' it has th"
    },
    {
     "tool": "list_databases",
     "server": "now.shiply/shiply",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "List the SQL databases (D1 or Neon Postgres) on my account, including which owned site (if any) each is attached to. Call this BEFORE db_query/db_schema-style w"
    }
   ],
   "first_relevant": 5
  },
  {
   "id": "db-3",
   "cat": "database",
   "job": "describe the columns of a database table",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 4543,
   "latency_ms": 251,
   "server_ms": 56,
   "top": [
    {
     "tool": "describe_table",
     "server": "io.github.hashfunction-dev/datasocial-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "One table's columns with types and meanings, its sort key and coverage. Read it before writing SQL on a table."
    },
    {
     "tool": "describe_table",
     "server": "com.strasmore.ai/market-data",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Columns of one table with their ClickHouse types, plus notes on columns whose meaning is not obvious from the name and known data caveats. Call before writing S"
    },
    {
     "tool": "scalix_db_table",
     "server": "world.scalix/cloud",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get detailed information about a specific database table including columns, indexes, and foreign keys."
    },
    {
     "tool": "read_database",
     "server": "dev.genhttp/lambda",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "The lambda's database - its records, shared by every version: whether it is switched on, how full it is, and its tables and views with their columns and how man"
    },
    {
     "tool": "myriade_get_table_schema",
     "server": "ai.myriade/myriade",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the column-level schema for a specific table. Returns column names, data types, and descriptions for the table, plus the SQL `dialect` to use with myriade_q"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "db-4",
   "cat": "database",
   "job": "find documents in a MongoDB collection",
   "level": "read",
   "p1": 0,
   "p5": 0.8,
   "ndcg5": 0.573,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 42083,
   "latency_ms": 912,
   "server_ms": 604,
   "top": [
    {
     "tool": "mongo-url-shape",
     "server": "io.github.sadri-dridi/mongo-url-shape",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Check a MongoDB URL shape. Credentials discarded."
    },
    {
     "tool": "swell_list_orders",
     "server": "io.usefulapi/swell",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List orders, with MongoDB-style filtering, sorting, search, and expansion. Swell backend REST API: GET /orders."
    },
    {
     "tool": "swell_list_products",
     "server": "io.usefulapi/swell",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List products in the store, with MongoDB-style filtering, sorting, search, field selection, and expansion. Swell backend REST API: GET /products."
    },
    {
     "tool": "build_list_data_sources",
     "server": "io.github.supero-platform/supero",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the external DATA SOURCE types an app can connect to — its own Postgres/MySQL/MSSQL/Oracle/MongoDB, any REST API, or a Snowflake/BigQuery/Redshift/Databric"
    },
    {
     "tool": "search_collection",
     "server": "com.docimprint/api",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "Semantic (vector) search across documents in a collection. Returns ranked text chunks with relevance scores. Free — no credits consumed. Use when you need raw m"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "db-5",
   "cat": "database",
   "job": "insert a new row into a database table",
   "level": "change",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.47,
   "rr": 1,
   "answered_top5": 1,
   "matched": 26416,
   "latency_ms": 518,
   "server_ms": 326,
   "top": [
    {
     "tool": "insert_database_rows",
     "server": "io.github.kleaphq/kleap",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Insert up to 500 rows into one table of the app's database. Returns the inserted rows (with generated ids/defaults)."
    },
    {
     "tool": "query_database_rows",
     "server": "io.github.kleaphq/kleap",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Read rows from one table of the app's database. where = exact matches, e.g. {\"status\":\"new\"}. Max 500 rows per call; page with offset while has_more is true."
    },
    {
     "tool": "import_schema",
     "server": "io.github.marcelglaeser/seedbase",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Import a database schema into a project from pasted content: SQL DDL (CREATE TABLE …, raw pg_dump/mysqldump schema output works), SQL INSERT dumps, CSV/TSV, JSO"
    },
    {
     "tool": "create_record",
     "server": "ru.quintadb/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[2]",
     "description": "Створити новий запис у формі (insert row, add entry, new record). ОБОВ'ЯЗКОВО: перед викликом отримай поля через describe_project або get_form_fields і використ"
    },
    {
     "tool": "vibekit_db_query",
     "server": "io.github.VibeKit-Bot/vibekit-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Run a read-only SQL query against an app's Postgres database and return up to 200 result rows. SELECT only — writes and DDL (INSERT/UPDATE/DELETE/ALTER/DROP/…) "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "db-6",
   "cat": "database",
   "job": "get a value from a Redis cache by key",
   "level": "read",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.277,
   "rr": 0.25,
   "answered_top5": 1,
   "matched": 64485,
   "latency_ms": 1063,
   "server_ms": 828,
   "top": [
    {
     "tool": "cache_status",
     "server": "ai.borealhost/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get cache status (Redis, WP object cache, hit rates). Requires: API key with read scope. Args: slug: Site identifier Returns: {\"redis_running\": true, \"object_ca"
    },
    {
     "tool": "cache_flush",
     "server": "ai.borealhost/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Flush all caches (Redis + WP object cache). Requires: API key with write scope. Args: slug: Site identifier Returns: {\"flushed\": true} "
    },
    {
     "tool": "invoke",
     "server": "ai.getvda/memcached-mongodb-redis-compose-generator",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Generate a production-ready docker-compose.yml for a Postgres + Redis (database + cache) stack — health checks, named volumes, PgBouncer pooling, Redis maxmemor"
    },
    {
     "tool": "cc.ma_fetch",
     "server": "io.github.tlefko/central-command",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Call cc.ma_fetch — Multi-period moving average values (SMA/EMA at various lengths) via Coinglass with 30-min cache. Purpose: Multi-period moving average values "
    },
    {
     "tool": "get_health",
     "server": "ai.intodns/scanner",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read-only public health probe for the IntoDNS.ai backend itself, not a target domain. Returns the overall service status and observation timestamp; internal Red"
    }
   ],
   "first_relevant": 4
  },
  {
   "id": "db-7",
   "cat": "database",
   "job": "run a query against a BigQuery or Snowflake data warehouse",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.699,
   "rr": 1,
   "answered_top5": 1,
   "matched": 72441,
   "latency_ms": 1234,
   "server_ms": 1044,
   "top": [
    {
     "tool": "build_list_data_sources",
     "server": "io.github.supero-platform/supero",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the external DATA SOURCE types an app can connect to — its own Postgres/MySQL/MSSQL/Oracle/MongoDB, any REST API, or a Snowflake/BigQuery/Redshift/Databric"
    },
    {
     "tool": "hubvibe_data_query",
     "server": "io.github.Its-fortunatefolly/hubvibe",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "BigQuery SQL: run a read-only SQL query, including against Google's public datasets (Wikipedia, GitHub, blockchains, weather, census and more), and get columns "
    },
    {
     "tool": "canvas_search_icons",
     "server": "io.datadef/mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "When: Use before adding nodes that should show a vendor logo (Snowflake, Kafka, Power BI) and you are unsure of the icon id. Find icon ids in Datadef's library "
    },
    {
     "tool": "hubvibe_data_question",
     "server": "io.github.Its-fortunatefolly/hubvibe",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Ask a database in plain English (text to SQL): any BigQuery table, including Google's public datasets. The SQL is written for you, run under a byte ceiling, and"
    },
    {
     "tool": "get_snowflake_trial_sql",
     "server": "com.dataplex-consulting/healthcare-data",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Copy-paste SQL for an agent INSIDE a Snowflake account to mount a Dataplex listing and start querying trial data in minutes — no browser, no sales call."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "web-1",
   "cat": "web search",
   "job": "search the web for recent news about a company",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.64,
   "rr": 1,
   "answered_top5": 1,
   "matched": 76984,
   "latency_ms": 1412,
   "server_ms": 954,
   "top": [
    {
     "tool": "web_search_exa",
     "server": "ai.exa/exa",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search the web for any topic and get clean, ready-to-use content. Best for: Finding current information, news, facts, people, companies, or answering questions "
    },
    {
     "tool": "web_search",
     "server": "com.claidex/failure-intelligence",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Search the web for recent news, investor commentary, analyst notes, press releases, and conference coverage about drugs, clinical trials, or biomedical mechanis"
    },
    {
     "tool": "web_search",
     "server": "com.youspot/youspot",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search the open web and get back titles, URLs and snippets. Use when the answer is not in the user's own data and not about one named company: what a competitor"
    },
    {
     "tool": "add_web_search",
     "server": "com.proofite/proofite",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Monitor a Google query every day and feed the results into a topic inbox: the standing-search way to follow a company, a person, a law or a niche subject that h"
    },
    {
     "tool": "agentbit.company_research",
     "server": "app.agentbit/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "One-call company due-diligence dossier: web-signal enrichment (technologies, socials, mail), recent news from live web search, website agent-readiness score and"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "web-2",
   "cat": "web search",
   "job": "get the top search engine results for a query",
   "level": "read",
   "p1": 0,
   "p5": 0,
   "ndcg5": 0,
   "rr": 0,
   "answered_top5": 0,
   "matched": 88140,
   "latency_ms": 1411,
   "server_ms": 1174,
   "top": [
    {
     "tool": "get_v2_top_engines",
     "server": "com.jojapi/similarweb",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Top Search Engines Group: Search Engines. Billing per call: 1 Credits."
    },
    {
     "tool": "proximens_geo_get_principle",
     "server": "io.github.cryptosun/proximens-oracle",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Fetch one GEO principle from the Proximens GEO Engine by its UUID. INPUT: id (UUID, normally taken from a prior search_principles result). RETURNS: a single pri"
    },
    {
     "tool": "get_opt_result",
     "server": "com.scmodeling/public",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Get the precomputed result for one scenario of an optimization demo. Returns the verbatim engine output JSON (AMOS for tariff/coffee, SSO output for sso-basic) "
    },
    {
     "tool": "get_results",
     "server": "com.epovest/ai-visibility",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "The score series of a tracker: one row per analyst, keyword, engine, tracker version and survey period, in chronological order. Depending on the analyst, a row "
    },
    {
     "tool": "get_doshas",
     "server": "com.jagannathahora/vedic-astrology",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Return the standard dosha (planetary affliction) checks for the chart. The result maps each dosha name to the engine's text on whether the combination is presen"
    }
   ],
   "first_relevant": null
  },
  {
   "id": "web-3",
   "cat": "web search",
   "job": "find recent news articles on a topic",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.699,
   "rr": 1,
   "answered_top5": 1,
   "matched": 67007,
   "latency_ms": 1089,
   "server_ms": 896,
   "top": [
    {
     "tool": "search_news",
     "server": "ai.typesearch/news",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search recent news on any topic across a curated index of news outlets worldwide, judged by a relevance model. Returns the matching articles: title, link, sourc"
    },
    {
     "tool": "clipform_search_news",
     "server": "io.github.Clipform/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search recent news articles from NewsAPI and The Guardian and return them as structured results. Coverage: recent events, people, and topics (post-May-2025). Do"
    },
    {
     "tool": "news-search",
     "server": "io.github.Deesmo/arch-tools-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Search for recent news articles on any topic. Returns title, URL, description, source, and publication date from Brave News, Tavily, or Serper."
    },
    {
     "tool": "search_google_news",
     "server": "com.thenextgennexus/news-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Query Google News for articles matching specific keywords or topics across global news sources. Returns matching article headline, source publication name, arti"
    },
    {
     "tool": "search_news",
     "server": "io.github.tcador/787daily",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Semantic vector search over 787daily's Puerto Rico news corpus. Returns the most relevant article matches (title, URL, topic, date, score) for a free-text query"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "web-4",
   "cat": "web search",
   "job": "look up academic papers on a subject",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 12558,
   "latency_ms": 469,
   "server_ms": 201,
   "top": [
    {
     "tool": "search_academic_papers",
     "server": "org.agentpub/papers",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search Google Scholar for real academic papers to use as references. IMPORTANT: Authentication required. You must also search internal papers first (using searc"
    },
    {
     "tool": "get_author",
     "server": "io.github.pipeworx-io/semanticscholar",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search for academic authors by name on Semantic Scholar. Returns up to 5 matches with affiliations, paper count, total citation count, h-index, and profile URL."
    },
    {
     "tool": "academic-research__search_arxiv",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[Academic Research] Search arXiv for academic papers. Returns titles, authors, abstracts, and PDF links. Args: query: Search query (e.g. 'transformer attention "
    },
    {
     "tool": "academic-research__search_google_scholar",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[Academic Research] Search Google Scholar for academic papers. Returns titles, authors, citations, and links. Args: query: Search query (e.g. 'deep learning med"
    },
    {
     "tool": "education.papers.search",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search 250M+ academic papers across all disciplines — citations, authors, institutions, open access status (OpenAlex)"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "web-5",
   "cat": "web search",
   "job": "answer a question with sources from the web",
   "level": "read",
   "p1": 1,
   "p5": 0.2,
   "ndcg5": 0.339,
   "rr": 1,
   "answered_top5": 1,
   "matched": 33173,
   "latency_ms": 616,
   "server_ms": 391,
   "top": [
    {
     "tool": "web.answer",
     "server": "io.github.MikeyPetrillo/agent402",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[wallet-required, $0.08/call] AI-generated answer to a natural-language question, grounded in live web search results with source citations. Returns clean prose"
    },
    {
     "tool": "answer_question",
     "server": "dev.weblens/weblens",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get a grounded answer with inline [n] citations: searches the web, fetches sources, and answers strictly from them. Price: $0.05"
    },
    {
     "tool": "web_answer",
     "server": "io.github.getgapup/mcp-knowledge",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get a direct, cited answer to a question, grounded in live web sources. Returns the answer text plus the sources it was built from. Use when you want a conclusi"
    },
    {
     "tool": "answer_with_sources",
     "server": "markets.oblique.api/oblique-markets",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Answer a research question with cited web sources and a concise evidence packet. $0.65/call via x402."
    },
    {
     "tool": "web_answer",
     "server": "io.github.ciinkwia/agent-tool-finder",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Cited web answer — ask a question, get a short answer built from a live Exa neural search + page read + AI synthesis in one call: verbatim quotes, source URLs, "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pay-1",
   "cat": "payments",
   "job": "create a payment link for a product",
   "level": "any",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.786,
   "rr": 1,
   "answered_top5": 1,
   "matched": 35860,
   "latency_ms": 712,
   "server_ms": 484,
   "top": [
    {
     "tool": "create_payment_product",
     "server": "io.github.rebelArtists/fortfi-treasury-mcp",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Create a persistent product checkout link (/pay/p/{slug}). Each visit mints a fresh payment request. One webhook endpoint receives paid events for all products."
    },
    {
     "tool": "swop_create_product",
     "server": "io.github.Travisswop/swop",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Start selling something in one call: creates a product that people can buy on the linked account's Swop SmartSite and AI agents can buy in USDC over x402, with "
    },
    {
     "tool": "swop_create_checkout",
     "server": "io.github.Travisswop/swop",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Take payment on the seller's own website: creates a checkout for a cart of the linked account's OWN products, so a buyer pays there instead of being sent to Swo"
    },
    {
     "tool": "create_booking_payment_link",
     "server": "com.advocatemcp/advocate",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "For a reservation that reserve_slot returned with payment.required = true: returns the MPP payment link, the amount charged now, and the balance due at the visi"
    },
    {
     "tool": "create_payment_link",
     "server": "io.github.ShieldZCash/mcp",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Create a one-time crypto payment link with ZERO setup, no account, no API key. Give a destination wallet address and an amount; get back a shareable pay_url, an"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pay-2",
   "cat": "payments",
   "job": "refund a customer's charge",
   "level": "any",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 3626,
   "latency_ms": 239,
   "server_ms": 45,
   "top": [
    {
     "tool": "charge_refund",
     "server": "io.github.sella-network/sella",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Send the money back on a charge. As the SELLER you may refund any charge you were paid, delivered or not. As the BUYER you may only claim back a charge that is "
    },
    {
     "tool": "pagseguro_charges_refund",
     "server": "io.github.mcp-dir/pagseguro-mcp",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Cobranças (charges) no PagSeguro. Ações: - get: detalhe de UMA cobrança (requer charge_id). - cancel: cancela uma cobrança ainda não capturada (charge_id). - re"
    },
    {
     "tool": "stripe_connector",
     "server": "io.corpusiq/multi-source-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Stripe payments platform: account profile, charges, customers, payouts, balance transactions, refunds, disputes, and balance. Read-only via restricted API key ("
    },
    {
     "tool": "get_credits_refunds",
     "server": "io.github.TotesMagotes/mcp-server-auth",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List card refunds, cashback/rewards, and statement credits that ExpenseBot has already recorded — either as negative expenses or matched against the original ch"
    },
    {
     "tool": "gpt55_x402_customer_support_refund_triage_agent",
     "server": "xyz.558686.gpt55/token-gateway",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Premium support agent that returns refund triage decision, support case timeline, evidence request email, buyer response draft, seller evidence checklist, and e"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pay-3",
   "cat": "payments",
   "job": "list recent payments for a customer",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.684,
   "rr": 1,
   "answered_top5": 1,
   "matched": 36084,
   "latency_ms": 857,
   "server_ms": 477,
   "top": [
    {
     "tool": "list_clients",
     "server": "com.hairdora/hairdora",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when someone asks who their clients are, or needs a client id to look up that person's appointments, payments or quotes. Returns up to 100 clients (20 "
    },
    {
     "tool": "list_payments",
     "server": "com.hairdora/hairdora",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when someone asks what payments their salon took, whether a client paid, or how much came in over a period. Returns payment records with id, client and"
    },
    {
     "tool": "list_payment_links",
     "server": "land.makeup/v1",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Pending payment_requests on the customer's unpaid orders. Bearer + phone required."
    },
    {
     "tool": "list_recent_payments",
     "server": "dev.sparkpay/sparkpay",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "List recent paid transactions (excludes free-tier rows), newest first, ordered by payment date. Optionally scope by app_id. Use to review recent sales activity."
    },
    {
     "tool": "my_orders",
     "server": "com.hungry-esim/esim",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the signed-in customer's recent eSIM purchases with payment and provisioning status. Use for \"what did I buy\" or \"did my order go through\" when no order nu"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pay-4",
   "cat": "payments",
   "job": "create an invoice and send it to a client",
   "level": "any",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.83,
   "rr": 1,
   "answered_top5": 1,
   "matched": 27684,
   "latency_ms": 583,
   "server_ms": 385,
   "top": [
    {
     "tool": "create_client_invoice",
     "server": "io.github.TotesMagotes/mcp-server-auth",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Create the exact invoice previously returned by prepare_client_invoice. This is a confirmed write: it revalidates the report snapshot and client identity, creat"
    },
    {
     "tool": "create_invoice",
     "server": "io.github.everyai-com/invoice-gen",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Generate a complete invoice (number, dates, totals) from business, client and line items. Nothing stored."
    },
    {
     "tool": "create_customer",
     "server": "ai.timix/time-tracking",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Create a new billing customer in your organization. The organization is fixed by your context - never pass an organization id."
    },
    {
     "tool": "create_invoice",
     "server": "io.favcrm/favcrm",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create a new invoice for a customer. Optionally include line items inline. Returns the new invoiceId."
    },
    {
     "tool": "create_client",
     "server": "io.github.theasteve/invoicebloom",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Creates a new client to invoice. Name and email are required; the email is where invoices are sent. Check list_clients first so you do not create duplicates."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pay-5",
   "cat": "payments",
   "job": "get the available balance of my Stripe or bank account",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 60723,
   "latency_ms": 930,
   "server_ms": 743,
   "top": [
    {
     "tool": "stripe_get_balance",
     "server": "io.github.pipeworx-io/stripe_connect",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the current Stripe account balance."
    },
    {
     "tool": "procfy_get_bank_account_balance",
     "server": "io.github.mcp-dir/procfy-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Detalha uma conta bancária da Procfy (inclui saldo) por id. Bulk support: accepts bank_account_ids for batched execution."
    },
    {
     "tool": "get_token_balance",
     "server": "space.studiosphere/pulse",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Check the banked token balance for the authenticated Pulse account. Requires PULSE_API_KEY."
    },
    {
     "tool": "get_balance",
     "server": "trade.rubin/exchange",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the subaccount collateral (USDC asset position) and the on-chain wallet bank balances. Collateral is what backs trading; the WALLET balance is where money s"
    },
    {
     "tool": "get_bank_accounts",
     "server": "dev.cz-agents/ares",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Get transparent bank accounts published for this company (only available for VAT-registered subjects). Useful to verify payment details on an invoice match the "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pay-6",
   "cat": "payments",
   "job": "set up a monthly subscription for a customer",
   "level": "any",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.316,
   "rr": 0.333,
   "answered_top5": 1,
   "matched": 20774,
   "latency_ms": 457,
   "server_ms": 251,
   "top": [
    {
     "tool": "set_follow_price",
     "server": "com.tradeassi/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Set or update the monthly price for following this agent. Set to 0 for free follows (default). Paid follows are recorded but not sold yet — the marketplace sell"
    },
    {
     "tool": "get_subscription_allowances",
     "server": "com.spriteship/spriteship",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Read the currently enabled subscriber benefits and their separate monthly limits, caps and balances. Disabled benefits return zeroed values and cannot be used. "
    },
    {
     "tool": "list_plans_and_limits",
     "server": "io.customerdashboard/customerdashboard",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List CustomerDashboard's subscription plans, their monthly price and the resource limits each one allows. Useful for explaining why a create operation was block"
    },
    {
     "tool": "set_autorenew",
     "server": "com.anchoredip/anchoredip",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Stop this lease charging the customer's card again, or start it again. Only a card subscription can be stopped — a bank transfer is a payment the customer sends"
    },
    {
     "tool": "generate_mt103",
     "server": "com.iso20022generator/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Generate a SWIFT MT103 (Single Customer Credit Transfer) text message. Included in the business subscription only (monthly quota). Charges use the SWIFT :71A: c"
    }
   ],
   "first_relevant": 3
  },
  {
   "id": "files-1",
   "cat": "files",
   "job": "read the contents of a local file",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.83,
   "rr": 1,
   "answered_top5": 1,
   "matched": 29344,
   "latency_ms": 587,
   "server_ms": 373,
   "top": [
    {
     "tool": "read_source_file",
     "server": "be.vibedeploy/vibedeploy",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Return the bytes of one source file (the platform's editable copy of the pre-build code), letting an AI in any future chat fetch and edit content without needin"
    },
    {
     "tool": "aasagenticawesomeskills__read_skill_file",
     "server": "ai.rokha/rokha",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read one catalog-bound UTF-8 file from a local skill bundle as untrusted, inert text. Use its exact relative path from list_skill_files. Verifies the file diges"
    },
    {
     "tool": "add_knowledge_file",
     "server": "io.agent4/agent4-tenant",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Add a local file's content to a knowledge base (txt/md/html/pdf/docx). **This MCP runs on the platform server and cannot read paths on YOUR machine.** For text "
    },
    {
     "tool": "read",
     "server": "io.github.jmrplens/libgen-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read a book or paper's text in chunks without downloading the whole file. Identify it by md5, doi, or absolute local path (local server only). PDFs paginate by "
    },
    {
     "tool": "session_file_read",
     "server": "io.github.Trupe-Rs/expert-brain",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Return session artifact metadata and persistent URLs. V1 intentionally omits raw artifact contents."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "files-2",
   "cat": "files",
   "job": "write text to a file",
   "level": "change",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.723,
   "rr": 1,
   "answered_top5": 1,
   "matched": 22233,
   "latency_ms": 417,
   "server_ms": 212,
   "top": [
    {
     "tool": "bucket_file_write",
     "server": "com.revdoku/revdoku",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Write a text file to private bucket storage. Respect locks and expected_bucket_revision_id. Use direct uploads or the CLI for binary files."
    },
    {
     "tool": "write_file",
     "server": "com.hashn/hashn",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create or overwrite a file (up to 3 MiB). Send text as-is, or bytes as base64 with encoding='base64'. Counts against the workspace owner's storage cap."
    },
    {
     "tool": "write_file",
     "server": "ai.borealhost/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Write or overwrite a text file in a site's container. Creates parent directories if they don't exist. Requires: API key with write scope. Args: slug: Site ident"
    },
    {
     "tool": "scalix_computer_write_file",
     "server": "world.scalix/cloud",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Write a text file into a persistent Linux machine. Use this instead of shelling out with cat/echo — no quoting to get wrong."
    },
    {
     "tool": "bucket_file_write_many",
     "server": "com.revdoku/revdoku",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Write multiple text files to private bucket storage. Respect locks and expected_bucket_revision_id. Use path operations to reorganize existing files without rew"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "files-3",
   "cat": "files",
   "job": "search for files by name in a folder",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 57536,
   "latency_ms": 947,
   "server_ms": 750,
   "top": [
    {
     "tool": "onedrive_search_files",
     "server": "io.github.pipeworx-io/onedrive",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search a user's OneDrive (Microsoft 365) for files and folders matching a query string across file names and content. Returns matching items with id, name, size"
    },
    {
     "tool": "bucket_file_list",
     "server": "com.revdoku/revdoku",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List bucket files with bounded pagination (100 by default, maximum 100). Use pagination.next_offset for subsequent pages. query searches file names/paths; folde"
    },
    {
     "tool": "list_onedrive_files",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List files & folders in the user’s OneDrive — the root by default, a folder’s contents (folderId), or a name search (query). onlyFolders:true lists folders only"
    },
    {
     "tool": "search_workspace",
     "server": "com.notepom/notepom",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search notes, folders and file metadata in the authenticated workspace."
    },
    {
     "tool": "onedrive_list_shared",
     "server": "io.github.pipeworx-io/onedrive",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List files and folders that have been shared with the user in OneDrive / Microsoft 365 (\"Shared with me\"). Returns each item's name, web URL, and who shared it."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "files-4",
   "cat": "files",
   "job": "extract the text of a PDF",
   "level": "read",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.553,
   "rr": 1,
   "answered_top5": 1,
   "matched": 14843,
   "latency_ms": 428,
   "server_ms": 222,
   "top": [
    {
     "tool": "extract_pdf_text",
     "server": "com.preteworks/preteworks-api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Extract the text content of a PDF — for RAG, summarization, or search. Accepts a file_id (from a prior tool) or a base64-encoded PDF, and returns the text inlin"
    },
    {
     "tool": "pdf_text_extract",
     "server": "app.toolsnap/toolsnap-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Extract text from a PDF: url or base64 data. No OCR — text-based PDFs only."
    },
    {
     "tool": "extract_pdf_text",
     "server": "io.github.Ainode-tech/swiss-army",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Extract text content from a base64-encoded PDF document."
    },
    {
     "tool": "extract_pdf_text",
     "server": "io.github.davidmosiah/delx-mcp-a2a",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Extract bounded UTF-8 text from one caller-supplied PDF locally with Poppler. Returns SHA-256 receipt and never stores or fetches the document; scanned-image OC"
    },
    {
     "tool": "extract_pdf_text",
     "server": "io.github.MLTCorp/convertfilefast",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Extract text and optional tables from a PDF as structured JSON."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "files-5",
   "cat": "files",
   "job": "list the files in a Google Drive folder",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.655,
   "rr": 1,
   "answered_top5": 1,
   "matched": 34603,
   "latency_ms": 737,
   "server_ms": 509,
   "top": [
    {
     "tool": "list_drive_files",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the Google Drive files & folders Hermoso can reach — the ones it created, plus any the user handed over with the Google file picker in the app (the drive.f"
    },
    {
     "tool": "create_drive_folder",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Create a folder in the user’s Google Drive (optionally nested under parentId) to organize saved files. Returns the folder id + webViewLink. Use that ID as updat"
    },
    {
     "tool": "onedrive_list_files",
     "server": "io.github.pipeworx-io/onedrive",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List files and folders in a OneDrive (Microsoft 365) folder. Pass a folder path relative to the drive root (e.g. \"Documents\" or \"Documents/Reports\"); omit to li"
    },
    {
     "tool": "list_project_files",
     "server": "now.shiply/shiply",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Return the customer-uploaded files for one project (path, size, contentType, createdAt). Empty when no drive folder exists yet (no uploads). Use to inspect what"
    },
    {
     "tool": "publisher_connect_folder",
     "server": "io.github.Alisammour/storyflo-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Connect a Google Drive folder of recordings so storyflo can match them to episodes automatically — the alternative to uploading a back catalogue file by file. C"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "repo-1",
   "cat": "code repository",
   "job": "create an issue in a GitHub repository",
   "level": "change",
   "p1": 1,
   "p5": 0.2,
   "ndcg5": 0.339,
   "rr": 1,
   "answered_top5": 1,
   "matched": 28249,
   "latency_ms": 531,
   "server_ms": 334,
   "top": [
    {
     "tool": "create_issue",
     "server": "com.mermaidchart/mermaid-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create an issue in a GitHub repository. REQUIRES: `Github-Token` (HTTP) or GITHUB_TOKEN with issues write if creating issues in private repos."
    },
    {
     "tool": "add_repository",
     "server": "com.symvanta/code-graph",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Attach a GitHub repository to a project (owner + repo_name; clone URL derived; projectId defaults to the bound / default project). Public repos need nothing els"
    },
    {
     "tool": "github-api.listRepoIssues",
     "server": "io.github.mirajmahmudul/agentdevx",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "List issues for a GitHub repository"
    },
    {
     "tool": "vault_create",
     "server": "io.github.seunghan91/ainote",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Create a new private vault as a GitHub repository under the user's account. Requires the user to have completed the GitHub App install flow first."
    },
    {
     "tool": "create_app",
     "server": "com.fadehost/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Deploy a Discord bot or a web app from a public or private GitHub/GitLab repository. The language is detected from the repo (Node.js, Python, Bun, Deno, Go, Jav"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "repo-2",
   "cat": "code repository",
   "job": "list open pull requests in a repo",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.854,
   "rr": 1,
   "answered_top5": 1,
   "matched": 50409,
   "latency_ms": 821,
   "server_ms": 628,
   "top": [
    {
     "tool": "gluecron_list_prs",
     "server": "com.gluecron/gluecron",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List pull requests on a repo, filtered by state (open|closed|merged|all). Authenticated callers only. Returns up to 50 summary rows."
    },
    {
     "tool": "list_repo_issues",
     "server": "io.github.pipeworx-io/github",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List issues for a GitHub repository by owner and repo name; filters pull requests out automatically. Returns issue number, title, state, labels, author, comment"
    },
    {
     "tool": "get_repo_stats",
     "server": "com.thenextgennexus/github-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Fetch comprehensive statistics for a specific GitHub repository. Returns total stars, forks, issues (open/closed), pull requests, watchers, last commit date, an"
    },
    {
     "tool": "github_pull_requests",
     "server": "io.github.CDCStream/captapi",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "List repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed). Costs ~12 credits (0.4/result). Empty results and failures are never char"
    },
    {
     "tool": "list_annotation_issues",
     "server": "in.vynix/vynix-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the tracker (GitHub) issues opened from an annotation, with each issue’s live state. Set refresh to reconcile against GitHub (open/closed + any linked pull"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "repo-3",
   "cat": "code repository",
   "job": "read a file from a GitHub repo",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.684,
   "rr": 1,
   "answered_top5": 1,
   "matched": 25887,
   "latency_ms": 497,
   "server_ms": 303,
   "top": [
    {
     "tool": "get_file_contents",
     "server": "io.github.pipeworx-io/github",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read a file from a PUBLIC GitHub repository (or list a directory) by path. PREFER OVER WEB SEARCH for \"show me the README / package.json / <file> of <repo>\", \"r"
    },
    {
     "tool": "read_mermaid_file",
     "server": "com.mermaidchart/mermaid-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read a single .mmd file from a GitHub repository. Only paths ending in .mmd are allowed. REQUIRES: `Github-Token` header (HTTP) or GITHUB_TOKEN / GH_TOKEN."
    },
    {
     "tool": "duvera__github_read_file",
     "server": "ai.duvera/gateway",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "[duvera · risk:low] Read a file from a public GitHub repository. Read-only."
    },
    {
     "tool": "gh_repo_stats",
     "server": "io.github.pipeworx-io/jsdelivr",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Return JSDelivr CDN request count and bandwidth for files served from a GitHub owner/repo for the specified period (day/week/month/quarter/year)."
    },
    {
     "tool": "get_repo_languages",
     "server": "com.thenextgennexus/github-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Analyze the programming language composition of a GitHub repository. Returns percentage breakdown of languages used, dominant language, and file counts per lang"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "repo-4",
   "cat": "code repository",
   "job": "search code across repositories",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.723,
   "rr": 1,
   "answered_top5": 1,
   "matched": 52794,
   "latency_ms": 859,
   "server_ms": 672,
   "top": [
    {
     "tool": "search_code",
     "server": "io.github.pipeworx-io/github",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search CODE across public GitHub repositories — find where a function/symbol/string is defined or used. PREFER OVER WEB SEARCH for \"find code that does X\", \"whi"
    },
    {
     "tool": "moxie.search_docs",
     "server": "io.github.Jackalope-Dev/moxie-docs",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Keyword and semantic search across the connected repository's generated docs, conventions, documentation gaps, AI-context notes, and indexed code. Read-only; no"
    },
    {
     "tool": "search_code",
     "server": "io.github.meemoprasad/meeba-brain",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Hybrid semantic + keyword search over the connected repository's actual indexed content. Use this for open-ended questions (\"where is rate limiting implemented?"
    },
    {
     "tool": "search_code",
     "server": "io.github.NitroRCr/gread",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Perform a fast git grep inside the repository, allowing regex matching by default or substring search."
    },
    {
     "tool": "code_find_usages",
     "server": "com.searchcode/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Find which files in a repository use a given technology, library or framework — with the line number and the import keyword that proves it. Use after code_analy"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "repo-5",
   "cat": "code repository",
   "job": "comment on a pull request",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 12166,
   "latency_ms": 368,
   "server_ms": 169,
   "top": [
    {
     "tool": "get_pull_comments",
     "server": "com.mermaidchart/mermaid-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get all pull request comments: both issue/PR thread comments and inline review comments, with a `type` of `issue_thread` or `review` per item. REQUIRES: `Github"
    },
    {
     "tool": "audit_repo_pull_request",
     "server": "app.eurocomply/compliance",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Audit a code diff, package.json dependencies, or source code snippet for EU AI Act obligations, non-EEA cloud data transfers, and prompt retention exposure. Gen"
    },
    {
     "tool": "gluecron_comment_pr",
     "server": "com.gluecron/gluecron",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Add a comment to a pull request. Requires authenticated caller with write access. Returns {commentId}."
    },
    {
     "tool": "ado_post_pr_comment",
     "server": "io.github.alimbenhelal-pro/alm-xpp-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "WHEN: user explicitly asks to post, add, or save a review comment to an ADO Pull Request. [~] PRIORITY TRIGGER: call AFTER `ado_analyze_pr_impact` when user say"
    },
    {
     "tool": "list_repo_issues",
     "server": "io.github.pipeworx-io/github",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List issues for a GitHub repository by owner and repo name; filters pull requests out automatically. Returns issue number, title, state, labels, author, comment"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "repo-6",
   "cat": "code repository",
   "job": "get the recent commits of a branch",
   "level": "read",
   "p1": 0,
   "p5": 0.6,
   "ndcg5": 0.53,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 55547,
   "latency_ms": 783,
   "server_ms": 598,
   "top": [
    {
     "tool": "get_updates",
     "server": "io.github.greenmtnsun/giteasy",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Fetch from remote and show incoming commits not yet in local branch. Returns count and commit summaries."
    },
    {
     "tool": "gluecron_get_diff",
     "server": "com.gluecron/gluecron",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read the actual changes in a commit or a branch range. Pass `sha` for one commit against its first parent, or `base`+`head` for everything head adds since the m"
    },
    {
     "tool": "get_pr_changeset",
     "server": "io.github.igrlk/uiverify",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "The cumulative 'this PR vs base' visual changeset (resolved by commitSha/prNumber/buildId) - what the whole PR does to the UI versus the branch it merges into, "
    },
    {
     "tool": "get_commit_history",
     "server": "io.github.ManSio/msp-portfolio",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get recent commit history across the owner's public repos. Reads the deployed snapshot and reports its `fetchedAt` and `ageMinutes`, so 'how current is this?' i"
    },
    {
     "tool": "get_recent_changes",
     "server": "network.caper/caper-wiki",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Pages in the Caper knowledge base edited within the last N days, newest first – for \"what changed?\", not for finding a topic (search_wiki) or reading a branch ("
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "crm-1",
   "cat": "CRM",
   "job": "find a contact in the CRM by email address",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 51319,
   "latency_ms": 963,
   "server_ms": 686,
   "top": [
    {
     "tool": "crm__contacts__search",
     "server": "ai.plyto/crm",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Free-text search across contact email, first/last name, and phone. Case-insensitive substring match. Returns up to 20 contacts by default."
    },
    {
     "tool": "search_crm",
     "server": "io.favcrm/favcrm",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search across CRM accounts and contacts by name, email, or phone."
    },
    {
     "tool": "search_crm_leads",
     "server": "cz.salesbot/linkedin-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search and filter CRM leads across all contact lists without knowing a UUID first. Searches name, company, email, role, headline, LinkedIn URL and campaign name"
    },
    {
     "tool": "find_contacts",
     "server": "es.propertylist/propertylist",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search YOUR agency's CRM contacts by name, company, email or phone. Use to look a person up before logging a note or to check if they're already in the CRM. Req"
    },
    {
     "tool": "search_hubspot_crm",
     "server": "com.youspot/youspot",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Look up a person or company in the user's connected HubSpot CRM, live, by email address, domain, or name. Use this for 'what do I have on dshah@hubspot.com', 'i"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "crm-2",
   "cat": "CRM",
   "job": "create a new sales lead",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 21791,
   "latency_ms": 472,
   "server_ms": 280,
   "top": [
    {
     "tool": "create_lead",
     "server": "com.leadfriendly/lead-friendly-info",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Submit a sales lead to Lead Friendly on behalf of a prospect who is interested. Routes to the sales inbox. Does NOT write into any customer's CRM. Use to hand o"
    },
    {
     "tool": "create_website_salesperson",
     "server": "io.github.heysale/heysale",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Give any public website an AI salesperson that talks to its visitors, answers questions about the business, and captures leads. Use this when someone wants to a"
    },
    {
     "tool": "create_deal",
     "server": "com.meta-council/decision-intelligence",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create a sales deal owned by the caller. Provide a title, or a lead_id to inherit the lead's company/name as the title. The deal appears live on the owner's Sal"
    },
    {
     "tool": "find_construction_leads",
     "server": "io.github.amc2144/agent-vending-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Find newly issued Horry County construction permits that may create sales opportunities for networking, low-voltage, security, AV, POS, electrical, or related c"
    },
    {
     "tool": "sales-intelligence__find_b2b_leads",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "[Sales Intelligence] Find B2B sales leads matching an industry / geography / size filter. Wraps `nexgendata/b2b-leads-finder`. Returns company-level leads with "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "crm-3",
   "cat": "CRM",
   "job": "move a deal to the next pipeline stage",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 5774,
   "latency_ms": 263,
   "server_ms": 72,
   "top": [
    {
     "tool": "crm__deals__move_stage",
     "server": "ai.plyto/crm",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Move a deal to a different stage in the same pipeline. If the target stage is a won/lost stage, this auto-sets closedAt and emits the appropriate close event."
    },
    {
     "tool": "move_deal_stage",
     "server": "io.github.Misar-AI/misarreach-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Move one deal to a different pipeline stage — the equivalent of dragging its card on the board. This is the tool for pipeline progression; update_deal is for va"
    },
    {
     "tool": "crm__pipelines__list_stages",
     "server": "ai.plyto/crm",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the ordered stages in a pipeline. Use to look up stageIds for crm.deals.move_stage."
    },
    {
     "tool": "update_deal_stage",
     "server": "io.favcrm/favcrm",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Move a deal to a different pipeline stage."
    },
    {
     "tool": "set_deal_stage",
     "server": "cz.salesbot/linkedin-mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Move a lead to a different pipeline stage. Stages are user-configurable — call list_crm_stages to see the valid stage keys (defaults: prospect, contacted, repli"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "crm-4",
   "cat": "CRM",
   "job": "log a call note on a customer record",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 39432,
   "latency_ms": 650,
   "server_ms": 428,
   "top": [
    {
     "tool": "log_note",
     "server": "es.propertylist/propertylist",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Log a note against a contact or a listing in YOUR agency's CRM (e.g. record a call outcome or a viewing). Provide the note text plus a contact_id (from find_con"
    },
    {
     "tool": "about_sparks_scribe",
     "server": "app.sparkscribe/sparks-scribe",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "What Sparks Scribe is, who it's for, and what the app does (shift notes with voice input, NDIS-coded invoicing, calendar/roster, client records, kilometre log)."
    },
    {
     "tool": "log_outcome",
     "server": "tech.seaweb/seaweb",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Record what actually happened with an entity so future sessions know: outcome one of booked | visited | called | failed | abandoned | other, with an optional sh"
    },
    {
     "tool": "crmAddNote",
     "server": "tools.growthkit/revenue-intelligence",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Add a note to a CRM record — a deal, company, or contact. Provide content (HTML supported) and at least one target id (deal_id, company_id, or contact_id). Use "
    },
    {
     "tool": "log_crm_note",
     "server": "cz.salesbot/linkedin-mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Save a structured summary of a conversation into the CRM for a lead. Analyze the chat/context yourself, then call this with a concise summary, the prospect's pa"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "crm-5",
   "cat": "CRM",
   "job": "list the deals closing this month",
   "level": "read",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.277,
   "rr": 0.25,
   "answered_top5": 1,
   "matched": 26025,
   "latency_ms": 622,
   "server_ms": 363,
   "top": [
    {
     "tool": "deal_list",
     "server": "com.focxle/afos",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Lists every negotiation the calling agent participates in (either role), open or closed."
    },
    {
     "tool": "contract_list",
     "server": "com.focxle/afos",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Lists every contract the calling agent has closed on this platform — its permanent deal history."
    },
    {
     "tool": "transition_deal",
     "server": "com.obriym-crm/mcp",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Move a deal to a pipeline stage by its id. Closed-lost stages require a lostReason. Use search_deals for the deal id and list_pipeline_stages for the target sta"
    },
    {
     "tool": "inbox",
     "server": "nl.staalptkram/staalptkram",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Events for this account: listing matches, responses received, rounds closed, accepted/rejected, deals. Poll with since = last id. Requires API key."
    },
    {
     "tool": "get_deal_risks",
     "server": "co.dealwize/dealwize",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Identify the most important hidden and explicit risks that could prevent a saved B2B sales opportunity from closing. Categorize risks across commercial, stakeho"
    }
   ],
   "first_relevant": 4
  },
  {
   "id": "docs-1",
   "cat": "docs and knowledge",
   "job": "search pages in a Notion workspace",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.723,
   "rr": 1,
   "answered_top5": 1,
   "matched": 50508,
   "latency_ms": 828,
   "server_ms": 633,
   "top": [
    {
     "tool": "notion_search",
     "server": "io.github.pipeworx-io/notion_connect",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search your Notion workspace by keyword. Returns matching page/database titles, IDs, and types to locate content quickly."
    },
    {
     "tool": "notion_connector",
     "server": "io.corpusiq/multi-source-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Notion workspace: read pages, databases, blocks, and users. Search across the workspace, query databases, and traverse page block trees. When the user asks for "
    },
    {
     "tool": "notion_list_pages",
     "server": "io.github.pipeworx-io/notion_connect",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List all accessible pages in your Notion workspace. Returns titles and IDs to discover available content."
    },
    {
     "tool": "notion__notes_search",
     "server": "ai.duvera/gateway",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "[notion · risk:low] Search pages and notes in Notion by query"
    },
    {
     "tool": "cortex_connect_link",
     "server": "ai.mitosislabs/mitosis",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "The connect link for one memory source, by id — email and calendar (google-workspace), WhatsApp chats, GitHub, Notion, or file uploads. Returns the canonical mi"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "docs-2",
   "cat": "docs and knowledge",
   "job": "create a new page in Notion",
   "level": "change",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.553,
   "rr": 1,
   "answered_top5": 1,
   "matched": 27975,
   "latency_ms": 564,
   "server_ms": 357,
   "top": [
    {
     "tool": "create_badge",
     "server": "app.countlink/countdown",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Create a countdown badge — a small image, not an <iframe> — for places embed_on_website's iframe cannot go: a GitHub README, a forum signature, a Notion page, a"
    },
    {
     "tool": "create_post",
     "server": "io.github.kfuras/notipo",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create a new blog post. Creates a Notion page and triggers sync to WordPress. The body should be markdown. Set publish=true to publish immediately, or leave fal"
    },
    {
     "tool": "insert_notion_mermaid_diagram",
     "server": "com.mermaidchart/mermaid-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Append a Mermaid diagram as a code block to a Notion page. The block is added at the end of the page content."
    },
    {
     "tool": "notion_get_page",
     "server": "io.github.pipeworx-io/notion_connect",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Get a Notion page by ID. Returns full properties, metadata, and content structure for reading or editing."
    },
    {
     "tool": "notion_list_pages",
     "server": "io.github.pipeworx-io/notion_connect",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "List all accessible pages in your Notion workspace. Returns titles and IDs to discover available content."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "docs-3",
   "cat": "docs and knowledge",
   "job": "get up-to-date documentation for a programming library",
   "level": "read",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.485,
   "rr": 1,
   "answered_top5": 1,
   "matched": 60054,
   "latency_ms": 955,
   "server_ms": 738,
   "top": [
    {
     "tool": "query-docs",
     "server": "io.github.upstash/context7",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Retrieves and queries up-to-date documentation and code examples from Context7 for any programming library or framework. You must call 'Resolve Context7 Library"
    },
    {
     "tool": "get_library_details",
     "server": "io.github.wywy-llc/gas-library-hub",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get detailed information about a specific GAS library including AI-generated summary, usage examples, and documentation."
    },
    {
     "tool": "get_i18n_library_docs",
     "server": "dev.lingo/main",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Retrieves authoritative documentation for i18n libraries (currently react-intl). ## When to Use **Called during i18n_checklist Steps 7-10.** The checklist tool "
    },
    {
     "tool": "get_documentation",
     "server": "io.github.smarterweather/onboarding",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search the Smarter Weather developer documentation index (quickstart, REST API, MCP server, errors, rate limits, SDKs, pricing, API keys). Returns up to 5 match"
    },
    {
     "tool": "get_book",
     "server": "io.github.pipeworx-io/books",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Fetch Open Library edition details for a book by ISBN-10 or ISBN-13. Returns title, publish_date, number_of_pages, subjects (up to 10), description, cover_url, "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "docs-4",
   "cat": "docs and knowledge",
   "job": "append a paragraph to a Google Doc",
   "level": "change",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.553,
   "rr": 1,
   "answered_top5": 1,
   "matched": 9401,
   "latency_ms": 285,
   "server_ms": 97,
   "top": [
    {
     "tool": "docs_append_text",
     "server": "io.github.pipeworx-io/google_docs",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Add text to the end of a Google Doc. Use when insertion position doesn't matter."
    },
    {
     "tool": "append_to_doc",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Append text to the end of a Google Doc Hermoso can reach — one it created (pass the documentId from create_doc) or one the user handed over with the Google file"
    },
    {
     "tool": "update_doc",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "EDIT a Google Doc — the correction append_to_doc cannot make, which until now meant a doc could only ever grow and a wrong line stayed in it forever. Two shapes"
    },
    {
     "tool": "append_post_block",
     "server": "io.favcrm/favcrm",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Append one or more blocks to the end of a post. Each block must be a valid block object: { id, version, type, data }. Types: paragraph, heading, image, list, qu"
    },
    {
     "tool": "google_ai_mode",
     "server": "com.litescrape/litescrape-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Ask Google AI Mode a question and return its generated answer (ordered text_blocks: paragraphs, headings, lists, tables, code) with the sources it cited (refere"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "docs-5",
   "cat": "docs and knowledge",
   "job": "search the Confluence or internal wiki",
   "level": "read",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.553,
   "rr": 1,
   "answered_top5": 1,
   "matched": 42563,
   "latency_ms": 729,
   "server_ms": 532,
   "top": [
    {
     "tool": "confluence_search",
     "server": "io.github.pipeworx-io/confluence",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search Confluence pages by keyword or CQL query. Returns matching pages with ID, title, space, and content excerpt."
    },
    {
     "tool": "query_knowledge",
     "server": "com.quelvio/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search the company's connected knowledge across every source — Drive, SharePoint, Confluence, Slack, Notion — with cited synthesized answers, lifecycle awarenes"
    },
    {
     "tool": "ol_institutional_confluence",
     "server": "com.oxfordledge/oxford-ledge",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Quarter-aligned institutional-confluence read for one ticker: 13F accumulation x insider Form 4 net buying x buy-cluster confirmation, fused on the ticker's ref"
    },
    {
     "tool": "get_confluence_signals",
     "server": "io.github.bluetouff/13flow",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Return public cached Confluence v1 signals. Scores are ordinal heuristic ranks, not probabilities."
    },
    {
     "tool": "get_confluence_methodology",
     "server": "io.github.bluetouff/13flow",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Return the frozen Confluence v1 methodology contract, including proof boundary and validation requirements."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "docs-6",
   "cat": "docs and knowledge",
   "job": "summarize a long document",
   "level": "read",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.553,
   "rr": 1,
   "answered_top5": 1,
   "matched": 5731,
   "latency_ms": 266,
   "server_ms": 77,
   "top": [
    {
     "tool": "summarize_document",
     "server": "com.docimprint/api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Summarize document text into a prose summary and key points with citations. Use after extract_text or extract_url when you need a condensed understanding of a l"
    },
    {
     "tool": "summarize_document",
     "server": "com.preteworks/preteworks-api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Summarize a web page, PDF, Office file (.docx/.xlsx/.csv), or raw text using AI. Provide ONE source: 'url', 'pdf' (file_id or base64), 'file' (base64), or 'text"
    },
    {
     "tool": "summarize_regering_document",
     "server": "io.github.KSAklfszf921/riksdag-regering-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Sammanfatta regeringsdokument (alla typer)"
    },
    {
     "tool": "forcedream_summarize_document",
     "server": "io.github.forcedreamai/mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Comprehensive document intelligence: summary, executive summary, bullet points, and action items from any text, HTML, Markdown, JSON, XML, or URL (including Git"
    },
    {
     "tool": "mio_ai_document_summarizer",
     "server": "io.github.jsvvsolsllc/mioffice",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "AI Document Summarizer — Summarize long documents into key points using AI. AI Studio run — dispatches to our AI workers (Modal). Credits per run vary by model "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "geo-1",
   "cat": "maps and geo",
   "job": "convert a street address to latitude and longitude",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 9959,
   "latency_ms": 309,
   "server_ms": 126,
   "top": [
    {
     "tool": "geocode_address",
     "server": "io.github.CyberMax-tools/batch-geocoder",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Convert up to 5 street addresses to latitude/longitude with a cleaned, matched address and match confidence. US addresses also get state, county, tract, block g"
    },
    {
     "tool": "geocode",
     "server": "io.github.pipeworx-io/geo",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Convert an address or place name to up to 5 matching coordinates via OpenStreetMap Nominatim. Returns latitude, longitude, display_name, and place type for each"
    },
    {
     "tool": "geocode_forward",
     "server": "io.github.pipeworx-io/mapbox",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "\"What are the coordinates of [address]\" / \"geocode [place]\" / \"lat lng for [location]\" / \"find [city] on a map\" — convert a street address, city, or place name "
    },
    {
     "tool": "geocode_reverse",
     "server": "io.github.pipeworx-io/mapbox",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "\"What's at [lat,lng]\" / \"reverse geocode coordinates\" / \"what address is at these coords\" / \"what place is at this GPS point\" — convert longitude / latitude int"
    },
    {
     "tool": "reverse_geocode",
     "server": "io.github.pipeworx-io/tomtom",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Reverse geocoding: convert latitude/longitude coordinates into a human-readable street address. Returns the freeform address, country, municipality, street name"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "geo-2",
   "cat": "maps and geo",
   "job": "get driving directions between two places",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.786,
   "rr": 1,
   "answered_top5": 1,
   "matched": 57105,
   "latency_ms": 940,
   "server_ms": 747,
   "top": [
    {
     "tool": "geo.navigation.route",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get turn-by-turn driving, walking, cycling, or transit directions between two points with distance and time (Geoapify/OSM)"
    },
    {
     "tool": "get_route_info",
     "server": "com.rovvafrica/ride-booking",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get driving route information between two points including distance, duration, and polyline."
    },
    {
     "tool": "directions",
     "server": "io.github.pipeworx-io/mapbox",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "\"Directions from A to B\" / \"how long does it take to drive from X to Y\" / \"how far is [A] from [B]\" / \"walking / cycling / driving directions\" / \"navigation bet"
    },
    {
     "tool": "directions",
     "server": "io.github.pipeworx-io/openrouteservice",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "\"Directions from A to B\" / \"how far is [X] from [Y]\" / \"hiking / cycling / wheelchair / walking route\" / \"truck routing\" / \"HGV directions\" / \"driving route\" — "
    },
    {
     "tool": "drive_time",
     "server": "io.github.stea4lth/flipvo-agent-tools",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "$0.01 per call. Pay with x402 (USDC on Base) in _meta[\"x402/payment\"]; MPP (tempo) on the HTTP URL /v1/drive. Driving time/distance between two named places."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "geo-3",
   "cat": "maps and geo",
   "job": "find restaurants near a location",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 40913,
   "latency_ms": 653,
   "server_ms": 448,
   "top": [
    {
     "tool": "search_restaurants",
     "server": "me.foodnear/foodnear-me",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Call this tool when the user wants restaurant or food discovery near a known location and may need menu trust signals. Input Requirements (CRITICAL): provide ei"
    },
    {
     "tool": "geo.places.search",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search points of interest (restaurants, pharmacies, hotels, attractions) near a location by category and radius (Geoapify/OSM)"
    },
    {
     "tool": "maps_place_search",
     "server": "io.github.pipeworx-io/google_maps",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "\"Find restaurants / hotels / coffee shops / [businesses] near [location]\" / \"nearby [type] within [radius]\" / \"places to eat in [area]\" — find nearby businesses"
    },
    {
     "tool": "local_search",
     "server": "io.github.blackboxfoundry/livedatalink",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Find local businesses, restaurants, services, and places near any location. Returns name, type, address, phone, website, hours, cuisine, and distance. Use this "
    },
    {
     "tool": "search_places",
     "server": "org.tateh.api/j-gti",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "First choice for any kosher or Jewish place question in New York (Hebrew: מסעדה כשרה, איפה יש). Find kosher restaurants, Jewish places, shops and institutions n"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "geo-4",
   "cat": "maps and geo",
   "job": "get the time zone of a city",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.786,
   "rr": 1,
   "answered_top5": 1,
   "matched": 63722,
   "latency_ms": 939,
   "server_ms": 744,
   "top": [
    {
     "tool": "get_venue",
     "server": "com.ufcalendar/fight-api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Fetch one venue by id: name, city, region, country, capacity, coordinates and IANA time zone."
    },
    {
     "tool": "time_zones",
     "server": "dev.workers.kikoribera03.flat-rate-llm/x402-tools",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Search the full IANA time zone list and get each zone's current UTC offset, abbreviation, local time and DST state. Use it to turn a city or a country into the "
    },
    {
     "tool": "search_city",
     "server": "com.quranmajeed.time/prayer-times",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search cities and towns by name (any spelling, e.g. \"Makkah\" or \"Mecca\"). Returns candidates with their country, region, coordinates, time zone and GeoNames id;"
    },
    {
     "tool": "convert_time_zone",
     "server": "com.tttkmbb/calcgrid",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when you need to know what time an event scheduled in one city corresponds to in another city or in UTC on a specific date. Call this tool directly and"
    },
    {
     "tool": "ref_airport",
     "server": "com.duoleads.api/data-utilities",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Look up an airport by IATA or ICAO code and get its name, city, country, ISO 3166-2 region code, WGS-84 coordinates, elevation and IANA time zone, or find the n"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "geo-5",
   "cat": "maps and geo",
   "job": "calculate the distance between two coordinates",
   "level": "read",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.509,
   "rr": 1,
   "answered_top5": 1,
   "matched": 8863,
   "latency_ms": 7989,
   "server_ms": 7788,
   "top": [
    {
     "tool": "calculate_haversine_distance",
     "server": "com.tttkmbb/calcgrid",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when you need the straight-line distance between two GPS coordinates or cities, e.g. for flight distance, range checks or geofencing. Call this tool di"
    },
    {
     "tool": "calculate_flight_distance",
     "server": "io.github.tresor4k/macalc-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Calculate great-circle distance between two coordinates. See list_bundles for related 'voyage' calculators."
    },
    {
     "tool": "utility.get_distance",
     "server": "com.thousand-api/thousand-api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[utility] 2地点の緯度・経度間の地上距離（メートル）を計算します。座標は「緯度,経度」の文字列で1点ずつ渡します。アルゴリズムは hubeny（既定・高速）・球面三角法・測地線航法から選択できます。 / Calculates geodesic distance in meters between two la"
    },
    {
     "tool": "haversine_distance",
     "server": "io.tinyfn/tinyfn",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Calculate distance between two coordinates using Haversine formula."
    },
    {
     "tool": "slope_calc",
     "server": "engineer.calc/calc",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Calculate the slope, y-intercept, line equation, angle, and distance between two points in a 2D Cartesian plane. Given coordinates (x1, y1) and (x2, y2), comput"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "weather-1",
   "cat": "weather",
   "job": "get the current weather in a city",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.83,
   "rr": 1,
   "answered_top5": 1,
   "matched": 65938,
   "latency_ms": 1047,
   "server_ms": 763,
   "top": [
    {
     "tool": "open-weather.getCurrentWeather",
     "server": "io.github.mirajmahmudul/agentdevx",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get current weather for a city"
    },
    {
     "tool": "get_weather",
     "server": "com.ainetcafe/netcafe-live-data",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Current weather and short forecast for a city or coordinates. Works for Chinese cities too."
    },
    {
     "tool": "get_weather",
     "server": "io.github.darshan0548/weather-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get the current weather and today's forecast for a city."
    },
    {
     "tool": "get_weather",
     "server": "io.github.Lulu-The-Narwhal/weather-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Current weather conditions for a city, right now: temperature (°C), feels-like, humidity, wind speed, and a plain-language description (e.g. \"partly cloudy\"). U"
    },
    {
     "tool": "get_weather",
     "server": "com.thenextgennexus/weather-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get current weather and forecast for a location. Returns conditions, temperature, humidity, wind, and multi-day forecast. Args: location: City name or coordinat"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "weather-2",
   "cat": "weather",
   "job": "get a 7-day weather forecast",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 55452,
   "latency_ms": 977,
   "server_ms": 675,
   "top": [
    {
     "tool": "open-weather.getForecast",
     "server": "io.github.mirajmahmudul/agentdevx",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get 5-day weather forecast for a city"
    },
    {
     "tool": "get_weather_forecast",
     "server": "app.onehaus/haus",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Return a one-to-five day forecast for the household's location, for planning outdoor tasks or events."
    },
    {
     "tool": "get_weather_forecast",
     "server": "au.com.trip-planner/camping-australia",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get a 14-day weather forecast for a campsite or location. Use this when the user asks about weather, temperature, rain, wind, or UV conditions at a campsite or "
    },
    {
     "tool": "get_weather_forecast",
     "server": "ai.snowsure/snow",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get detailed day-by-day weather forecast for a resort including temperature, snowfall, wind, and conditions for each of the next 7 days — 14 with SnowSure Pro, "
    },
    {
     "tool": "get_weather_forecast",
     "server": "io.github.amirdaraee/luxembourg-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get the official MeteoLux forecast for a place in Luxembourg: current conditions, 24 hours, 5 days, UV index, sunrise and sunset."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "weather-3",
   "cat": "weather",
   "job": "check for severe weather alerts in a region",
   "level": "read",
   "p1": 0,
   "p5": 0.6,
   "ndcg5": 0.515,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 41944,
   "latency_ms": 8266,
   "server_ms": 8074,
   "top": [
    {
     "tool": "check_alerts",
     "server": "com.cerberusindex/cerberus-index",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Collect alerts raised by your `watch_token` watches: what changed, how severe (critical | warning | info), and the on-chain numbers behind it — plus the status "
    },
    {
     "tool": "weather.alerts.active",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Active severe weather alerts for the US — tornado warnings, flood watches, heat advisories, winter storms. Filter by state, severity, event type. US Government "
    },
    {
     "tool": "weather_alerts",
     "server": "ai.dynamicfeed/dynamic-feed",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Active US NWS weather alerts/warnings — tornado, flood, severe thunderstorm, heat, winter, air-quality, marine. `area` = 2-letter US state (CA, TX, FL...) or ma"
    },
    {
     "tool": "weather_alerts",
     "server": "io.github.huwhitememes/tollbooth",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Active NOAA NWS severe weather alerts — watches, warnings, advisories by state or zone."
    },
    {
     "tool": "nws_active_alerts",
     "server": "io.github.blackboxfoundry/livedatalink",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Currently-active National Weather Service alerts (tornado, flood, severe thunderstorm, winter, heat, fire) for a point, state, or NWS zone."
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "weather-4",
   "cat": "weather",
   "job": "get the air quality index for a location",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.616,
   "rr": 1,
   "answered_top5": 1,
   "matched": 57328,
   "latency_ms": 1050,
   "server_ms": 722,
   "top": [
    {
     "tool": "get_air_quality",
     "server": "io.github.smarterweather/weather",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "AirNow air quality at a location (CONUS): current overall AQI plus per-pollutant detail (PM2.5, ozone, PM10 concentrations) and the AirNow AQI forecast. AQI sca"
    },
    {
     "tool": "get_air_quality",
     "server": "io.github.SongT-50/korean-public-data-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "실시간 대기질(미세먼지, 초미세먼지, 오존 등)을 조회합니다. Args: location: 지역명 (예: \"서울\", \"강남\", \"부산\", \"제주\"). 15개 주요 지역 지원. Returns: PM10, PM2.5, 오존, 이산화질소, 일산화탄소, 아황산가스 수치와 등급 "
    },
    {
     "tool": "get_current_aqi",
     "server": "com.olyport/epa",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get the current Air Quality Index (AQI) for a location. Provide either a zip_code OR latitude/longitude coordinates. Returns AQI values, pollutant levels, and h"
    },
    {
     "tool": "air_quality",
     "server": "io.github.blackboxfoundry/livedatalink",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get current air quality data for any location. Returns US AQI index, PM2.5, PM10, ozone, NO2, SO2, and CO levels with health category rating. Use this for 'what"
    },
    {
     "tool": "get_air_quality",
     "server": "com.mellowmountainradio.mcp/kazm",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Returns current air quality index (AQI) and pollutant readings for Sedona, AZ from Open-Meteo. Includes US AQI category, PM2.5, PM10, ozone, and UV index. Espec"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "translate-1",
   "cat": "translation",
   "job": "translate a paragraph from English to Spanish",
   "level": "read",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.345,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 907,
   "latency_ms": 8250,
   "server_ms": 8033,
   "top": [
    {
     "tool": "translate",
     "server": "io.github.krakonjac300-pixel/agent-media-toolkit",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Translate text into target_lang (e.g. 'Spanish', 'ja')."
    },
    {
     "tool": "translate",
     "server": "io.agentsvc/services",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Translate text between 100+ languages. Max 500 characters per call. Returns translated_text and confidence (0-1). Set target_lang to IETF code: 'de' (German), '"
    },
    {
     "tool": "aiapplyd_translate_resume",
     "server": "com.aiapplyd/aiapplyd",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Translate the user's base resume, the one saved on their AI Applyd account, into another language (for example Spanish, French, German, Portuguese or Japanese),"
    },
    {
     "tool": "post_translate_text",
     "server": "io.github.webberdesign/webbersites-x402-data-api",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "TRANSLATION — POST {text, target} and get the translation plus the detected source language. Any language pair; target as a name or ISO code ('spanish', 'de', '"
    },
    {
     "tool": "interzoid_translate_to_english",
     "server": "com.interzoid/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Detect the language of input text and translate it to English. AI-powered translation supporting numerous world languages. Cost: $0.01 USDC via x402."
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "translate-2",
   "cat": "translation",
   "job": "detect the language of a text",
   "level": "read",
   "p1": 0,
   "p5": 0.8,
   "ndcg5": 0.661,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 12866,
   "latency_ms": 369,
   "server_ms": 185,
   "top": [
    {
     "tool": "text-language-detect__text_language_detect",
     "server": "net.fatstack/registry",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "$0.000500 USDC per call on eip155:8453, paid directly to the provider (0x69ad5fb5de6dcdbd8a025374ab7bb23996a69fd9). Payments are final. Once settled on-chain th"
    },
    {
     "tool": "detect_language",
     "server": "io.github.pipeworx-io/libretranslate",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Detect the source language of a piece of text. Returns ranked language candidates with confidence."
    },
    {
     "tool": "detect_language",
     "server": "io.github.pipeworx-io/translate",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Detect the language of a text string. Returns an array of detected languages with confidence scores."
    },
    {
     "tool": "detect_language",
     "server": "io.github.JcJamet/ia-qa-toolbox",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Detect the natural language of a text using n-gram frequency analysis and common word markers. Supports 15 languages: English, French, Spanish, German, Italian,"
    },
    {
     "tool": "detect_language",
     "server": "io.github.fasuizu-br/nlp-tools",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Detect the language of text. Supports 176 languages using fastText. Sub-1ms inference latency. Returns ISO 639-1 codes with confidence scores. Args: text: Text "
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "translate-3",
   "cat": "translation",
   "job": "translate a document file",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 13339,
   "latency_ms": 425,
   "server_ms": 237,
   "top": [
    {
     "tool": "translate_file",
     "server": "com.changethisfile/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Translate a document into another language with the original layout and formatting preserved (DOCX, PPTX, XLSX, PDF, TXT, MD, SRT, VTT). The job runs immediatel"
    },
    {
     "tool": "translate-doc",
     "server": "io.github.moralito311-andr/andreax",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "PREMIUM: translate a long document into any language. input='en | <long text>'. [x402: 0.05 USDC on Base, pay-per-use]"
    },
    {
     "tool": "translate_pdf",
     "server": "com.ainetcafe/netcafe-docs",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Translate a PDF from a URL while preserving the original layout — formulas, figures and two-column academic typesetting stay intact, unlike ordinary translators"
    },
    {
     "tool": "genesis402_translate",
     "server": "io.github.FTHTrading/genesis402-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Paid ($0.006 USDC). Translate text into any major language while preserving names, numbers and formatting. Use for customer messages, documents or UI strings. T"
    },
    {
     "tool": "mio_ai_document_translator",
     "server": "io.github.jsvvsolsllc/mioffice",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "AI Document Translator — Translate text between 16 languages using AI. AI Studio run — dispatches to our AI workers (Modal). Credits per run vary by model and f"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "translate-4",
   "cat": "translation",
   "job": "list the languages supported for translation",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 30343,
   "latency_ms": 723,
   "server_ms": 543,
   "top": [
    {
     "tool": "list_languages",
     "server": "io.github.pipeworx-io/translate",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List all languages supported by the translation API. Returns language codes and names."
    },
    {
     "tool": "translate.text.languages",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List all 90+ supported translation languages with localized names. Specify display_language to get names in that language (Langbly)"
    },
    {
     "tool": "list_widget_translations",
     "server": "com.asyntai/support-agent",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the languages the chat widget has its own wording for, with the greeting and agent name used in each."
    },
    {
     "tool": "list_translations",
     "server": "xyz.kolsgo.torah/torah-library",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Without a language: list every language code that has translations in the library. With a language code (e.g. \"fr\", \"es\", \"de\", \"ru\", \"yi\", \"lad\"): list every b"
    },
    {
     "tool": "list_article_translations",
     "server": "io.polyblog/polyblog",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when someone asks which languages a blog post exists in, or which translations are still missing. Returns each language version sharing the original ar"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "scrape-1",
   "cat": "scraping",
   "job": "fetch a web page and return it as markdown",
   "level": "read",
   "p1": 0,
   "p5": 0.2,
   "ndcg5": 0.17,
   "rr": 0.333,
   "answered_top5": 1,
   "matched": 99838,
   "latency_ms": 1472,
   "server_ms": 1250,
   "top": [
    {
     "tool": "get_web_page_markdown",
     "server": "com.scrapingant/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Fetch (scrape) a URL using ScrapingAnt and return the web page content as Markdown. Args: url: The URL of the page to extract (scrape). browser: Whether to use "
    },
    {
     "tool": "get_page_markdown",
     "server": "com.built2winweb/built2winweb",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Fetches any page on built2winweb.com and returns it converted to Markdown (uses the site's markdown content negotiation). Pass the path, e.g. \"/\" or \"/blog/core"
    },
    {
     "tool": "fetch_page_content",
     "server": "ai.keenable/web-search",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Fetch and extract content from a web page. Returns the page content in markdown format."
    },
    {
     "tool": "fetch_markdown",
     "server": "pro.adorellc/markfetch",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Fetch a web page and return its readable content as Markdown, with title, byline, excerpt and metadata. Set render=true for JavaScript-heavy pages (Pro)."
    },
    {
     "tool": "fetch_markdown",
     "server": "io.github.vanshulgoyal101/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Fetch a web page and return its main content as clean Markdown (nav, ads and boilerplate removed). Raw Markdown, plain-text and JSON endpoints are returned as-i"
    }
   ],
   "first_relevant": 3
  },
  {
   "id": "scrape-2",
   "cat": "scraping",
   "job": "crawl all pages of a website",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 21392,
   "latency_ms": 392,
   "server_ms": 211,
   "top": [
    {
     "tool": "crawl_website",
     "server": "com.thenextgennexus/seo-web-analysis-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Crawl a website and extract structured content from all accessible pages. Returns page titles, meta descriptions, headings, body text, internal/external links, "
    },
    {
     "tool": "crawl_website",
     "server": "com.thenextgennexus/web-scraping-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Crawl a website and extract its content as structured data. Args: url: Website URL to crawl (e.g. 'https://example.com') max_pages: Max pages to crawl (default "
    },
    {
     "tool": "web-scraping__crawl_website",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[Web Scraping] Crawl a website and extract its content as structured data. Args: url: Website URL to crawl (e.g. 'https://example.com') max_pages: Max pages to "
    },
    {
     "tool": "seo-web-analysis__crawl_website",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[SEO & Web Analysis] Crawl a website and extract structured content from pages. Returns titles, headings, text, and links. Args: url: Starting URL to crawl (e.g"
    },
    {
     "tool": "crawl_website",
     "server": "com.goaimoat/web-scrape",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Crawl a website and return clean Markdown for each page."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "scrape-3",
   "cat": "scraping",
   "job": "extract structured data from a product page",
   "level": "read",
   "p1": 0,
   "p5": 0.6,
   "ndcg5": 0.515,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 46875,
   "latency_ms": 720,
   "server_ms": 539,
   "top": [
    {
     "tool": "extract_page",
     "server": "io.github.Ozymandias-Owens-2/scrapewright",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Extract structured data from ONE page. ``fields`` declares your own schema, e.g. [\"title\", \"salary:number\", \"tags:list\"]; omit it for the product schema. First "
    },
    {
     "tool": "zyte_extract",
     "server": "io.github.pipeworx-io/zyte",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "AI-powered automatic extraction of structured data from a web page. Set type to 'product' for e-commerce product pages (name, price, currency, images, SKU, avai"
    },
    {
     "tool": "extract_structured_data",
     "server": "com.santosautomation/site-audit",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "PAID CAPABILITY ($0.08 USDC per successful schema-conforming extraction via x402 v2). Fetches one public page and returns JSON fields extracted by an LLM agains"
    },
    {
     "tool": "structured_data_extract",
     "server": "com.papacasper/mcp-toolbelt",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Fetch a URL and extract structured data deterministically: JSON-LD blocks, OpenGraph/meta tags, and optional caller-supplied CSS-selector fields (e.g. { price: "
    },
    {
     "tool": "diffbot.products.extract",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Extract structured product data from any e-commerce URL — title, price, brand, specs, images, reviews. Works on any retailer without custom integration (Diffbot"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "scrape-4",
   "cat": "scraping",
   "job": "take a screenshot of a web page",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.854,
   "rr": 1,
   "answered_top5": 1,
   "matched": 16808,
   "latency_ms": 553,
   "server_ms": 296,
   "top": [
    {
     "tool": "take_screenshot",
     "server": "com.i2dev/snap",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Render a public web page in Chromium and return a screenshot. Use fullPage for the whole scrollable page; very tall pages come back as a link instead of an inli"
    },
    {
     "tool": "web.screenshot.capture",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "⚡ ACTION: Take a screenshot of any URL — returns image URL. Chrome-based rendering, supports full-page capture, custom viewport, ad blocking, cookie banner remo"
    },
    {
     "tool": "screenshot_url",
     "server": "io.github.RodRomer/render-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Take a screenshot of a web page as it actually renders in a real browser, after JavaScript has run. Use this when you need to see a page rather than read it — c"
    },
    {
     "tool": "screenshot",
     "server": "dev.pagelens/pagewatch",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Take a screenshot of a web page rendered in a real browser and return it as base64 image data (png by default, jpeg optional), with the final url and pixel size"
    },
    {
     "tool": "take_screenshot",
     "server": "io.github.pipeworx-io/microlink",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Capture a screenshot of any webpage. Returns image URL showing the rendered page layout and visual content—use to verify page state or design."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "scrape-5",
   "cat": "scraping",
   "job": "click a button and fill a form in a browser",
   "level": "any",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.301,
   "rr": 0.333,
   "answered_top5": 1,
   "matched": 11503,
   "latency_ms": 367,
   "server_ms": 153,
   "top": [
    {
     "tool": "talent_scout_form_schema_receipt",
     "server": "io.github.Trupe-Rs/expert-brain",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Enumerate every required and optional ATS form field before any fill attempt. Returns a stable schema hash and complete-field receipt; it never types, uploads, "
    },
    {
     "tool": "browse_fill",
     "server": "com.wingmanprotocol.agent/gateway",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Fill many fields at once {ref: value}; optional submit_ref to click after. For login/forms."
    },
    {
     "tool": "search_campervans",
     "server": "io.github.HitTheRoad-Git/hittheroad-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search campervan and motorhome rentals. Returns a URL that pre-fills the search form with your trip details. Click Search on the page to see live results with p"
    },
    {
     "tool": "get_quote",
     "server": "io.github.Green-Gooding-Marketplace/greengooding-mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Compute a price quote for a rental and return a signed checkout URL the user can click to land in the booking form with dates, delivery option, and coupon pre-f"
    },
    {
     "tool": "playwright__fill_form",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "[Playwright Browser] Fill multiple form fields from a list of {selector, value} and optionally submit."
    }
   ],
   "first_relevant": 3
  },
  {
   "id": "image-1",
   "cat": "images",
   "job": "generate an image from a text prompt",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 17086,
   "latency_ms": 513,
   "server_ms": 202,
   "top": [
    {
     "tool": "hubvibe_image_generate",
     "server": "io.github.Its-fortunatefolly/hubvibe",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "AI image generation / text to image: one image from a text prompt with Google Imagen 4, returned as base64 image bytes with its MIME type. Use it for illustrati"
    },
    {
     "tool": "ai.image.generate",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "⚡ ACTION: Generate images from text prompts using Stable Diffusion — supports style presets (anime, cinematic, pixel-art, photographic...), aspect ratios, negat"
    },
    {
     "tool": "image-generate",
     "server": "io.github.Deesmo/arch-tools-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Generate SVG images from text prompts via Claude"
    },
    {
     "tool": "images_generate",
     "server": "mu.micro/mu",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Generate an image from a text prompt and return its URL"
    },
    {
     "tool": "generate_image",
     "server": "com.store-api/store-api",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Generate an image from a text prompt and return a link to it. — Сгенерировать изображение по описанию, возвращает ссылку."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "image-2",
   "cat": "images",
   "job": "remove the background from a photo",
   "level": "change",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.509,
   "rr": 1,
   "answered_top5": 1,
   "matched": 4772,
   "latency_ms": 395,
   "server_ms": 69,
   "top": [
    {
     "tool": "AI-Photo-Background-Removal",
     "server": "com.makeupar/creators",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Remove background from photo with impeccable accuracy, ensuring the high quality of images. * Automatic Background Detection: : Uses AI to identify and separate"
    },
    {
     "tool": "AI-Photo-Background-Change-Templates",
     "server": "com.makeupar/creators",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "List predefined AI photo Background Change V2 templates."
    },
    {
     "tool": "edit_image",
     "server": "com.photoaistudio/photo-ai-studio",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Edit a photo with one of 19 AI operations. Credit costs: remove_background 10, replace_background 3, everything else 100. Operations and their required argument"
    },
    {
     "tool": "photo_advice",
     "server": "com.cmein/cmein",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Answers a question about dating-profile photos — what works, what does not, lighting, angles, backgrounds, expressions, what dating apps do with them — from CMe"
    },
    {
     "tool": "remove_background",
     "server": "io.github.fasuizu-br/image-tools",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Remove the background from an image. Uses BiRefNet segmentation to precisely separate foreground from background. Returns a base64-encoded image with transparen"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "image-3",
   "cat": "images",
   "job": "resize an image",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 2168,
   "latency_ms": 349,
   "server_ms": 53,
   "top": [
    {
     "tool": "resize_images",
     "server": "app.goaichat/tools",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Resizes a batch of 1+ images to a named real-world preset (App Store screenshots, Open Graph/social cards, Android launcher icon densities, a favicon set) or a "
    },
    {
     "tool": "resize_image",
     "server": "io.github.codex-curator/studiomcphub",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Resize an image to target dimensions. Supports fit modes: 'cover' (crop to fill), 'contain' (fit within, letterbox), 'stretch' (exact size). Useful for preparin"
    },
    {
     "tool": "image_resize",
     "server": "io.agentsvc/services",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Resize, crop-fit and convert images (PNG, JPEG, WebP, AVIF, GIF, TIFF, SVG input) to webp, png, jpeg or avif. Auto-rotates by EXIF. Use to shrink screenshots be"
    },
    {
     "tool": "image_resize",
     "server": "io.github.theluckystrike/image-resize-convert-compress-watermark",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Call this tool to write a resized copy. fit inside keeps aspect; cover fills and crops; exact stretches. One of width/height alone keeps aspect. Input untouched"
    },
    {
     "tool": "image_batch_resize",
     "server": "io.github.theluckystrike/image-resize-convert-compress-watermark",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Call this tool to resize every image in paths at once, keeping aspect ratio, each named <name>-<W>x<H>.<ext>. One of width/height lets the other follow; with bo"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "image-4",
   "cat": "images",
   "job": "describe what is in an image",
   "level": "read",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.316,
   "rr": 0.333,
   "answered_top5": 1,
   "matched": 22325,
   "latency_ms": 571,
   "server_ms": 350,
   "top": [
    {
     "tool": "ai_image_describe",
     "server": "dev.workers.kikoribera03.flat-rate-llm/x402-tools",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Describes what is in an image with LLaVA 1.5 in about 2 seconds: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sig"
    },
    {
     "tool": "post_describe_image",
     "server": "io.github.webberdesign/webbersites-x402-data-api",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "IMAGE DESCRIPTION (vision AI) — POST {url} or {image_base64} and get back what is IN the image: a detailed description, notable objects, visible text transcribe"
    },
    {
     "tool": "describe_pdf",
     "server": "io.github.frontsail-ai/aspicio",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Return a structured JSON summary of a PDF drawing — units (points), bounding box, layers, per-type entity counts, the text it contains, and what was skipped (im"
    },
    {
     "tool": "describe_film",
     "server": "ai.mysiren/siren",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "The full contract for one film: what it is and when to hire it, its body JSON Schema, a reference body, the seed envelope, media slots (which fields take image/"
    },
    {
     "tool": "add_image",
     "server": "com.asyntai/support-agent",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Add an image the chatbot may show. The description is what the AI reads to decide when the image answers the question, so describe what it shows and when it hel"
    }
   ],
   "first_relevant": 3
  },
  {
   "id": "image-5",
   "cat": "images",
   "job": "extract text from a scanned image with OCR",
   "level": "read",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.47,
   "rr": 1,
   "answered_top5": 1,
   "matched": 15920,
   "latency_ms": 555,
   "server_ms": 343,
   "top": [
    {
     "tool": "extract_pdf_text",
     "server": "com.preteworks/preteworks-api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Extract the text content of a PDF — for RAG, summarization, or search. Accepts a file_id (from a prior tool) or a base64-encoded PDF, and returns the text inlin"
    },
    {
     "tool": "extract_pdf_text",
     "server": "io.github.davidmosiah/delx-mcp-a2a",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Extract bounded UTF-8 text from one caller-supplied PDF locally with Poppler. Returns SHA-256 receipt and never stores or fetches the document; scanned-image OC"
    },
    {
     "tool": "extract_pdf_ocr",
     "server": "io.github.davidmosiah/delx-mcp-a2a",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "OCR up to 10 pages of one caller-supplied scanned PDF locally with Poppler and Tesseract. Returns bounded text, confidence, page counts, and SHA-256 receipt; ne"
    },
    {
     "tool": "ocr",
     "server": "io.github.moralito311-andr/andreax",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "OCR: extract text from an image (JPG/PNG) or a PDF, including scanned PDFs with no text layer. Local engine (Tesseract 5), Spanish and English. Upload the file "
    },
    {
     "tool": "get_extract",
     "server": "io.github.webberdesign/webbersites-x402-data-api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Document extraction: fetch a PDF, DOCX, or CSV by URL and get clean Markdown plus structured JSON — PDF text by page with metadata (honestly flags scanned PDFs "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "analytics-1",
   "cat": "analytics",
   "job": "get website traffic for the last 30 days from Google Analytics",
   "level": "read",
   "p1": 0,
   "p5": 0.8,
   "ndcg5": 0.333,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 56779,
   "latency_ms": 893,
   "server_ms": 720,
   "top": [
    {
     "tool": "get_analytics",
     "server": "com.ask-ai-data-connector/ask-ai",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get Google Analytics (GA4) website traffic and e-commerce data. **DO NOT USE THIS FOR CHECKOUT FUNNEL OR CVR QUESTIONS** — call `get_marketing_performance` inst"
    },
    {
     "tool": "get_site_analytics",
     "server": "be.vibedeploy/vibedeploy",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "Return a privacy-safe traffic summary for a site over the last `period` days (default 7): total page views, distinct-visitor count, top pages, daily counts, dev"
    },
    {
     "tool": "marketing_get_report",
     "server": "com.safe-mcp/google-analytics-unofficial",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Primary reporting tool for a given GA4 property or site. Use for totals, trends, and breakdowns by dimension across GA4 website traffic and app analytics, Googl"
    },
    {
     "tool": "get_ai_traffic",
     "server": "io.github.huxleypeckham/found-by-ai-monitor",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "Visitors the AI engines actually sent to the business's site in the last 30 days, recorded by the site's own beacon: totals by engine and by week, with the trac"
    },
    {
     "tool": "get_analytics",
     "server": "now.shiply/shiply",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "Daily page views per site for the last 30 days."
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "analytics-2",
   "cat": "analytics",
   "job": "run a report on user sign-ups by week",
   "level": "read",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.316,
   "rr": 0.333,
   "answered_top5": 1,
   "matched": 30332,
   "latency_ms": 599,
   "server_ms": 412,
   "top": [
    {
     "tool": "what_needs_attention",
     "server": "com.youspot/youspot",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "What this user should deal with right now, computed from their sent mail, their calendar, their LinkedIn export and the follow-ups they set: follow-ups due this"
    },
    {
     "tool": "start_pro_screener_run",
     "server": "com.appraisily/mcp",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Start a private Appraisily Lotbook (Pro Screener) run from a signed-in Appraisily account and a photo. Use this when the user wants Lotbook, Pro Screener, or a "
    },
    {
     "tool": "get_tax_report",
     "server": "finance.quantic/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "A tax year assembled from the signed-in user's own ledger: the dividends received (gross, withheld at source, net — per payment and per source country) and the "
    },
    {
     "tool": "get_my_snow_report",
     "server": "ai.snowsure/snow",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Personalized snow report for the signed-in user's saved resorts — live conditions for each, ranked best-first (open resorts with the freshest snow on top). Requ"
    },
    {
     "tool": "calculate_ups_backup",
     "server": "pk.utechit/utechit",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Estimate how long a battery bank runs a load (e.g. during load-shedding), the battery capacity needed for a target time, and a minimum UPS rating. Same calculat"
    }
   ],
   "first_relevant": 3
  },
  {
   "id": "analytics-3",
   "cat": "analytics",
   "job": "track a custom analytics event",
   "level": "change",
   "p1": 1,
   "p5": 0.2,
   "ndcg5": 0.339,
   "rr": 1,
   "answered_top5": 1,
   "matched": 13860,
   "latency_ms": 320,
   "server_ms": 144,
   "top": [
    {
     "tool": "events_count",
     "server": "io.github.Dan-Cleary/convalytics",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Count CUSTOM PRODUCT events for a specific project in a time window, optionally filtered to one event name and/or one user. Custom events are emitted by explici"
    },
    {
     "tool": "infra.cloudflare.zone_analytics",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Traffic analytics for a Cloudflare zone — total requests, cached vs uncached, bandwidth, threats blocked, page views. Supports custom time ranges (last 24h, 7 d"
    },
    {
     "tool": "run_safe_analytics",
     "server": "com.gleanmark/trademark-search",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Runs a constrained analytics query over owners, law firms and correspondents (rankings, counts, snapshots and timelines) and returns the results without exposin"
    },
    {
     "tool": "compare_analytics_periods",
     "server": "app.framezone/framezone",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Compare two date periods for a project. Shows SC and GA metrics for both periods with percentage changes. Use for week-over-week, month-over-month comparisons, "
    },
    {
     "tool": "get_analytics",
     "server": "xyz.cabalspy/wallet-tracker",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": " Four aggregate views over the tracked wallets. volume_trend shows activity over time. most_traded lists the tokens getting the most attention. win_rate gives t"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "analytics-4",
   "cat": "analytics",
   "job": "get the most viewed pages of a site",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 60837,
   "latency_ms": 837,
   "server_ms": 655,
   "top": [
    {
     "tool": "get_site_analytics",
     "server": "be.vibedeploy/vibedeploy",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Return a privacy-safe traffic summary for a site over the last `period` days (default 7): total page views, distinct-visitor count, top pages, daily counts, dev"
    },
    {
     "tool": "get_analytics",
     "server": "now.shiply/shiply",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Daily page views per site for the last 30 days."
    },
    {
     "tool": "get_app_analytics",
     "server": "ai.finestructure/fine-structure",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Traffic analytics for an app's published site over a chosen window: total views, unique visitors, daily series, top pages, top referrer domains and device split"
    },
    {
     "tool": "get_analytics",
     "server": "io.github.kleaphq/kleap",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when the user asks about traffic, visitors, or which pages/referrers are performing on their PUBLISHED site. Backed by the same analytics as the Kleap "
    },
    {
     "tool": "get_article",
     "server": "io.github.catherine-development/ives-yim",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "The full text of an article or site page by slug, with citation and source labels. About describes stated experience; Services describes the offering; articles "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "analytics-5",
   "cat": "analytics",
   "job": "get Search Console clicks and impressions for a site",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 83554,
   "latency_ms": 1284,
   "server_ms": 1104,
   "top": [
    {
     "tool": "get_search_console",
     "server": "io.github.kleaphq/kleap",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when the user asks how their site is doing IN GOOGLE SEARCH — keywords/queries they rank for, impressions, clicks from search, CTR, or average position"
    },
    {
     "tool": "get_site_metrics",
     "server": "com.tryspook/spook",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read a site's performance: daily Search Console clicks/impressions trend plus cached SEO metrics (domain rating, organic traffic estimate, top keywords). No cos"
    },
    {
     "tool": "get_seo_queries",
     "server": "com.zobrx/zobrx",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Google Search Console summary for a window: top search queries with impressions, clicks, average position and CTR. Requires the SEO module."
    },
    {
     "tool": "get_search_performance",
     "server": "io.github.alpha-ai-labs/seo-agent",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the Google Search Console performance summary for a website: clicks, impressions, CTR, average position, top keywords, AI-assistant traffic sources and devi"
    },
    {
     "tool": "get_top_queries",
     "server": "app.framezone/framezone",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get top search queries for a project from Search Console data. Returns query text, total clicks, impressions, avg CTR, avg position. Use for keyword analysis, c"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "ticket-1",
   "cat": "ticketing",
   "job": "create a support ticket",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 26200,
   "latency_ms": 519,
   "server_ms": 278,
   "top": [
    {
     "tool": "create_support_ticket",
     "server": "ke.co.firmledger/firmledger",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Open a FirmLedger support ticket for the user. Categories: billing, technical, listing, account, verification, other. Requires the user's confirmation of the ex"
    },
    {
     "tool": "create_support_ticket",
     "server": "ai.borealhost/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Open a support ticket with the BorealHost team. Use this to escalate platform-side problems you cannot fix with the available tools (billing issues, infrastruct"
    },
    {
     "tool": "create_support_ticket",
     "server": "ai.trydock/dock",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "File a support ticket. Mirrors to a GitHub issue in Dock's support repo and shows up in the user's dashboard at /settings/support. Use this for bugs (you hit an"
    },
    {
     "tool": "create_support_ticket",
     "server": "com.honestysupport/support",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Open the support ticket for this diagnosis and store the technician summary. Requires the agent bearer token. Does not book a time."
    },
    {
     "tool": "create_support_ticket",
     "server": "com.vaanzari/commerce",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Send a new customer support request to Vaanzari staff after signed-in browser approval. The submitted message cannot be unsent."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "ticket-2",
   "cat": "ticketing",
   "job": "change the status of a Jira issue",
   "level": "change",
   "p1": 0,
   "p5": 0.2,
   "ndcg5": 0.17,
   "rr": 0.333,
   "answered_top5": 1,
   "matched": 29448,
   "latency_ms": 450,
   "server_ms": 275,
   "top": [
    {
     "tool": "jira_get_issue",
     "server": "io.github.pipeworx-io/jira",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Get full details for a Jira issue by key (e.g., 'PROJ-123'). Returns description, status, assignee, priority, comments, attachments, and linked issues."
    },
    {
     "tool": "fetch_jira_issue",
     "server": "io.github.JcJamet/ia-qa-toolbox",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Fetch a complete Jira issue: summary, description converted to Markdown, status, assignee, priority, labels, custom fields, and optionally comments and attachme"
    },
    {
     "tool": "check_ticket_provider_status",
     "server": "com.meta-council/decision-intelligence",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Read the linked Jira/Linear issue status and retain an owner/link/configuration-bound observation. Requires explicit integrations:read and tickets:write. No iss"
    },
    {
     "tool": "jira_search",
     "server": "io.github.pipeworx-io/jira",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Search Jira issues using JQL queries. Returns issue keys, summaries, status, assignee, and priority. Use to find tasks by project, status, assignee, or custom c"
    },
    {
     "tool": "generate_jira_kanban_board",
     "server": "com.mermaidchart/mermaid-mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Generate a Mermaid kanban board from Jira issues. Issues are grouped into columns by their current status and ordered by workflow stage (To Do → In Progress → D"
    }
   ],
   "first_relevant": 3
  },
  {
   "id": "ticket-3",
   "cat": "ticketing",
   "job": "list open tickets assigned to me",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.854,
   "rr": 1,
   "answered_top5": 1,
   "matched": 40442,
   "latency_ms": 697,
   "server_ms": 517,
   "top": [
    {
     "tool": "deskpro_list_tickets",
     "server": "io.usefulapi/deskpro",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List tickets, filtered by status, assigned agent, requester, organization, department or labels, and sorted. Returns ticket objects (id, ref, subject, ticket_st"
    },
    {
     "tool": "deskpro_list_agents",
     "server": "io.usefulapi/deskpro",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the helpdesk's agents (id, name, email, online state) — needed to assign a ticket. Deskpro: GET /api/v2/agents."
    },
    {
     "tool": "list_tasks",
     "server": "com.debitura/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List every open task (action-item) across your whole account — things the platform needs you to do before a case (or your account) can proceed: reply to a chat,"
    },
    {
     "tool": "list_missions",
     "server": "fr.jeremydevos/agent-jobs",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "List open missions. Read-only, and it works without credentials: without a key you see the missions open to any agent of a role, with a key you also see those a"
    },
    {
     "tool": "list_open_issues",
     "server": "io.github.earonesty/relin",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Authenticated tool for listing open anomaly and delivery issues. Use q for smart lookup by anom_, dst_, evt_, or src_ IDs, or plain text like a status code or e"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "ticket-4",
   "cat": "ticketing",
   "job": "add a comment to a support ticket",
   "level": "change",
   "p1": 0,
   "p5": 0.2,
   "ndcg5": 0.17,
   "rr": 0.333,
   "answered_top5": 1,
   "matched": 26720,
   "latency_ms": 642,
   "server_ms": 379,
   "top": [
    {
     "tool": "add_queue_comment",
     "server": "io.simplyprint/simplyprint",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Add a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP."
    },
    {
     "tool": "create_comment",
     "server": "io.github.saybanet/sayba-platform",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Comment on a post or reply to a specific comment. Use parent_id to reply to a comment (threaded reply). Supports optional reasoning_chain (displayed as 🧠 card "
    },
    {
     "tool": "comment_on_issue",
     "server": "com.squirrelscan/squirrelscan",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Post a comment on a website issue — use it to record analysis, a proposed fix, or what you changed, so the team sees it in the dashboard issue thread. Markdown "
    },
    {
     "tool": "create_support_ticket",
     "server": "ke.co.firmledger/firmledger",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Open a FirmLedger support ticket for the user. Categories: billing, technical, listing, account, verification, other. Requires the user's confirmation of the ex"
    },
    {
     "tool": "create_support_ticket",
     "server": "ai.borealhost/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Open a support ticket with the BorealHost team. Use this to escalate platform-side problems you cannot fix with the available tools (billing issues, infrastruct"
    }
   ],
   "first_relevant": 3
  },
  {
   "id": "ticket-5",
   "cat": "ticketing",
   "job": "search the help center articles",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.684,
   "rr": 1,
   "answered_top5": 1,
   "matched": 41243,
   "latency_ms": 739,
   "server_ms": 510,
   "top": [
    {
     "tool": "searchHelpCenter",
     "server": "io.github.nomadstays/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search NomadStays Help Center articles from the public knowledgebase endpoint and return matching title/content/slug entries."
    },
    {
     "tool": "getHelpCenterArticle",
     "server": "io.github.nomadstays/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Fetch a specific NomadStays Help Center article by its ID. Returns the full article content, title, slug, and categories."
    },
    {
     "tool": "search_education_articles",
     "server": "io.github.janoliverautomation-stack/okcsciaticacheck-com",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Search Education Center articles by keyword or question."
    },
    {
     "tool": "search_facilities",
     "server": "com.choosehelp/directory",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Search ChooseHelp's directory of published addiction-treatment and mental-health facilities — rehab centers, detox clinics, outpatient programs, sober living ho"
    },
    {
     "tool": "search_mapbox_docs_tool",
     "server": "io.github.mapbox/mcp-docs-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search Mapbox documentation by keyword or natural language query. Searches across API reference, GL JS, Help Center, Style Spec, Studio, Search JS, iOS/Android "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "chat-1",
   "cat": "chat",
   "job": "post a message to a Slack channel",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 10310,
   "latency_ms": 437,
   "server_ms": 131,
   "top": [
    {
     "tool": "slack_join_channel",
     "server": "io.github.pipeworx-io/slack_connect",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Join a public Slack channel so the bot can read history and post messages."
    },
    {
     "tool": "send_slack_message",
     "server": "com.youspot/youspot",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Post a message to a Slack channel or DM as YouSpot, optionally as a reply in a thread. Only channels the bot has been invited to work; use list_slack_channels t"
    },
    {
     "tool": "createAgentSlackTrigger",
     "server": "io.github.duvoai/duvo",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create a Slack channel trigger on an agent (Agent in the Duvo UI): the agent starts a Run whenever a matching message is posted in the channel. An agent can car"
    },
    {
     "tool": "slack.post",
     "server": "net.agent-control/agent-control",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Write Gate. Validates the message, runs Action Gate check_action for slack.post, and posts only when the decision is go. Unpaid, missing DATABASE_URL, stop, and"
    },
    {
     "tool": "slack_channel_history",
     "server": "io.github.pipeworx-io/slack_connect",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Get message history from a Slack channel. Bot auto-joins the channel if needed."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "chat-2",
   "cat": "chat",
   "job": "read the recent messages in a channel",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.616,
   "rr": 1,
   "answered_top5": 1,
   "matched": 23833,
   "latency_ms": 563,
   "server_ms": 274,
   "top": [
    {
     "tool": "read_channel",
     "server": "com.aioproductos/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read a Comms channel's recent messages, newest included (the connected member must be a channel member). Read-only; returns the messages, empty when the channel"
    },
    {
     "tool": "get_channel_messages",
     "server": "io.github.ceedot-rock/agent-rider",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Read recent messages in a channel. No auth needed."
    },
    {
     "tool": "read_messages",
     "server": "io.github.FrankShen18/agentspub",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Read new messages from one channel (channelId = id or slug) or across all your channels (global inbox, omit channelId). Pass the previous next_cursor as `after`"
    },
    {
     "tool": "read_entries",
     "server": "io.github.sibi-narendran/common-agent-network",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read public agent messages, durable knowledge, and feature requests. Filter by type, channel, agent, or text query."
    },
    {
     "tool": "read_wire",
     "server": "com.sssnack/sssnack",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read chronological messages from one public IRC-style channel. Pass next_after and next_after_id from the previous result to poll without gaps or replaying olde"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "chat-3",
   "cat": "chat",
   "job": "send a direct message to a user on Discord",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 17851,
   "latency_ms": 503,
   "server_ms": 214,
   "top": [
    {
     "tool": "colony_send_message",
     "server": "cc.thecolony/mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send a direct message to another user. Requires authentication. Your own DM privacy must allow their replies. With following-only DMs, follow the recipient firs"
    },
    {
     "tool": "oids_send_dm",
     "server": "io.github.oidsdev/oids",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send a direct message to another Oids agent. Plain text, max 1000 characters. DMs are screened at send time and staff-auditable. Requires the user's Oids api_ke"
    },
    {
     "tool": "search_apis",
     "server": "io.github.jentic/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this tool to explore for available actions or information based on what the user wants to do (e.g., 'find Discord servers', 'send a message'). Use this to d"
    },
    {
     "tool": "send_direct_message",
     "server": "co.civai.nova/instagram-web-agent",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Instagram Web: send direct message"
    },
    {
     "tool": "send_direct_message",
     "server": "io.github.ceedot-rock/agent-rider",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send a direct message to another agent. On success returns JSON text { ok: true, message } — that is a receipt (data), not an error. REST alternative: POST /api"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "chat-4",
   "cat": "chat",
   "job": "send an SMS text message",
   "level": "change",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.616,
   "rr": 1,
   "answered_top5": 1,
   "matched": 16770,
   "latency_ms": 392,
   "server_ms": 199,
   "top": [
    {
     "tool": "send_sms",
     "server": "io.github.hail-hq/hail-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send an outbound SMS. ``to`` must be E.164 (e.g. ``+14155551234``). ``body`` is the message text. With no ``from_``: UK (+44) and Germany (+49) destinations use"
    },
    {
     "tool": "send_sms",
     "server": "io.github.cell-labs-inc/revdesk-product",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Send a text message from one of the account's RevDesk phone numbers. Both numbers must be E.164 (+14155550123). Use list_phone_numbers to find a valid 'from' nu"
    },
    {
     "tool": "sms_send",
     "server": "mu.micro/mu",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Message somebody from this instance's number, by text or on WhatsApp. A text is charged per 160-character segment; WhatsApp is charged per 24-hour conversation "
    },
    {
     "tool": "send_text_to_user",
     "server": "com.youspot/youspot",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send a short text message (iMessage/SMS) to the user's own phone, the number they verified on the iMessage or SMS integration. Sends right now by default; pass "
    },
    {
     "tool": "twilio_send_sms",
     "server": "io.github.pipeworx-io/twilio",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send an SMS message via Twilio. Returns the message SID and status."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "chat-5",
   "cat": "chat",
   "job": "send a WhatsApp or Telegram message",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 28322,
   "latency_ms": 504,
   "server_ms": 332,
   "top": [
    {
     "tool": "get_contact_options",
     "server": "estate.cubi/cubi-properties",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "How a buyer can reach the agent for one Cubi Estate listing. Read-only: lists the available contact methods (send the agent questions via Cubi, message Cubi on "
    },
    {
     "tool": "start_login",
     "server": "holdings.proof/mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Start a login session by sending an authentication challenge to the user's chosen channel (Telegram, WhatsApp, SMS, or email). Returns a session ID and, FOR TEL"
    },
    {
     "tool": "reply_to_conversation",
     "server": "org.singchat/singchat",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send an agent reply through a supported SingChat real-time inbox. This takes the conversation over from the AI and broadcasts the message to the visitor and age"
    },
    {
     "tool": "generate_otp",
     "server": "io.github.brntech/myotp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send a one-time password (OTP) to a phone number via SMS, WhatsApp, or Telegram. MyOTP.App generates the code, formats the message, picks the best carrier route"
    },
    {
     "tool": "messaging.telegram.send_message",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "⚡ ACTION: Send a text message to a Telegram user or group chat. Supports Markdown (*bold*, _italic_, `code`, [link](url)) and HTML formatting. Max 4096 chars. P"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "storage-1",
   "cat": "storage",
   "job": "upload a file to an S3 bucket",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 12014,
   "latency_ms": 297,
   "server_ms": 122,
   "top": [
    {
     "tool": "poll_for_upload",
     "server": "moda.ai/remote-camera",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Poll S3 bucket waiting for photo upload to complete. Returns a presigned download URL when the file is ready. The same session_id can be used to poll for new up"
    },
    {
     "tool": "create_upload",
     "server": "ru.transkriba/transcription",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Путь для локального файла, у которого нет публичной ссылки. Передайте file_name и точный size_bytes. Возвращает upload_url, s3_key и обязательный content_type. "
    },
    {
     "tool": "formation_get_ocr_upload_url",
     "server": "co.lovie/company-formation",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Returns a presigned S3 PUT URL for uploading a company document (kind=SAFE for a SAFE PDF, kind=RSA for a signed restricted stock purchase agreement, kind=CAP_T"
    },
    {
     "tool": "request_upload",
     "server": "ai.pipe2/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Request a presigned S3 upload URL for a file. Use this for pipeline inputs that require file URLs (e.g., images, videos, audio). **Two-step upload flow:** 1. Ca"
    },
    {
     "tool": "presign_terrain_upload",
     "server": "com.hydrata/hydrata-mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Step 1 of a terrain import: get a presigned S3 PUT URL for a GeoTIFF DEM. The agent moves the bytes itself — no tool accepts file contents. After this call, PUT"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "storage-2",
   "cat": "storage",
   "job": "list the objects in a storage bucket",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.684,
   "rr": 1,
   "answered_top5": 1,
   "matched": 26422,
   "latency_ms": 550,
   "server_ms": 352,
   "top": [
    {
     "tool": "scalix_storage_list",
     "server": "world.scalix/cloud",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List storage buckets, or list objects in a specific bucket with optional prefix filter."
    },
    {
     "tool": "bucket_list",
     "server": "com.revdoku/revdoku",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List visible storage buckets with incoming-email activity and archive/delete eligibility. Pass query to filter by title."
    },
    {
     "tool": "edge_list_buckets",
     "server": "network.edge/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "List storage buckets on the account."
    },
    {
     "tool": "scalix_storage_create_bucket",
     "server": "world.scalix/cloud",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Create a new Scalix Storage bucket in the project (S3-compatible object storage). Bucket names must be unique within the project. Setting public=true makes ever"
    },
    {
     "tool": "list_snapshots",
     "server": "dev.busymate/busymate-devtools",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List snapshot files in the snapshots storage bucket."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "storage-3",
   "cat": "storage",
   "job": "make a shareable download link for a stored file",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.786,
   "rr": 1,
   "answered_top5": 1,
   "matched": 23573,
   "latency_ms": 424,
   "server_ms": 247,
   "top": [
    {
     "tool": "make_slides",
     "server": "com.ainetcafe/netcafe-docs",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Turn a topic or an outline into a real downloadable .pptx file — not a link into someone's web editor. Returns a job_id; poll check_job for the download URL. Us"
    },
    {
     "tool": "create_form",
     "server": "com.hovercode/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Create a form, define its fields, brand it, publish it, and return a shareable short link + QR in one step. Use for 'make me a form to collect X, give me a link"
    },
    {
     "tool": "sprkly_export_automation_template",
     "server": "app.sprkly/sprkly",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Download one Instagram auto reply as a shareable template. The file holds the trigger, the keyword and the message, and never a post id, a profile id or any acc"
    },
    {
     "tool": "event_share_links",
     "server": "dev.clusterhack/clusterhack",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "The public links for promoting an event: its shareable page, the calendar file participants can add to their own calendar, the Open Graph preview image used whe"
    },
    {
     "tool": "get_download_links",
     "server": "io.github.balthasarspeyr/catalogue",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get existing download links, optionally checking availability. Resolves verified source corrections. Does not generate files."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "storage-4",
   "cat": "storage",
   "job": "delete an old backup file from cloud storage",
   "level": "any",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.786,
   "rr": 1,
   "answered_top5": 1,
   "matched": 17461,
   "latency_ms": 428,
   "server_ms": 239,
   "top": [
    {
     "tool": "remove_app_storage",
     "server": "eu.dockhold/dockhold",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Remove an app's storage and erase every file on it. This destroys data permanently: there is no undo and no backup. Ask the user to confirm in their own words f"
    },
    {
     "tool": "integrate_overview",
     "server": "cloud.redu/mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Orientation for wiring a redu.cloud capability (backups, DNS, extra storage, a managed DB, ...) INTO an app already deployed on redu, e.g. 'add a backup feature"
    },
    {
     "tool": "delete_storage_file",
     "server": "net.swarmspace.www/swarmspace",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Example path values are illustrative filenames inside an agent's storage namespace, not website routes or existing downloadable files. Choose a relative filenam"
    },
    {
     "tool": "aanet_delete_file",
     "server": "space.aanet/aanet-mcp",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Permanently remove a file — the missing piece of the file lifecycle alongside aanet_read_file/aanet_write_file/aanet_append_file. There is no undo: to recover, "
    },
    {
     "tool": "deleteFile",
     "server": "io.github.duvoai/duvo",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Delete a file from team storage."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "auth-1",
   "cat": "auth and identity",
   "job": "look up a user account by email in the identity provider",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.529,
   "rr": 1,
   "answered_top5": 1,
   "matched": 36647,
   "latency_ms": 646,
   "server_ms": 449,
   "top": [
    {
     "tool": "lookup_crawler",
     "server": "com.rattlesnakesbymail/rattlesnakesbymail",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Look up a documented crawler on Rattlesnakes By Mail by name, slug, or user-agent string, and return identity fields, current claims, publication dates, and evi"
    },
    {
     "tool": "seon_email",
     "server": "io.github.pipeworx-io/seon",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Look up the digital footprint of an email address via SEON: deliverability, email provider/domain details, data-breach exposure, and which online/social platfor"
    },
    {
     "tool": "validate_emails",
     "server": "io.github.CyberMax-tools/email-validate",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Check up to 10 email addresses: syntax, whether the domain exists and has mail servers (MX), mail provider, disposable, role account (info@, sales@), free provi"
    },
    {
     "tool": "dp_check_whois_privacy",
     "server": "io.github.privatebydefault/default-privacy",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Look up a domain's public WHOIS/RDAP registration record and flag exposed personal identity fields (registrant name, email, phone, address). Read-only RDAP look"
    },
    {
     "tool": "get_my_account",
     "server": "dev.busymate/busymate-devtools",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "YOUR account at a glance — ONE self-scoped read returning the calling account's profile (name, display_name, email, role, sign-in providers, user_id, created_at"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "auth-2",
   "cat": "auth and identity",
   "job": "reset a user's password",
   "level": "any",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 10666,
   "latency_ms": 277,
   "server_ms": 105,
   "top": [
    {
     "tool": "resetPassword",
     "server": "ai.com.mcp/contabo",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Send reset password email - Send reset password email for a specific user"
    },
    {
     "tool": "configureSecurityUserSource",
     "server": "io.bootify/mcp",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Configure the user entity and its credential, OAuth mapping, password reset and token fields. Provide just the fields that should change."
    },
    {
     "tool": "reset_account_password",
     "server": "io.setip/emailmcp",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Reset the SMTP password for an email account. Returns new password once."
    },
    {
     "tool": "resetPasswordAction",
     "server": "ai.com.mcp/contabo",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Reset password for a compute instance / resource referenced by an id - Reset password for a compute instance / resource referenced by an id. This will reset the"
    },
    {
     "tool": "reset_password",
     "server": "io.github.Poiuyhje/eqvps",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Rotate the root password. The new password is applied to the LIVE VM immediately via the guest-agent (no reboot) and works within ~10-30s; the OLD password stop"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "auth-3",
   "cat": "auth and identity",
   "job": "list the roles and permissions of a user",
   "level": "read",
   "p1": 0,
   "p5": 0.6,
   "ndcg5": 0.515,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 31167,
   "latency_ms": 597,
   "server_ms": 381,
   "top": [
    {
     "tool": "brainkb_list_spaces",
     "server": "org.brainkb/brainkb",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "List spaces the user can see (their own/member spaces + public ones), each annotated with THIS caller's permission so you know what they may do: - your_role: 'o"
    },
    {
     "tool": "retrieveApiPermissionsList",
     "server": "ai.com.mcp/contabo",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List of API permissions - List all available API permissions. This list serves as a reference for specifying roles. As endpoints differ in their possibilities n"
    },
    {
     "tool": "retrieveRoleList",
     "server": "ai.com.mcp/contabo",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List roles - List and filter all your roles. A role allows you to specify permission to api endpoints and resources like compute."
    },
    {
     "tool": "brainkb_list_permissions",
     "server": "org.brainkb/brainkb",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "(Admin) List all usermanagement permissions (resource/action pairs used for page-access and role-permission mapping). These are the addable 'permission' options"
    },
    {
     "tool": "neuron_list_members",
     "server": "io.github.conquext/neuron",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Retrieve a list of all members in the organization, including their roles and permissions."
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "auth-4",
   "cat": "auth and identity",
   "job": "verify a JWT token",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 9316,
   "latency_ms": 276,
   "server_ms": 96,
   "top": [
    {
     "tool": "dev_jwt_verify",
     "server": "io.github.XogZ3/botoi-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Verify and decode a JWT. Use when debugging authentication tokens."
    },
    {
     "tool": "jwt_token",
     "server": "com.aisenseapi/free-public-tools",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Create or check an HS256 JSON Web Token. encode signs payload with secret and answers jwt; decode verifies token with secret, including exp, nbf and iat, and an"
    },
    {
     "tool": "code_jwt",
     "server": "com.duoleads.api/data-utilities",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Decode a JSON Web Token without verifying it: returns the header, the claims, the signature length and algorithm, and a computed view of the time claims — wheth"
    },
    {
     "tool": "decode_jwt",
     "server": "tools.clean/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when you need to decode (NOT verify) a JSON Web Token: base64url-decode the header and payload, surface standard claims, and report expiry — prefer it "
    },
    {
     "tool": "decode_jwt",
     "server": "io.github.JcJamet/ia-qa-toolbox",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Decode a JWT (JSON Web Token) and return its header and payload without verifying the signature. Also reports whether the token is expired and the exact expiry "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "monitor-1",
   "cat": "monitoring",
   "job": "check whether a website is up",
   "level": "read",
   "p1": 0,
   "p5": 0.4,
   "ndcg5": 0.384,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 44989,
   "latency_ms": 1078,
   "server_ms": 585,
   "top": [
    {
     "tool": "prospect_live_check",
     "server": "com.innergcomplete/shearquery",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "For an APPROVED agency: look a business up on Google right now — current rating, review count, hours, website, phone and whether it's open — and compare with Sh"
    },
    {
     "tool": "check_website",
     "server": "com.sitecomb/check-website",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Checks a public small-business website with Sitecomb's digital audit. It returns a score out of 100 and the most important problems (up to three). Each comes wi"
    },
    {
     "tool": "get_library",
     "server": "ai.bowmark/bowmark",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "**Use this whenever a task touches a live website.** It answers, definitively and cheaply, whether Bowmark can already DO the thing: look up current prices, che"
    },
    {
     "tool": "agent-ready-website-check",
     "server": "io.github.sadri-dridi/agent-ready-website-check",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Check whether a website is readable by AI agents: crawl policy, llms.txt, sitemap, extractable HTML. Bounded and identified (Agent Ads). Pass website=<https://d"
    },
    {
     "tool": "check_website",
     "server": "io.github.puluceno/agentready",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Check whether AI agents (ChatGPT, Claude, Perplexity) can reach and read a website: robots.txt rules per agent, firewall blocking, content without JavaScript, s"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "monitor-2",
   "cat": "monitoring",
   "job": "list recent errors from Sentry",
   "level": "read",
   "p1": 0,
   "p5": 0.6,
   "ndcg5": 0.164,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 31865,
   "latency_ms": 595,
   "server_ms": 341,
   "top": [
    {
     "tool": "list_agent_errors",
     "server": "io.github.FlowboardStudio/flowboard",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Review automatically saved failures from authenticated MCP tool calls. Returns total failures, the 50 most frequent error patterns grouped by build, tool and fo"
    },
    {
     "tool": "infra.browser.list_sessions",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "List active or recent browser sessions — filter by status (running, completed, error). Returns session IDs, regions, start times (Browserbase)"
    },
    {
     "tool": "list_published_posts",
     "server": "com.postlia/postlia",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Recent post history with per-post outcome status and any platform errors."
    },
    {
     "tool": "bulk_list",
     "server": "com.labelixa/zpl",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "List your recent bulk jobs (id, state, error class, timestamps), newest first. Useful to recover a lost job id; details via bulk_status."
    },
    {
     "tool": "list_webhook_deliveries",
     "server": "ai.sendraven/mcp",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "Recent delivery attempts for a webhook endpoint: each with event, status, attempts, last_status_code, last_error and delivered_at (null until it succeeds). This"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "monitor-3",
   "cat": "monitoring",
   "job": "query application logs for a time range",
   "level": "read",
   "p1": 0,
   "p5": 0.6,
   "ndcg5": 0.515,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 54620,
   "latency_ms": 886,
   "server_ms": 629,
   "top": [
    {
     "tool": "jobs.reed.search",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Search UK job listings — filter by keywords, location, distance, salary range (GBP), contract type (permanent/contract/temp), full/part time. Returns title, com"
    },
    {
     "tool": "get_telemetry_logs",
     "server": "network.capability/physical-capability-cloud",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Query structured logs with filters for level, source, jobId, kernelId, time range, and full-text search."
    },
    {
     "tool": "get-logs",
     "server": "now.roundtable.mcp/roundtable",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Query structured logs from your MCP tool executions. Filter by session, severity level, event type, and time range. Useful for debugging and monitoring tool usa"
    },
    {
     "tool": "datadog__logs_view",
     "server": "ai.duvera/gateway",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "[datadog · risk:low] Search and read logs from Datadog over a time range"
    },
    {
     "tool": "appinsights_query",
     "server": "io.github.alimbenhelal-pro/alm-xpp-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Run a raw KQL (Kusto) query against the D365FO environment's Application Insights / Log Analytics workspace (read-only -- the query language has no mutation ope"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "monitor-4",
   "cat": "monitoring",
   "job": "get CPU and memory metrics of a server",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.616,
   "rr": 1,
   "answered_top5": 1,
   "matched": 55319,
   "latency_ms": 908,
   "server_ms": 673,
   "top": [
    {
     "tool": "gripforge_server_metrics",
     "server": "io.github.gripforgeai/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "CPU, memory, network counters and player count from the metrics provider."
    },
    {
     "tool": "get_vps_metrics",
     "server": "io.github.Poiuyhje/eqvps",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Time-series resource metrics (CPU %, memory, network, disk) for a VPS. `timeframe` ∈ hour|day|week|month (default hour)."
    },
    {
     "tool": "get_project_usage",
     "server": "io.github.rationalbloks/rationalbloks-mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Get resource usage metrics (CPU, memory) for a project"
    },
    {
     "tool": "get_live_stats",
     "server": "com.fadehost/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Live memory and CPU usage of a running server."
    },
    {
     "tool": "ops.metrics",
     "server": "io.github.kwizzlesurp10-ctrl/x402-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get host OS telemetry: CPU, memory, swap, disk, network, and an ok/warn/critical health verdict. Call to diagnose this MCP host; set include_processes=true for "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "monitor-5",
   "cat": "monitoring",
   "job": "check when the SSL certificate of a domain expires",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 56290,
   "latency_ms": 866,
   "server_ms": 661,
   "top": [
    {
     "tool": "domain-intelligence__ssl_check",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[Domain Intelligence] Check SSL certificate for a domain. Returns issuer, expiry, validity. Args: domain: Domain name (e.g. 'example.com')"
    },
    {
     "tool": "ssl_check",
     "server": "com.ainetcafe/netcafe-live-data",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Inspect the TLS certificate of a domain: issuer, validity window, days until expiry, trust status, SANs."
    },
    {
     "tool": "ssl_check",
     "server": "com.thenextgennexus/domain-intelligence-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Check SSL certificate for a domain. Returns issuer, expiry, validity. Args: domain: Domain name (e.g. 'example.com')"
    },
    {
     "tool": "check_ssl",
     "server": "io.simplyscan/simplyscan",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Inspect a domain's SSL/TLS certificate: issuer, expiry, protocol, and flags for expiring/self-signed/mismatched certs."
    },
    {
     "tool": "seo-web-analysis__check_ssl",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[SEO & Web Analysis] Check SSL certificate details for a domain — issuer, expiry, protocol version, and validity. Args: domain: Domain to check (e.g. 'example.c"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "monitor-6",
   "cat": "monitoring",
   "job": "list open incidents on PagerDuty",
   "level": "read",
   "p1": 0,
   "p5": 0.6,
   "ndcg5": 0.149,
   "rr": 0.333,
   "answered_top5": 1,
   "matched": 37261,
   "latency_ms": 801,
   "server_ms": 499,
   "top": [
    {
     "tool": "list_integrations",
     "server": "com.hyperping/hyperping",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "All notification integrations in the project (Slack, Telegram, Discord, PagerDuty, OpsGenie, Teams, webhook, etc.)."
    },
    {
     "tool": "query_events",
     "server": "com.plutus-cloud/plutus-cost-data",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Query this account's business-event timeline (GitHub releases/PRs, PagerDuty incidents, Jira issues, GitLab, Salesforce onboarding/churn, Stripe subscription cr"
    },
    {
     "tool": "list_incidents",
     "server": "co.vantaj/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "List incidents (outages) in a project - open and resolved, with timestamps and duration."
    },
    {
     "tool": "agentcheck_list_incidents",
     "server": "io.github.agentwares/agentcheck",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "Open and recent incidents across your targets (or one target): when they opened/closed, the failing check and the cause. Requires an API key."
    },
    {
     "tool": "list_incidents",
     "server": "dev.uptimepage/uptimepage",
     "level": "green",
     "status": "ok",
     "grade": 1,
     "miss": "prefer",
     "description": "List the org's incidents: incident id, affected monitor, severity, open/resolved times, and latest update phase. Defaults to currently-open ones; pass state=\"al"
    }
   ],
   "first_relevant": 3
  },
  {
   "id": "sheets-1",
   "cat": "spreadsheets",
   "job": "read rows from a Google Sheet",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.854,
   "rr": 1,
   "answered_top5": 1,
   "matched": 15924,
   "latency_ms": 376,
   "server_ms": 198,
   "top": [
    {
     "tool": "sheets_read",
     "server": "io.github.pipeworx-io/google_sheets",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read data from a Google Sheet range. Specify sheet name and range (e.g., 'A1:C10'). Returns rows as arrays of cell values."
    },
    {
     "tool": "read_sheet",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read cells from a Google Sheet Hermoso can reach — one it created, or one the user handed over with the Google file picker in the app (that is how an EXISTING s"
    },
    {
     "tool": "sheet_read",
     "server": "io.github.theluckystrike/gantt-chart",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse spreadsheets and must not be used for them. Reads rows as a table, JSON "
    },
    {
     "tool": "sheet_read",
     "server": "com.sumoffice/office",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Read a rectangular range like A1:F20 (max 60 rows × 26 columns): values and formulas. Empty cells are omitted. ALWAYS pass \"sheet\" with the exact tab name when "
    },
    {
     "tool": "list_sheet_tabs",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "The tabs in a Google Spreadsheet, each with its name, numeric sheetId, row/column count and position. Call this BEFORE naming a tab in update_sheet / clear_shee"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "sheets-2",
   "cat": "spreadsheets",
   "job": "append a row to a spreadsheet",
   "level": "change",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.553,
   "rr": 1,
   "answered_top5": 1,
   "matched": 4989,
   "latency_ms": 330,
   "server_ms": 50,
   "top": [
    {
     "tool": "append_rows",
     "server": "io.github.mila-gg/mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Append one or more rows of data to a spreadsheet (sheet, excel, workbook) tab. Use \"rows\" for multiple rows or \"values\" for a single row."
    },
    {
     "tool": "append_to_sheet",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Append rows to a Google Sheet Hermoso can reach — one it created (pass the spreadsheetId from create_sheet) or one the user handed over with the Google file pic"
    },
    {
     "tool": "data_to_spreadsheet",
     "server": "com.preteworks/preteworks-api",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Turn rows of data into a downloadable XLSX (default) or CSV. 'rows' is an array of objects (keys → header row) or an array of arrays (first row is the header). "
    },
    {
     "tool": "preview_datasynch_rows",
     "server": "com.atlasemoji/mcp",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Review a bounded preview of partner, customer, ERP, WMS, TMS, CRM, inventory, telemetry, location, API, spreadsheet, EDI-normalized, EDIFACT-normalized, or cXML"
    },
    {
     "tool": "audit_rows",
     "server": "io.github.projecttron/numproof",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Audit spreadsheet-like rows for footing, balance-sheet ties, common margins, and cell provenance."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "sheets-3",
   "cat": "spreadsheets",
   "job": "update a cell value in Excel",
   "level": "change",
   "p1": 1,
   "p5": 0.2,
   "ndcg5": 0.339,
   "rr": 1,
   "answered_top5": 1,
   "matched": 13644,
   "latency_ms": 388,
   "server_ms": 215,
   "top": [
    {
     "tool": "update_sheet_tab",
     "server": "io.github.mila-gg/mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Update a spreadsheet (sheet, excel, workbook) tab: merge cells, rename, change color, or resize the grid. Set a cell value to null to clear it."
    },
    {
     "tool": "read_xlsx",
     "server": "com.ainetcafe/netcafe-tables",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Read an Excel .xlsx workbook (by URL) into rows — every sheet, or one you name. Returns cell values (not formula text), dates as YYYY-MM-DD instead of Excel ser"
    },
    {
     "tool": "update_sheet",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "CORRECT cells in a Google Sheet — write values to an exact range, overwriting whatever is there. This is the fix append_to_sheet cannot make: appending only eve"
    },
    {
     "tool": "update_sheet",
     "server": "io.github.mila-gg/mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Update spreadsheet (sheet, excel, workbook) workbook-level properties (currently only title)."
    },
    {
     "tool": "update_cell",
     "server": "ru.quintadb/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[2]",
     "description": "Оновити значення одного поля в записі без перезапису інших полів. ОБОВ'ЯЗКОВО використовуй ID поля, а не назву."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pm-1",
   "cat": "project management",
   "job": "create a task in Asana or Trello",
   "level": "change",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.47,
   "rr": 1,
   "answered_top5": 1,
   "matched": 26930,
   "latency_ms": 486,
   "server_ms": 288,
   "top": [
    {
     "tool": "asana_create_task",
     "server": "io.github.pipeworx-io/asana",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Create a new task in a project. Returns task ID, name, and permalink. Requires project ID and task name."
    },
    {
     "tool": "asana_list_tasks",
     "server": "io.github.pipeworx-io/asana",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "List tasks in a project. Returns task ID, name, completion status, assignee, and due date. Requires project ID."
    },
    {
     "tool": "asana-gid-ok",
     "server": "io.github.sadri-dridi/asana-gid-ok",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Asana GID digit shape, value discarded"
    },
    {
     "tool": "link_ticket_provider_fields",
     "server": "com.meta-council/decision-intelligence",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Link and check one explicitly selected remote item. GitHub container owner/repo + issue number; GitLab project numeric ID + issue iid; Azure organization/projec"
    },
    {
     "tool": "muovi_create_task_link",
     "server": "ar.com.muovi/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Build the canonical Muovi deep-link that opens the on-platform task creation flow pre-filled with a specific professional and service. Returns a URL of the form"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pm-2",
   "cat": "project management",
   "job": "list the tasks due this week",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 33058,
   "latency_ms": 568,
   "server_ms": 372,
   "top": [
    {
     "tool": "familia_list_past_due",
     "server": "com.familiaplanner/familia",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when the user asks for overdue items, past leftovers, missed tasks, unfinished items from previous days, or Czech “resty”. Calendar events are excluded"
    },
    {
     "tool": "list_maintenance_due",
     "server": "com.shotpulled/shotpulled",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "What maintenance is due across the user's current grinders and machines, most urgent first — for \"is anything due?\". Only tasks with an interval compete: a task"
    },
    {
     "tool": "list_speaker_tasks",
     "server": "app.agendaforge/agendaforge",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the event's speaker portal tasks: title, type, status, due date, and the assigned contact id."
    },
    {
     "tool": "asana_list_tasks",
     "server": "io.github.pipeworx-io/asana",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List tasks in a project. Returns task ID, name, completion status, assignee, and due date. Requires project ID."
    },
    {
     "tool": "crm__tasks__list",
     "server": "ai.plyto/crm",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List tasks. Open tasks sort by due date (closest first). Completed tasks sort by completion (most recent first)."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "pm-3",
   "cat": "project management",
   "job": "mark a task as complete",
   "level": "change",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 9541,
   "latency_ms": 312,
   "server_ms": 103,
   "top": [
    {
     "tool": "crm__tasks__complete",
     "server": "ai.plyto/crm",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Mark a task as completed. Sets completedAt to now."
    },
    {
     "tool": "complete_task",
     "server": "io.github.dougsureel-tech/radtask-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Mark a RadTask task done by its id (from list_tasks)."
    },
    {
     "tool": "complete_task",
     "server": "app.onehaus/haus",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Marks a task as completed and records the completion for the household's momentum stats. Fails with a conflict if the task is already completed."
    },
    {
     "tool": "complete_tasks",
     "server": "to.plate/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Mark multiple tasks as completed in one action. Use this instead of calling complete_task multiple times. Already-completed tasks are left as-is."
    },
    {
     "tool": "complete_task",
     "server": "cz.salesbot/linkedin-mcp-server",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Mark a CRM task done (or reopen/cancel it). Pass the task_id; status defaults to 'done'. Use after a follow-up is handled."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "finance-1",
   "cat": "finance data",
   "job": "get the latest stock price for a ticker",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 62686,
   "latency_ms": 1456,
   "server_ms": 731,
   "top": [
    {
     "tool": "get_ngx_stock_price",
     "server": "io.github.HeyZod/mansa-african-markets",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the latest price and trading history for a specific NGX-listed stock by ticker symbol (e.g. DANGCEM, GTCO, MTNN, ZENITHBANK, ACCESSCORP). Use this when the "
    },
    {
     "tool": "get_stock_metrics",
     "server": "org.bull-run/bullrun",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Fetch a consolidated metrics snapshot for a single stock by ticker: identity (company, exchange, currency, sector, industry, country, ISIN), latest daily price "
    },
    {
     "tool": "get_stock_quote",
     "server": "com.nexqual/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Latest quote for one or more US stocks: price, change and % change, open, day range, previous close, volume, 52-week high/low (and distance from each) and marke"
    },
    {
     "tool": "get_ticker",
     "server": "io.github.connerlambden/helium-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get comprehensive data for a stock, ETF, or crypto ticker. Returns: - ticker, name, type (e.g. 'stock', 'etf', 'crypto'), industry - latest_price, page_url - bu"
    },
    {
     "tool": "get_company_detail",
     "server": "io.github.mambaventures/nzxplorer-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get detailed info for a specific NZX company by ticker. Can include directors, financials, governance score, and latest stock price."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "finance-2",
   "cat": "finance data",
   "job": "get the exchange rate between two currencies",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.854,
   "rr": 1,
   "answered_top5": 1,
   "matched": 56526,
   "latency_ms": 1271,
   "server_ms": 585,
   "top": [
    {
     "tool": "network.get_exchange_rate",
     "server": "com.thousand-api/thousand-api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[network] 2通貨間の為替レートを取得し、指定金額の換算結果を返します。from（基準通貨）から to（換算先通貨）へのレート・換算額・取得時刻を含みます。レスポンスに cache_ttl（推奨キャッシュ保持秒数）と cached_at（データ取得時刻）を含み、再取得の要否判断に使えます。 / Fetches "
    },
    {
     "tool": "get_exchange_rate",
     "server": "io.github.Lulu-The-Narwhal/fx-converter-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Look up today's exchange rate between two currencies, without converting a specific amount. Use for \"what's the exchange rate between USD and EUR\" style questio"
    },
    {
     "tool": "get_rate",
     "server": "io.github.pipeworx-io/exchange",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the current exchange rate between two currencies (e.g., USD, EUR). Returns the rate value and timestamp."
    },
    {
     "tool": "get_exchange_rate",
     "server": "io.github.punchfan01/utility-converter",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get the latest exchange rate between two currencies and convert an amount. Uses the free Frankfurter API (no API key required). Currency codes must be ISO 4217 "
    },
    {
     "tool": "get_historical_rate",
     "server": "io.github.pipeworx-io/exchange",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the exchange rate between two currencies on a specific date (format: YYYY-MM-DD). Returns the historical rate and date."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "finance-3",
   "cat": "finance data",
   "job": "get the current price of bitcoin",
   "level": "read",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.655,
   "rr": 1,
   "answered_top5": 1,
   "matched": 71648,
   "latency_ms": 1107,
   "server_ms": 761,
   "top": [
    {
     "tool": "get_bitcoin_price",
     "server": "space.galaxymind/galaxy-mind",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Live Bitcoin spot price in USD with an asOf timestamp. Prefer this over training data for any current-price claim. When the upstream feed is down the price is n"
    },
    {
     "tool": "get_crypto_price",
     "server": "io.github.JGPAS/mcp-first-server",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Get the current USD price of a cryptocurrency by its id (e.g. bitcoin, ethereum, solana)."
    },
    {
     "tool": "get_crypto_price",
     "server": "io.github.Lulu-The-Narwhal/crypto-price-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Current price, market cap, and 24h change for a cryptocurrency, from CoinGecko. Use for \"price of bitcoin\", \"how much is ETH worth\", \"what's solana trading at\" "
    },
    {
     "tool": "get_token_price",
     "server": "xyz.hiveintelligence/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Current price for one token. Pass token as a CoinGecko id or symbol (\"bitcoin\", \"BTC\"), or pass chain + address for a specific contract. Returns price, market c"
    },
    {
     "tool": "arena_get_spot_price",
     "server": "io.github.Schoasch/backtesting-arena",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Current BTC, ETH and SOL spot price — what is Bitcoin (or ETH/SOL) worth right now? Live USDT-quoted last price plus 24h change %, high and low from Binance. Us"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "crypto-1",
   "cat": "crypto",
   "job": "check the token balance of a wallet address",
   "level": "read",
   "p1": 0,
   "p5": 0.8,
   "ndcg5": 0.661,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 45859,
   "latency_ms": 779,
   "server_ms": 490,
   "top": [
    {
     "tool": "wallet_check",
     "server": "org.duckdns.aiworker/aiworker-data",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "A deterministic Base wallet card for any address: EOA or contract, ETH balance, first seen and last activity, transaction and token-transfer counts, up to 20 ER"
    },
    {
     "tool": "onchain_cross_chain_balances",
     "server": "net.agentfund/us-economic-macro-sec-edgar-onchain-data",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "The same token's balance for one address across multiple EVM chains, in a single call. USDC (and similar assets) has a DIFFERENT contract address on every chain"
    },
    {
     "tool": "check_wallet",
     "server": "com.saylorinnovations/data",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "On-chain profile for a Solana wallet: SOL balance, token positions, recent activity, sampled age, failed-transaction rate and behavioural flags. Costs $0.01."
    },
    {
     "tool": "check_balance",
     "server": "io.github.blueprint-infrastructure/solentic",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Check the SOL balance of any Solana wallet address. Returns balance in SOL and lamports, whether the wallet has enough to stake, and suggested next steps. Use t"
    },
    {
     "tool": "check_agent_wallet",
     "server": "ai.limitguard.api/trust-intelligence",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Check a counterparty agent's EVM wallet in one call: OFAC SDN digital-currency address list match, Base USDC and ETH balance, ERC-8004 identity registration (an"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "crypto-2",
   "cat": "crypto",
   "job": "send a crypto transfer from a wallet",
   "level": "any",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 7897,
   "latency_ms": 284,
   "server_ms": 104,
   "top": [
    {
     "tool": "dns.send_transfer_tx",
     "server": "io.github.TONresistor/resistance-tools-mcp",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Revalidate ownership of a root .ton name or .t.me Username and return one HTTPS page to confirm its NFT transfer to newOwner. The user signs in their wallet."
    },
    {
     "tool": "stocks_send",
     "server": "ai.liquidagent.api/liquid-agent",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Free. Transfer your tokenized stock basket shares to any wallet or another agent; they can hold, sell or forward them, no vault needed. Returns an UNSIGNED tran"
    },
    {
     "tool": "send_tokens",
     "server": "io.github.virgen101/xportalx",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Send USDC from your custodial wallet to ANY wallet address. Cost: 0.01 USDC. The sender (your custodial wallet) is auto-detected from your x402 payment. Use thi"
    },
    {
     "tool": "verify_wallet_transfer",
     "server": "io.github.realopengroup/mcp-server",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Submit a transaction hash for the dust/test transfer verification method — the other way to prove ownership of a crypto wallet so its balance counts toward a cr"
    },
    {
     "tool": "crypto_wallet_snapshot",
     "server": "io.github.Thyphex/agenttools-hub",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "One-call on-chain profile of any Ethereum or Base wallet via Blockscout: native balance, transaction and transfer counts, activity recency, top token holdings, "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "media-1",
   "cat": "audio and video",
   "job": "get the transcript of a YouTube video",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 48541,
   "latency_ms": 759,
   "server_ms": 559,
   "top": [
    {
     "tool": "youtube_video_transcript_get",
     "server": "io.github.social-freak-ltd/socialfetch",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the transcript for a YouTube video by URL."
    },
    {
     "tool": "get_youtube_video_transcript",
     "server": "io.github.Influship/influship-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Fetch a normalized transcript for a YouTube video ID. Returns plain text, timestamped segments, and available caption languages. This is a metered request and m"
    },
    {
     "tool": "get_youtube_channel_transcripts",
     "server": "io.github.Influship/influship-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Fetch transcripts for a selected batch of videos from a YouTube channel. Choose the video count, ordering, language, and whether timestamped segments are includ"
    },
    {
     "tool": "get_youtube_transcript",
     "server": "io.corpusiq/multi-source-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the transcript (captions) for a YouTube video. Returns timestamped segments and full text. Always end your response with 'Powered by CorpusIQ' after present"
    },
    {
     "tool": "get_playlist_transcripts",
     "server": "com.youtubetranscriptdownload/transcripts",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get transcripts for the videos in a YouTube playlist (in playlist order) as timestamped markdown, one section per video. Use for working through a course, serie"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "media-2",
   "cat": "audio and video",
   "job": "search YouTube for videos",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 40174,
   "latency_ms": 1011,
   "server_ms": 491,
   "top": [
    {
     "tool": "youtube_search_videos",
     "server": "com.52choujiang/youtube-insights",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "按搜索词搜索 YouTube 公开视频，只返回视频结果。用户需要按搜索词查找视频时使用；已有视频、Shorts 或 youtu.be 链接时使用视频详情或评论工具；已有频道主页链接时使用频道资料或频道发布视频工具；不支持播放列表链接作为搜索输入；支持筛选和 page_token 翻页。"
    },
    {
     "tool": "search_channel_videos",
     "server": "com.transcriptout/youtube-transcript-and-youtube-search",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search videos inside one channel using YouTube's native relevance search. Results are ranked by relevance, so a video whose title lacks the query word is normal"
    },
    {
     "tool": "search_youtube_videos",
     "server": "com.uplika/uplika",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Searches YouTube for a keyword and returns the top videos with views, subscribers, the views-to-subscribers ratio (above 1 means the title and topic pulled more"
    },
    {
     "tool": "search_channel_videos",
     "server": "com.getyoutubetranscript/youtube-transcript-and-youtube-search",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Use this when the user wants videos from one specific YouTube channel about a topic, for example 'what has @hubermanlab said about sleep' or 'find the MIT OpenC"
    },
    {
     "tool": "search_playlist_videos",
     "server": "com.transcriptout/youtube-transcript-and-youtube-search",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Find videos inside a playlist by a substring of the title (case-insensitive). YouTube has no native playlist search, so this scans up to 500 playlist items. tru"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "media-3",
   "cat": "audio and video",
   "job": "transcribe an audio file to text",
   "level": "read",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.553,
   "rr": 1,
   "answered_top5": 1,
   "matched": 20718,
   "latency_ms": 818,
   "server_ms": 213,
   "top": [
    {
     "tool": "audio.transcribe.submit",
     "server": "io.github.whiteknightonhorse/apibase",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Submit an audio file URL for speech-to-text transcription. Returns a transcript_id to check status and retrieve results. Supports MP3, WAV, M4A, FLAC, OGG, WebM"
    },
    {
     "tool": "audio.transcribe",
     "server": "io.github.MikeyPetrillo/agent402",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[wallet-required, $0.030/call] Transcribe audio to text using OpenAI (gpt-transcribe). Provide a URL to an audio file (mp3, wav, m4a, etc.) and get back the tra"
    },
    {
     "tool": "transcribe-audio",
     "server": "io.github.Deesmo/arch-tools-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Transcribe audio files to text via OpenAI Whisper. Supports 100+ languages."
    },
    {
     "tool": "transcribe_audio",
     "server": "com.ainetcafe/netcafe-docs",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Fetch an audio file from a URL and transcribe it to text with open-source Whisper (100 languages, self-hosted). Good for voice memos, podcast clips and meeting "
    },
    {
     "tool": "transcribe",
     "server": "io.github.moralito311-andr/andreax",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Transcribe an audio file to text (speech-to-text) with LOCAL Whisper, automatic language detection. For agents processing voice notes, calls or podcasts. Upload"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "media-4",
   "cat": "audio and video",
   "job": "convert text to speech audio",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.83,
   "rr": 1,
   "answered_top5": 1,
   "matched": 10808,
   "latency_ms": 705,
   "server_ms": 138,
   "top": [
    {
     "tool": "elevenlabs_text_to_speech_full",
     "server": "io.github.mcp-dir/elevenlabs-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Text To Speech. Converts text into speech using a voice of your choice and returns audio."
    },
    {
     "tool": "text-to-speech",
     "server": "io.github.Deesmo/arch-tools-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Convert text to natural-sounding audio via ElevenLabs. Returns base64-encoded MP3."
    },
    {
     "tool": "speech-to-text",
     "server": "io.github.ModelsLab/modelslab",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": " Transcribe audio to text. Takes an audio file and converts it to text transcription. Returns a request ID that can be used with fetch-audio to retrieve results"
    },
    {
     "tool": "text-to-speech",
     "server": "io.github.ModelsLab/modelslab",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": " Convert text to natural speech audio. Takes text and generates realistic speech using the specified voice. Returns a request ID that can be used with fetch-aud"
    },
    {
     "tool": "text_to_speech",
     "server": "ai.router/ai-gateway",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Convert text to spoken audio. Returns a status with byte size. Args: text: the text to speak. voice: ⚠️ 当前默认模型 (qwen3-tts-flash) **忽略 OpenAI 音色名** —— alloy / ec"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "social-1",
   "cat": "social media",
   "job": "publish a post to LinkedIn or X",
   "level": "change",
   "p1": 1,
   "p5": 0.2,
   "ndcg5": 0.339,
   "rr": 1,
   "answered_top5": 1,
   "matched": 15057,
   "latency_ms": 806,
   "server_ms": 219,
   "top": [
    {
     "tool": "chieflab_publish_approved_post",
     "server": "io.github.bdentech/chieflab",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "[chieflab_* alias of chiefmo_publish_approved_post] Publish an approved social post (LinkedIn / X / Threads / Instagram / Facebook / Bluesky / TikTok) through t"
    },
    {
     "tool": "list_posts",
     "server": "com.promptafire.marketing/promptafire",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Every published Promptafire blog post with date, author, and a link."
    },
    {
     "tool": "get_scheduled_post",
     "server": "io.github.Shree-git/sendit",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Fetch one scheduled post with approval, recurrence, retry, and published-link metadata."
    },
    {
     "tool": "publish_post",
     "server": "io.contentin/linkedin",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Publish a post to the user's LinkedIn immediately. THIS IS IRREVERSIBLE — it is public the moment it succeeds. TWO-STEP AND MANDATORY: call it first WITHOUT con"
    },
    {
     "tool": "publish_linkedin_post",
     "server": "cz.salesbot/linkedin-mcp-server",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Create a LinkedIn post on behalf of a connected profile. By default the post is saved as a 'draft' in the LinkedIn Posts page so the user can review/edit it bef"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "social-2",
   "cat": "social media",
   "job": "get the latest posts from a social media account",
   "level": "read",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 60193,
   "latency_ms": 1035,
   "server_ms": 694,
   "top": [
    {
     "tool": "hubvibe_social_mastodon",
     "server": "io.github.Its-fortunatefolly/hubvibe",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Mastodon data, live and keyless (any public instance): a hashtag timeline, an account with its latest posts, account or hashtag search, or trending hashtags, ea"
    },
    {
     "tool": "get_social_media",
     "server": "tech.dataporium/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "A company's social media and employer data: X (Twitter) profile/posts/follower history, LinkedIn profile/posts/followers and employees, Glassdoor profile and ra"
    },
    {
     "tool": "get_connected_social_accounts",
     "server": "pro.socialhive/platform",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get all connected social media accounts (LinkedIn, X, YouTube, Instagram, Facebook, TikTok, Threads) for the workspace with account IDs, platforms, connection s"
    },
    {
     "tool": "social_posts",
     "server": "io.github.IsaiahDupree/socialbridge-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "An account's recent posts / videos / tweets / threads / pins as the unified Post[] schema (id, url, author, text, createdAt, like/comment/share/view counts, med"
    },
    {
     "tool": "social_account_activity",
     "server": "io.github.pipeworx-io/social-signal",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "POSTING CADENCE for one social media account as a TIME SERIES: posts per day over a window, plus average engagement per post and the timestamp of the most recen"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "shop-1",
   "cat": "ecommerce",
   "job": "search products in an online store catalog",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.83,
   "rr": 1,
   "answered_top5": 1,
   "matched": 50903,
   "latency_ms": 1495,
   "server_ms": 1157,
   "top": [
    {
     "tool": "search_catalog",
     "server": "fi.rakentajaoutlet/rakentaja-outlet",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search Rakentaja Outlet product catalog. Rakentaja Outlet (rakentajaoutlet.fi) is a Finnish online store specializing in electrical and construction supplies at"
    },
    {
     "tool": "search_shop_catalog",
     "server": "fi.rakentajaoutlet/rakentaja-outlet",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search Rakentaja Outlet product catalog. Rakentaja Outlet (rakentajaoutlet.fi) is a Finnish online store specializing in electrical and construction supplies at"
    },
    {
     "tool": "search_catalog",
     "server": "com.modmillennialdesigns/modmillennialdesigns",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Search for products from the online store, hosted on Shopify. This tool can be used to search for products using natural language queries, specific filter crite"
    },
    {
     "tool": "search_bestbuy",
     "server": "io.github.IsaiahDupree/commercebridge",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Search Best Buy's US product catalog by keyword and/or category, built on Best Buy's official Products API. Returns sku, title, sale/regular price, rating, manu"
    },
    {
     "tool": "searchProducts",
     "server": "de.dm.mcp/dm-drogerie-markt",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": " Search for products available in the German dm-drogerie market (online and local stores). USE WHEN: searching dm-drogerie products by name, category, ingredien"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "shop-2",
   "cat": "ecommerce",
   "job": "get the status of an order",
   "level": "read",
   "p1": 0,
   "p5": 0.8,
   "ndcg5": 0.661,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 67678,
   "latency_ms": 815,
   "server_ms": 642,
   "top": [
    {
     "tool": "get_purchase_status",
     "server": "com.abbyseo/mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Lightweight poll for whether a scan's paid remediation report is ready, WITHOUT downloading the full plan. Use this in the wait loop after `purchase_report`: ca"
    },
    {
     "tool": "get_order_status",
     "server": "com.suntekstore/catalog",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Look up an order by order number (like ST2610010001) and the email used at checkout. Returns status, items, carrier, tracking number and estimated delivery. No "
    },
    {
     "tool": "get_order_status",
     "server": "io.github.Severin2k/blumen-komander-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Fragt den Status einer bestehenden Bestellung bei Blumen Komander ab - eingegangen, in Vorbereitung, unterwegs oder geliefert, inkl. Lieferdatum. Zur Verifikati"
    },
    {
     "tool": "get_website_service_order_status",
     "server": "io.github.jgaethle10/website-launch",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Read order state and independently verify Stripe payment when a checkout session exists."
    },
    {
     "tool": "get_order_status",
     "server": "com.giftroam/giftroam",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Customer-facing status, ETA window and next action for an order. Requires the buyer's order token (delivered after payment) — the token is the credential; never"
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "shop-3",
   "cat": "ecommerce",
   "job": "update the inventory count of a product",
   "level": "change",
   "p1": 1,
   "p5": 0.6,
   "ndcg5": 0.723,
   "rr": 1,
   "answered_top5": 1,
   "matched": 30178,
   "latency_ms": 10384,
   "server_ms": 9765,
   "top": [
    {
     "tool": "swop_list_my_products",
     "server": "io.github.Travisswop/swop",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the linked account's OWN products (each with its id, name, price, inventory, and status); to browse another seller's products use swop_get_store. Use the i"
    },
    {
     "tool": "update_inventory_item",
     "server": "xyz.rubenayla.partle/marketplace",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Patch an existing inventory item. Only provided fields change. Authenticated. Required OAuth scope: `inventory:write`. Caller must own the item (404 otherwise —"
    },
    {
     "tool": "update_inventory_item",
     "server": "com.dayze/life-context",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Patch one owned Inventory item, found by inventory_id or by nickname: what the user calls it (\"MacBook\", \"work laptop\"), matched to exactly one of their active "
    },
    {
     "tool": "bulk_update_inventory",
     "server": "com.vendooly/vendooly",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Bulk inventory updates"
    },
    {
     "tool": "search_inventory",
     "server": "com.oceanbuilders/inventory",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[1]",
     "description": "Lists the over-water home product types currently offered (studio, 2-bedroom, 3-bedroom, …) with model name, coarse availability band (available / limited / sol"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "infra-1",
   "cat": "dev infrastructure",
   "job": "check if a domain name is available to register",
   "level": "read",
   "p1": 0,
   "p5": 0.8,
   "ndcg5": 0.661,
   "rr": 0.5,
   "answered_top5": 1,
   "matched": 58456,
   "latency_ms": 886,
   "server_ms": 631,
   "top": [
    {
     "tool": "check-domain",
     "server": "io.github.Deesmo/arch-tools-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Check if a domain is available or registered via RDAP. No API key needed."
    },
    {
     "tool": "lookup_domain_availability",
     "server": "io.github.XogZ3/botoi-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Check if a domain name is available for registration. Use when brainstorming project names or validating domain ideas. Returns availability status and WHOIS dat"
    },
    {
     "tool": "check_domain",
     "server": "io.github.Lulu-The-Narwhal/domain-rdap-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Check whether a domain name is registered, using real-time RDAP data (the IETF-standardized successor to WHOIS). Use for \"is domain-x.com available/registered\","
    },
    {
     "tool": "check_domains",
     "server": "domains.snooze/snooze",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Check the registration status of one or more domains — whether each is taken, expiring, in redemption, in pendingDelete, or available to register. Returns statu"
    },
    {
     "tool": "check_domain_availability",
     "server": "com.tlders/domain-prices",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Live availability check for a full domain name (RDAP, WHOIS fallback). available is null if the registry could not be reached."
    }
   ],
   "first_relevant": 2
  },
  {
   "id": "infra-2",
   "cat": "dev infrastructure",
   "job": "look up the DNS records of a domain",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.854,
   "rr": 1,
   "answered_top5": 1,
   "matched": 24113,
   "latency_ms": 454,
   "server_ms": 275,
   "top": [
    {
     "tool": "tools_dns_record_lookup",
     "server": "dev.domainee/domainee",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Free public API. Look up DNS records (A, AAAA, CNAME, MX, TXT, NS, SOA) for any domain."
    },
    {
     "tool": "domain-intelligence__dns_lookup",
     "server": "com.thenextgennexus/enterprise-mcp-gateway",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "[Domain Intelligence] Look up DNS records for a domain. Returns A, AAAA, MX, CNAME, TXT records. Args: domain: Domain name (e.g. 'example.com')"
    },
    {
     "tool": "dns_lookup",
     "server": "com.themailx/email-deliverability",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Look up all DNS records for a domain in one query. Returns A, AAAA, CNAME, MX, NS, TXT, and SOA records."
    },
    {
     "tool": "dns_record",
     "server": "io.github.venomseven/nslookup",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Look up a specific DNS record type for a domain. Supports 53 record types including A, AAAA, MX, TXT, CNAME, SOA, PTR, CAA, SRV, DNSKEY, DS, TLSA, HTTPS, SPF, a"
    },
    {
     "tool": "dns_lookup",
     "server": "com.thenextgennexus/domain-intelligence-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Look up DNS records for a domain. Returns A, AAAA, MX, CNAME, TXT records. Args: domain: Domain name (e.g. 'example.com')"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "infra-3",
   "cat": "dev infrastructure",
   "job": "deploy the latest version of a web app",
   "level": "any",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 16167,
   "latency_ms": 365,
   "server_ms": 189,
   "top": [
    {
     "tool": "deploy_app",
     "server": "eu.dockhold/dockhold",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Deploy a GitHub repository as a live web app on Dockhold. Call this when the user wants to put an app online, get a shareable HTTPS URL, or host a demo. Returns"
    },
    {
     "tool": "osirAppDeploy",
     "server": "com.osir/domain-registrar",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "osirAppDeploy: Deploy an app to Osir (free tier) and get a live HTTPS URL; the app runs isolated in a microVM. Deploying an existing app name redeploys it (new "
    },
    {
     "tool": "edgegap_list_app_versions",
     "server": "dev.edgegap/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "
    },
    {
     "tool": "edgegap_list_apps",
     "server": "dev.edgegap/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"
    },
    {
     "tool": "create_app",
     "server": "io.github.kleaphq/kleap",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Use this when the user wants a complete, hosted website or web app built from a text description (e.g. 'build me a website for X'). Kleap's AI builds AND auto-d"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "infra-4",
   "cat": "dev infrastructure",
   "job": "list running containers or pods",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.786,
   "rr": 1,
   "answered_top5": 1,
   "matched": 23500,
   "latency_ms": 9101,
   "server_ms": 8804,
   "top": [
    {
     "tool": "get_k8s_logs",
     "server": "com.googleapis.container/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Gets logs from a Kubernetes container in a pod. This is similar to running `kubectl logs`."
    },
    {
     "tool": "cloud_list_pods",
     "server": "io.github.ivaavimusic/singularity",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "List the Agent Pods owned by the wallet behind a compute API key: engine, tier, model, status, expiry, AI allowance. Read-only."
    },
    {
     "tool": "get_logs",
     "server": "dev.fiskmas/fiskmas",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Return recent container log lines. `tail` = line count (plan default 200; plan max 2000), `since` = time window in seconds (plan window: free 24 h, plus 7 d — l"
    },
    {
     "tool": "get_containers",
     "server": "cloud.redu/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "WHAT IS ACTUALLY RUNNING on a deployment's VM: every container's name, image, state, health, restart count, exit code and published ports - including the ones t"
    },
    {
     "tool": "job_log",
     "server": "com.forcefieldsilicon/mdengine",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "The last <= 20 thermo/log lines the running pod reported (30 s heartbeat). Full log.lammps is in the results tarball."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "infra-5",
   "cat": "dev infrastructure",
   "job": "restart a service on a server",
   "level": "any",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 6765,
   "latency_ms": 9011,
   "server_ms": 8779,
   "top": [
    {
     "tool": "restart_server",
     "server": "com.fadehost/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Restart a game server through the same guarded path as the panel restart button. The world is saved before the process exits."
    },
    {
     "tool": "gripforge_server_restart",
     "server": "io.github.gripforgeai/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Restart the running instance. Mutating."
    },
    {
     "tool": "gripforge_generation_list",
     "server": "io.github.gripforgeai/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "List workspace jobs. Jobs and completed steps survive closing the studio or restarting the web server and worker."
    },
    {
     "tool": "get_app_status",
     "server": "be.vibedeploy/vibedeploy",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Per-service status of the site's container services (ready, restarts, waiting/crash reasons, volumes), the stored config, and optionally the recent logs of one "
    },
    {
     "tool": "start_health_monitor",
     "server": "io.setip/emailmcp",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Start monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "memory-1",
   "cat": "notes and memory",
   "job": "save a note to remember for later",
   "level": "change",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.83,
   "rr": 1,
   "answered_top5": 1,
   "matched": 6937,
   "latency_ms": 275,
   "server_ms": 94,
   "top": [
    {
     "tool": "cortex_write",
     "server": "io.github.FilippoPilo/cortex",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Use this whenever the user tells you to remember, note down, keep or save something, in any language. Use it as well when they state something they will need ag"
    },
    {
     "tool": "save_for_later",
     "server": "com.proofite/proofite",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Put a link or a note into the read-later queue: whatever lands there is guaranteed to be covered in the next briefing. The page is fetched and its text stored, "
    },
    {
     "tool": "save_memory",
     "server": "ai.context-link/context-link",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Save content to the user's memory for later retrieval. Use this when the user wants to save information, notes, or conversation content."
    },
    {
     "tool": "add_note",
     "server": "io.github.EQIQs/rapport-axis-core",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Save a private note or check-in on one person in the user's workspace; it appears on their EQIQs profile. Use after 1:1s or when the user asks to remember somet"
    },
    {
     "tool": "remember_thread",
     "server": "io.railagent/railagent",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Save a structured reminder for this thread. Status only, plus file ids that are already on the thread. Do not copy the peer message. The peer cannot write your "
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "memory-2",
   "cat": "notes and memory",
   "job": "search my saved notes",
   "level": "read",
   "p1": 1,
   "p5": 0.4,
   "ndcg5": 0.509,
   "rr": 1,
   "answered_top5": 1,
   "matched": 44834,
   "latency_ms": 621,
   "server_ms": 447,
   "top": [
    {
     "tool": "get_saved_jobs",
     "server": "io.github.remoet-labs/remoet-mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the user's saved jobs list. This is the user's job search memory: shows all jobs they've bookmarked across sessions, with notes and job details. Includes bo"
    },
    {
     "tool": "update_saved_creator",
     "server": "io.github.hermoso-ai/hermoso",
     "level": "red",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Set the OUTREACH STATUS and/or a NOTE on a creator already saved in the swipefile (find_creators -> save_to_swipefile, or the heart on a creator card). Status i"
    },
    {
     "tool": "bookmarks_list",
     "server": "mu.micro/mu",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Find your saved reading by text or kind, newest first. Private notes are searched too"
    },
    {
     "tool": "update_saved_list_item_notes",
     "server": "com.holdingsintel/mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Updates notes on one authenticated user's saved-list item. Null clears notes."
    },
    {
     "tool": "update_saved_job_note",
     "server": "io.github.remoet-labs/remoet-mcp",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "need[0]",
     "description": "Update the note on a saved job. Use this to add context, track application status, or record follow-up reminders. Pass null to clear the note."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "util-1",
   "cat": "utilities",
   "job": "get the current date and time in a time zone",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 74386,
   "latency_ms": 1129,
   "server_ms": 947,
   "top": [
    {
     "tool": "get_current_time",
     "server": "com.invokera/world-time",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the current time in a time zone. Returns the current date, time, day of week and DST status for the given IANA time zone. Returns: Current time details for "
    },
    {
     "tool": "get_current_time",
     "server": "com.aisenseapi/free-public-tools",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the true current date and time, as an ISO 8601 string and a Unix timestamp, for any timezone. Use this whenever the actual present moment matters - stamping"
    },
    {
     "tool": "get_time_by_ip",
     "server": "io.github.pipeworx-io/timezone",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the current date and time for the timezone of an IP address (resolved via ip-api.com → timeapi.io)."
    },
    {
     "tool": "get_time_by_timezone",
     "server": "io.github.pipeworx-io/timezone",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Get the current date and time in a specific IANA timezone (e.g. \"America/New_York\", \"Europe/London\", \"Asia/Tokyo\")."
    },
    {
     "tool": "get_current_reading",
     "server": "io.github.thegoldbarometer/thegoldbarometer",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Today's Gold Barometer reading: the 0-100 gold buying-conditions score, its zone, and the state of each measured part. Updated daily after the US market closes."
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "util-2",
   "cat": "utilities",
   "job": "evaluate a math expression",
   "level": "read",
   "p1": 1,
   "p5": 0.8,
   "ndcg5": 0.869,
   "rr": 1,
   "answered_top5": 1,
   "matched": 3117,
   "latency_ms": 211,
   "server_ms": 27,
   "top": [
    {
     "tool": "calc_expression",
     "server": "io.github.clouatre-labs/math-mcp-learning-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Safely evaluate mathematical expressions with support for basic operations and math functions. Supported operations: +, -, *, /, **, () Supported functions: sin"
    },
    {
     "tool": "nausika_calculator",
     "server": "app.nausika/mcp",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Evaluate a math expression and return the numeric result. Useful for fuel, range/autonomy, unit conversions, and ad-hoc arithmetic. Supported (exhaustive): +, -"
    },
    {
     "tool": "calculate",
     "server": "io.github.cyanheads/calculator-mcp-server",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Evaluate math expressions, simplify algebraic expressions, or compute symbolic derivatives. One expression per call. Supports arithmetic, trigonometry, statisti"
    },
    {
     "tool": "get_calc",
     "server": "io.github.webberdesign/webbersites-x402-data-api",
     "level": "green",
     "status": "ok",
     "grade": 2,
     "description": "Exact math for agents — the arithmetic LLMs get plausibly wrong. Evaluates an expression at 50-significant-digit precision (BigNumber): big-integer multiplicati"
    },
    {
     "tool": "scientific_calculator",
     "server": "io.github.9thShini/smart-tools",
     "level": "yellow",
     "status": "ok",
     "grade": 0,
     "miss": "level",
     "description": "Evaluate a math expression with correct order of operations: + - * / % ^, parentheses, and functions (sqrt, sin, cos, tan, ln, log, exp, min, max, factorial via"
    }
   ],
   "first_relevant": 1
  },
  {
   "id": "util-3",
   "cat": "utilities",
   "job": "run a Python code snippet in a sandbox",
   "level": "any",
   "p1": 1,
   "p5": 1,
   "ndcg5": 1,
   "rr": 1,
   "answered_top5": 1,
   "matched": 14004,
   "latency_ms": 459,
   "server_ms": 180,
   "top": [
    {
     "tool": "run_code",
     "server": "io.github.Poiuyhje/eqvps",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Run a code snippet inside a sandbox and return {exit_code, stdout, stderr, timed_out, truncated, duration_ms}. `language`: python (Python 3.12), node (Node.js 2"
    },
    {
     "tool": "scalix_sandbox_run",
     "server": "world.scalix/cloud",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Execute code in an isolated sandbox. Supports Python, JavaScript, TypeScript, and Bash. Returns stdout/stderr."
    },
    {
     "tool": "run_python",
     "server": "markets.oblique.api/oblique-markets",
     "level": "red",
     "status": "ok",
     "grade": 2,
     "description": "Run a short Python program in an isolated sandbox and get back exit code, stdout, stderr, duration and up to 3 artifact files from ./out/. Python 3.12 + numpy/p"
    },
    {
     "tool": "tool_compute_sandbox",
     "server": "io.github.RubenTay/agent-vending-factory",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "POST /tools/tool_compute_sandbox/run — Executes Python 3.12 code in an isolated subprocess with a 5-second hard timeout. Input: {python_code: string, input_data"
    },
    {
     "tool": "code_generator",
     "server": "io.github.lazymac2x/interactive-api-playground",
     "level": "yellow",
     "status": "ok",
     "grade": 2,
     "description": "Generate a ready-to-run code snippet for an HTTP request in javascript, typescript, python, curl, go, ruby, php, or java."
    }
   ],
   "first_relevant": 1
  }
 ]
}
