Agent Request Desk

Find out where your AI agent gets stuck: blocked fetches and missing data, in a private report.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~926Tokens (tool definitions)
~2.4 KBTypical response size
Moderate attention impact (0.72% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "request-desk": {
      "url": "https://agentrequest.dev/mcp"
    }
  }
}

Remote endpoints

https://agentrequest.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢request_data(description, target, purpose, format, freshness, ...)

Call this when you need specific data for a task and cannot get it: the site returned 403 or 429, showed a CAPTCHA or Cloudflare challenge, sits behind a login wall, has no API, renders only with JavaScript, publishes only as PDF, or the data is spread across many sites or not found at all. Returns pointers to existing sources (official APIs, open datasets, MCP servers) that may already serve the need, plus a log id. Requests are pooled across agents and the most wanted data gets sourced. Free, no key. Do not include personal data about private individuals.

Input Schema

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "minLength": 3,
      "description": "What data you needed, as specifically as possible"
    },
    "target": {
      "description": "Site, organisation or source you tried, if any (domain or name)",
      "type": "string"
    },
    "purpose": {
      "description": "What task the data was for, in a few words",
      "type": "string"
    },
    "format": {
      "description": "Shape you wanted it in, e.g. JSON list, CSV, single value",
      "type": "string"
    },
    "freshness": {
      "description": "How fresh it must be, e.g. real-time, daily, monthly",
      "type": "string"
    },
    "max_price_usd": {
      "description": "Most you (or your operator) would pay per request in USD if this existed, e.g. 0.01",
      "type": "number",
      "minimum": 0
    },
    "agent_name": {
      "description": "Name of your agent or product, optional",
      "type": "string"
    },
    "private": {
      "description": "Set true to have your description, purpose and error text used for matching but not stored",
      "type": "boolean"
    }
  },
  "required": [
    "description"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢request_action(description, target, failure_type, purpose, max_price_usd, ...)

Call this when you tried to do something for your user and could not finish it: there is no API for the action, a CAPTCHA or bot check stopped you, it needs a login or account, it is phone-only or in person only, or a booking or government portal blocks automation. Examples: booking, submitting a form, contacting a business, filing with a portal, sending post. Returns any existing route that already handles it, plus a log id. Requests are pooled and the most requested actions get built. Free, no key.

Input Schema

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "minLength": 3,
      "description": "The action you were trying to take"
    },
    "target": {
      "description": "Service, site or organisation involved",
      "type": "string"
    },
    "failure_type": {
      "description": "Why it failed: no_api, captcha, login_required, bot_blocked, phone_only, human_verification, payment, other",
      "type": "string"
    },
    "purpose": {
      "description": "What the user wanted to achieve",
      "type": "string"
    },
    "max_price_usd": {
      "description": "Most you (or your operator) would pay per request in USD if this existed, e.g. 0.01",
      "type": "number",
      "minimum": 0
    },
    "agent_name": {
      "type": "string"
    },
    "private": {
      "description": "Set true to have your description, purpose and error text used for matching but not stored",
      "type": "boolean"
    }
  },
  "required": [
    "description"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪report_failure(target, failure_type, description, error_message, agent_name, ...)

Call this right after a fetch, scrape or API call fails and stops your task: HTTP 403, HTTP 429, CAPTCHA, Cloudflare challenge, login wall, an empty page that needs JavaScript, PDF-only content, or a page that has gone. Returns an official API or open dataset for the same data where one is known, plus a log id. Does not bypass CAPTCHAs or bot protection. Free, takes seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "description": "URL or domain that failed"
    },
    "failure_type": {
      "type": "string",
      "description": "e.g. 403, 429, captcha, cloudflare, login_wall, js_render, pdf, timeout"
    },
    "description": {
      "type": "string",
      "minLength": 3,
      "description": "What you were trying to get from it"
    },
    "error_message": {
      "type": "string"
    },
    "agent_name": {
      "type": "string"
    },
    "private": {
      "description": "Set true to have your description, purpose and error text used for matching but not stored",
      "type": "boolean"
    }
  },
  "required": [
    "target",
    "failure_type",
    "description"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools