Ujeebu
Web scraping, Google SERP, Markdown and ChatGPT/Gemini answers as typed tools for AI agents.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWujeebu_scrape_extract에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.ujeebu.com/mcp"
}
}
}원격 엔드포인트
https://mcp.ujeebu.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (17)
🔴ujeebu_account
Get account usage information including balance, quota, requests used, and billing details. Rate limited to 10 calls per minute.
입력 스키마
{
"type": "object",
"properties": {},
"required": []
}🔴ujeebu_buy(interval, item, kind)
Buy a credit top-up or upgrade the plan directly, charging the account's saved card. Requires an API key. This charges the saved card only if the human enabled agent purchases and set a monthly cap in the Ujeebu dashboard (Billing); agent purchases are off by default. Otherwise (purchases disabled, no saved card, over the monthly cap, card declined, or extra verification required) it returns an error with a checkout_url: hand that link to your human instead. Never retry a declined charge in a loop. Check ujeebu_plans first for prices and the remaining monthly cap. Downgrades and cancellations are not possible via agents.
입력 스키마
{
"type": "object",
"properties": {
"interval": {
"description": "Billing interval for kind=plan only. Default: month. Ignored for top-ups.",
"enum": [
"month",
"year"
],
"type": "string"
},
"item": {
"description": "Id of the top-up or plan, as listed by ujeebu_plans (e.g. 'mini' for a top-up, 'starter' for a plan).",
"type": "string"
},
"kind": {
"description": "'topup' for a one-off credit pack (credits never expire) or 'plan' for a subscription upgrade.",
"enum": [
"topup",
"plan"
],
"type": "string"
}
},
"required": [
"kind",
"item"
]
}🔴ujeebu_card(auto_proxy, custom_proxy, js, js_timeout, proxy_country, ...)
Fast article preview extraction using meta tags. Returns title, summary, author, dates, image, and site info. Much faster than full extraction.
입력 스키마
{
"type": "object",
"properties": {
"auto_proxy": {
"description": "Auto-escalate to better proxy on failure. Default: false",
"type": "boolean"
},
"custom_proxy": {
"description": "Custom proxy URI: scheme://user:pass@host:port (required if proxy_type='custom')",
"type": "string"
},
"js": {
"description": "Execute JavaScript: 'true', 'false', or 'auto' (let extractor decide). Default: 'false'",
"type": "string"
},
"js_timeout": {
"description": "JS engine timeout when js=true (seconds). Default: 60",
"type": "number"
},
"proxy_country": {
"description": "ISO 3166-1 alpha-2 country code for premium proxy. Default: 'US'",
"type": "string"
},
"proxy_type": {
"description": "Proxy type: 'rotating', 'advanced', 'premium', 'residential', 'custom'. Default: 'rotating'",
"type": "string"
},
"session_id": {
"description": "Session ID (1-16 alphanumeric chars) to route through same proxy. Active 30 min",
"type": "string"
},
"timeout": {
"description": "Request timeout in seconds. Default: 60",
"type": "number"
},
"url": {
"description": "URL of article to preview",
"type": "string"
}
},
"required": [
"url"
]
}🔴ujeebu_chatgpt(prompt, url)
Fetch a URL and ask ChatGPT about it. Ujeebu loads the page, sends it to ChatGPT with your prompt, and returns the model's reply.
입력 스키마
{
"type": "object",
"properties": {
"prompt": {
"description": "Question or instruction for ChatGPT about the page",
"type": "string"
},
"url": {
"description": "URL of the page to analyze",
"type": "string"
}
},
"required": [
"url",
"prompt"
]
}🔴ujeebu_checkout_link(interval, item, kind)
Create a Stripe checkout link for a credit top-up or a plan upgrade. Requires an API key. Nothing is charged: give the checkout_url to your human, who pays on Stripe's page; credits or the new plan are applied automatically after payment. Only upgrades are possible; downgrades and cancellations must be done by the human in the dashboard.
입력 스키마
{
"type": "object",
"properties": {
"interval": {
"description": "Billing interval for kind=plan only. Default: month. Ignored for top-ups.",
"enum": [
"month",
"year"
],
"type": "string"
},
"item": {
"description": "Id of the top-up or plan, as listed by ujeebu_plans (e.g. 'mini' for a top-up, 'starter' for a plan).",
"type": "string"
},
"kind": {
"description": "'topup' for a one-off credit pack (credits never expire) or 'plan' for a subscription upgrade.",
"enum": [
"topup",
"plan"
],
"type": "string"
}
},
"required": [
"kind",
"item"
]
}🔴ujeebu_extract(author, auto_proxy, custom_proxy, feeds, html, ...)
Extract clean, structured data from news or blog articles. Returns main text/HTML, author, publish date, images, media, RSS feeds, and more.
입력 스키마
{
"type": "object",
"properties": {
"author": {
"description": "Extract article author. Default: true",
"type": "boolean"
},
"auto_proxy": {
"description": "Auto-escalate to better proxy on failure. Default: false",
"type": "boolean"
},
"custom_proxy": {
"description": "Custom proxy URI: scheme://user:pass@host:port (required if proxy_type='custom')",
"type": "string"
},
"feeds": {
"description": "Extract RSS feeds. Default: false",
"type": "boolean"
},
"html": {
"description": "Extract article HTML. Default: true",
"type": "boolean"
},
"image_analysis": {
"description": "Analyze images for minimum dimensions. Default: true",
"type": "boolean"
},
"image_timeout": {
"description": "Image fetch timeout in seconds. Default: 2",
"type": "number"
},
"images": {
"description": "Extract all images from article. Default: true",
"type": "boolean"
},
"is_article": {
"description": "Return probability [0-1] of URL being an article (>=0.5 is likely article). Default: true",
"type": "boolean"
},
"js": {
"description": "Execute JavaScript: 'true', 'false', or 'auto' (let extractor decide). Default: 'false'",
"type": "string"
},
"js_timeout": {
"description": "JS engine timeout when js=true (seconds). Default: timeout/2",
"type": "number"
},
"media": {
"description": "Extract embeddable media (YouTube, Twitter, etc.). Default: false",
"type": "boolean"
},
"min_image_height": {
"description": "Minimum image height in pixels (requires image_analysis=true). Default: 100",
"type": "number"
},
"min_image_width": {
"description": "Minimum image width in pixels (requires image_analysis=true). Default: 200",
"type": "number"
},
"pagination": {
"description": "Extract and concatenate multi-page articles. Default: true",
"type": "boolean"
},
"pagination_max_pages": {
"description": "Max pages to extract when pagination enabled. Default: 30",
"type": "number"
},
"partial": {
"description": "Number of characters or percentage (with %) of text/HTML to return. '0' for all. Default: '0'",
"type": "string"
},
"proxy_country": {
"description": "ISO 3166-1 alpha-2 country code for premium proxy. Default: 'US'",
"type": "string"
},
"proxy_type": {
"description": "Proxy type: 'rotating', 'advanced', 'premium', 'residential', 'custom'. Default: 'rotating'",
"type": "string"
},
"pub_date": {
"description": "Extract publish date. Default: true",
"type": "boolean"
},
"quick_mode": {
"description": "Fast analysis mode (30-60% faster, slightly less accurate). Default: false",
"type": "boolean"
},
"raw_html": {
"description": "HTML content to extract from (skips fetching from url, but url still needed for resolving relative links)",
"type": "string"
},
"return_only_enclosed_text_images": {
"description": "Return only images within extracted article HTML. Default: true",
"type": "boolean"
},
"scroll_down": {
"description": "Scroll down page when JS enabled. Default: true",
"type": "boolean"
},
"session_id": {
"description": "Session ID (1-16 alphanumeric chars) to route through same proxy. Active 30 min",
"type": "string"
},
"strip_tags": {
"description": "Comma-separated CSS selectors/tags to remove before extraction (e.g., 'meta,form,.hidden')",
"type": "string"
},
"text": {
"description": "Extract article text. Default: true",
"type": "boolean"
},
"timeout": {
"description": "Request timeout in seconds. Default: 60",
"type": "number"
},
"url": {
"description": "URL of the article to extract",
"type": "string"
}
},
"required": [
"url"
]
}🔴ujeebu_gemini(prompt, url)
Fetch a URL and ask Gemini about it. Ujeebu loads the page, sends it to Gemini with your prompt, and returns the model's reply.
입력 스키마
{
"type": "object",
"properties": {
"prompt": {
"description": "Question or instruction for Gemini about the page",
"type": "string"
},
"url": {
"description": "URL of the page to analyze",
"type": "string"
}
},
"required": [
"url",
"prompt"
]
}🔴ujeebu_markdown(js, url)
Convert any web page into clean, LLM-optimized Markdown. Ideal for feeding page content to a model or RAG pipeline.
입력 스키마
{
"type": "object",
"properties": {
"js": {
"description": "Execute JavaScript before converting: 'true', 'false', or 'auto'. Default: 'auto'",
"type": "string"
},
"url": {
"description": "URL of the page to convert to Markdown",
"type": "string"
}
},
"required": [
"url"
]
}🔴ujeebu_plans
Show the account's current plan, credits left, whether agent purchases are enabled (and the monthly cap and remaining amount), plus the available plans and credit top-ups with prices (in cents). Requires an API key. Use the plan/top-up ids from here as 'item' in ujeebu_checkout_link or ujeebu_buy.
입력 스키마
{
"type": "object",
"properties": {},
"required": []
}🔴ujeebu_scrape_extract(auto_proxy, block_ads, cookies, custom_js, custom_proxy, ...)
Extract structured data from web pages using custom rules. Define CSS selectors or XPath queries to extract specific data. Always returns JSON with extracted data.
입력 스키마
{
"type": "object",
"properties": {
"auto_proxy": {
"description": "Auto-escalate proxy. Default: false",
"type": "boolean"
},
"block_ads": {
"description": "Block ads. Default: false",
"type": "boolean"
},
"cookies": {
"description": "Custom cookies",
"type": "string"
},
"custom_js": {
"description": "Custom JavaScript code",
"type": "string"
},
"custom_proxy": {
"description": "Custom proxy URI",
"type": "string"
},
"device": {
"description": "Device: 'desktop' or 'mobile'. Default: 'desktop'",
"type": "string"
},
"extract_rules": {
"description": "JSON string defining extraction rules with CSS selectors or XPath",
"type": "string"
},
"js": {
"description": "Execute JavaScript. Default: true",
"type": "boolean"
},
"js_timeout": {
"description": "JS timeout in seconds",
"type": "number"
},
"progressive_scroll": {
"description": "Progressive scroll. Default: false",
"type": "boolean"
},
"proxy_country": {
"description": "Proxy country. Default: 'US'",
"type": "string"
},
"proxy_type": {
"description": "Proxy type. Default: 'rotating'",
"type": "string"
},
"scroll_down": {
"description": "Scroll page before extraction. Default: false",
"type": "boolean"
},
"session_id": {
"description": "Session ID",
"type": "string"
},
"timeout": {
"description": "Timeout in seconds. Default: 60",
"type": "number"
},
"url": {
"description": "URL to extract data from",
"type": "string"
},
"useragent": {
"description": "Custom user agent",
"type": "string"
},
"wait_for": {
"description": "Wait condition before extraction",
"type": "string"
},
"wait_for_timeout": {
"description": "Wait timeout in milliseconds",
"type": "number"
}
},
"required": [
"url",
"extract_rules"
]
}🔴ujeebu_scrape_html(auto_proxy, block_ads, block_resources, cookies, custom_js, ...)
Scrape and render web pages to get HTML content. Supports JavaScript execution, custom headers, scrolling, and content manipulation. Returns clean HTML or raw HTML.
입력 스키마
{
"type": "object",
"properties": {
"auto_proxy": {
"description": "Auto-escalate proxy. Default: false",
"type": "boolean"
},
"block_ads": {
"description": "Block ads. Default: false",
"type": "boolean"
},
"block_resources": {
"description": "Block images, CSS, fonts. Default: true",
"type": "boolean"
},
"cookies": {
"description": "Custom cookies: 'cookie1=value1;cookie2=value2'",
"type": "string"
},
"custom_js": {
"description": "Custom JavaScript code to execute",
"type": "string"
},
"custom_proxy": {
"description": "Custom proxy URI",
"type": "string"
},
"custom_proxy_password": {
"description": "Custom proxy password",
"type": "string"
},
"custom_proxy_username": {
"description": "Custom proxy username",
"type": "string"
},
"device": {
"description": "Device: 'desktop' or 'mobile'. Default: 'desktop'",
"type": "string"
},
"http_method": {
"description": "HTTP method: 'GET', 'POST', 'PUT'. Default: 'GET'",
"type": "string"
},
"js": {
"description": "Execute JavaScript. Default: true",
"type": "boolean"
},
"js_timeout": {
"description": "JS execution timeout in seconds. Default: timeout/2",
"type": "number"
},
"post_data": {
"description": "POST/PUT data",
"type": "string"
},
"progressive_scroll": {
"description": "Scroll until page height stabilizes. Default: false",
"type": "boolean"
},
"proxy_country": {
"description": "ISO country code for premium proxy. Default: 'US'",
"type": "string"
},
"proxy_type": {
"description": "Proxy: 'rotating', 'advanced', 'premium', 'residential', 'mobile', 'custom'. Default: 'rotating'",
"type": "string"
},
"response_type": {
"description": "Response type: 'html' (clean) or 'raw' (unprocessed). Default: 'html'",
"type": "string"
},
"scroll_callback": {
"description": "JS function (base64) to control scroll continuation",
"type": "string"
},
"scroll_down": {
"description": "Scroll down the page. Default: false",
"type": "boolean"
},
"scroll_to_selector": {
"description": "CSS selector to scroll to",
"type": "string"
},
"scroll_wait": {
"description": "Milliseconds between scrolls. Default: 100",
"type": "number"
},
"session_id": {
"description": "Session ID (1-16 chars)",
"type": "string"
},
"strip_tags": {
"description": "CSS selectors/tags to remove",
"type": "string"
},
"timeout": {
"description": "Request timeout in seconds. Default: 60",
"type": "number"
},
"url": {
"description": "URL to render and scrape",
"type": "string"
},
"useragent": {
"description": "Custom user agent string",
"type": "string"
},
"wait_for": {
"description": "Wait condition: milliseconds, CSS selector, or base64-encoded JS function",
"type": "string"
},
"wait_for_timeout": {
"description": "Timeout for wait_for in milliseconds",
"type": "number"
},
"window_height": {
"description": "Viewport height in pixels",
"type": "number"
},
"window_width": {
"description": "Viewport width in pixels",
"type": "number"
}
},
"required": [
"url"
]
}🔴ujeebu_scrape_json(auto_proxy, block_ads, block_resources, cookies, custom_js, ...)
General web scraping that always returns JSON response with metadata. Use this when you need structured response data including headers, status, timing info, and content. Can return HTML, screenshot, or PDF in JSON format.
입력 스키마
{
"type": "object",
"properties": {
"auto_proxy": {
"description": "Auto-escalate proxy. Default: false",
"type": "boolean"
},
"block_ads": {
"description": "Block ads. Default: false",
"type": "boolean"
},
"block_resources": {
"description": "Block resources. Default: false for screenshot/pdf",
"type": "boolean"
},
"cookies": {
"description": "Custom cookies",
"type": "string"
},
"custom_js": {
"description": "Custom JavaScript code",
"type": "string"
},
"custom_proxy": {
"description": "Custom proxy URI",
"type": "string"
},
"custom_proxy_password": {
"description": "Custom proxy password",
"type": "string"
},
"custom_proxy_username": {
"description": "Custom proxy username",
"type": "string"
},
"device": {
"description": "Device: 'desktop' or 'mobile'. Default: 'desktop'",
"type": "string"
},
"http_method": {
"description": "HTTP method. Default: 'GET'",
"type": "string"
},
"js": {
"description": "Execute JavaScript. Default: true",
"type": "boolean"
},
"js_timeout": {
"description": "JS timeout in seconds",
"type": "number"
},
"post_data": {
"description": "POST/PUT data",
"type": "string"
},
"progressive_scroll": {
"description": "Progressive scroll. Default: false",
"type": "boolean"
},
"proxy_country": {
"description": "Proxy country. Default: 'US'",
"type": "string"
},
"proxy_type": {
"description": "Proxy type. Default: 'rotating'",
"type": "string"
},
"response_type": {
"description": "Content type: 'html', 'raw', 'pdf', or 'screenshot'. Default: 'html'",
"type": "string"
},
"screenshot_fullpage": {
"description": "Full page screenshot (if response_type=screenshot)",
"type": "boolean"
},
"screenshot_partial": {
"description": "Partial screenshot selector/coords (if response_type=screenshot)",
"type": "string"
},
"scroll_down": {
"description": "Scroll page. Default: false",
"type": "boolean"
},
"session_id": {
"description": "Session ID",
"type": "string"
},
"strip_tags": {
"description": "Tags/selectors to remove",
"type": "string"
},
"timeout": {
"description": "Timeout in seconds. Default: 60",
"type": "number"
},
"url": {
"description": "URL to scrape",
"type": "string"
},
"useragent": {
"description": "Custom user agent",
"type": "string"
},
"wait_for": {
"description": "Wait condition",
"type": "string"
},
"wait_for_timeout": {
"description": "Wait timeout in milliseconds",
"type": "number"
},
"window_height": {
"description": "Viewport height",
"type": "number"
},
"window_width": {
"description": "Viewport width",
"type": "number"
}
},
"required": [
"url"
]
}🔴ujeebu_scrape_pdf(auto_proxy, block_ads, cookies, custom_js, custom_proxy, ...)
Generate PDF from web pages. Supports custom page sizes, JavaScript execution, and rendering options. Returns base64-encoded PDF data.
입력 스키마
{
"type": "object",
"properties": {
"auto_proxy": {
"description": "Auto-escalate proxy. Default: false",
"type": "boolean"
},
"block_ads": {
"description": "Block ads. Default: false",
"type": "boolean"
},
"cookies": {
"description": "Custom cookies",
"type": "string"
},
"custom_js": {
"description": "Custom JavaScript code",
"type": "string"
},
"custom_proxy": {
"description": "Custom proxy URI",
"type": "string"
},
"custom_proxy_password": {
"description": "Custom proxy password",
"type": "string"
},
"custom_proxy_username": {
"description": "Custom proxy username",
"type": "string"
},
"device": {
"description": "Device: 'desktop' or 'mobile'. Default: 'desktop'",
"type": "string"
},
"js": {
"description": "Execute JavaScript. Default: true",
"type": "boolean"
},
"js_timeout": {
"description": "JS timeout in seconds",
"type": "number"
},
"proxy_country": {
"description": "Proxy country. Default: 'US'",
"type": "string"
},
"proxy_type": {
"description": "Proxy type. Default: 'rotating'",
"type": "string"
},
"scroll_down": {
"description": "Scroll before PDF. Default: false",
"type": "boolean"
},
"session_id": {
"description": "Session ID",
"type": "string"
},
"timeout": {
"description": "Timeout in seconds. Default: 60",
"type": "number"
},
"url": {
"description": "URL to convert to PDF",
"type": "string"
},
"useragent": {
"description": "Custom user agent",
"type": "string"
},
"wait_for": {
"description": "Wait condition before PDF generation",
"type": "string"
},
"wait_for_timeout": {
"description": "Wait timeout in milliseconds",
"type": "number"
},
"window_height": {
"description": "Viewport height",
"type": "number"
},
"window_width": {
"description": "Viewport width",
"type": "number"
}
},
"required": [
"url"
]
}🔴ujeebu_scrape_screenshot(auto_proxy, block_ads, cookies, custom_js, custom_proxy, ...)
Take screenshots of web pages. Supports full page or partial screenshots, JavaScript execution, and custom viewport sizes. Returns base64-encoded image data.
입력 스키마
{
"type": "object",
"properties": {
"auto_proxy": {
"description": "Auto-escalate proxy. Default: false",
"type": "boolean"
},
"block_ads": {
"description": "Block ads. Default: false",
"type": "boolean"
},
"cookies": {
"description": "Custom cookies",
"type": "string"
},
"custom_js": {
"description": "Custom JavaScript code",
"type": "string"
},
"custom_proxy": {
"description": "Custom proxy URI",
"type": "string"
},
"custom_proxy_password": {
"description": "Custom proxy password",
"type": "string"
},
"custom_proxy_username": {
"description": "Custom proxy username",
"type": "string"
},
"device": {
"description": "Device: 'desktop' or 'mobile'. Default: 'desktop'",
"type": "string"
},
"js": {
"description": "Execute JavaScript. Default: true",
"type": "boolean"
},
"js_timeout": {
"description": "JS timeout in seconds",
"type": "number"
},
"proxy_country": {
"description": "Proxy country. Default: 'US'",
"type": "string"
},
"proxy_type": {
"description": "Proxy type. Default: 'rotating'",
"type": "string"
},
"screenshot_fullpage": {
"description": "Capture full page. Default: false",
"type": "boolean"
},
"screenshot_partial": {
"description": "CSS selector or JSON coordinates {x,y,width,height} for partial screenshot",
"type": "string"
},
"scroll_down": {
"description": "Scroll before screenshot. Default: false",
"type": "boolean"
},
"session_id": {
"description": "Session ID",
"type": "string"
},
"timeout": {
"description": "Timeout in seconds. Default: 60",
"type": "number"
},
"url": {
"description": "URL to screenshot",
"type": "string"
},
"useragent": {
"description": "Custom user agent",
"type": "string"
},
"wait_for": {
"description": "Wait condition before screenshot",
"type": "string"
},
"wait_for_timeout": {
"description": "Wait timeout in milliseconds",
"type": "number"
},
"window_height": {
"description": "Viewport height",
"type": "number"
},
"window_width": {
"description": "Viewport width",
"type": "number"
}
},
"required": [
"url"
]
}🔴ujeebu_serp(device, extra_params, lang, location, page, ...)
Retrieve Google search results programmatically. Supports web search, images, news, videos, and maps with customizable location, language, and device settings.
입력 스키마
{
"type": "object",
"properties": {
"device": {
"description": "Device type to simulate: 'desktop', 'mobile', 'tablet'. Default: 'desktop'",
"type": "string"
},
"extra_params": {
"description": "Additional custom query parameters (e.g., '&safe=active&tbs=qdr:d')",
"type": "string"
},
"lang": {
"description": "ISO 639-1 language code (e.g., 'en', 'es', 'fr'). Default: 'en'",
"type": "string"
},
"location": {
"description": "ISO 3166-1 alpha-2 country code for geographic location (e.g., 'us', 'uk', 'fr'). Default: 'us'",
"type": "string"
},
"page": {
"description": "Results page number for pagination. Default: 1",
"type": "number"
},
"results_count": {
"description": "Maximum number of results per page (1-100). Default: 10",
"type": "number"
},
"search": {
"description": "Search query term (provide this OR 'url' parameter, not both)",
"type": "string"
},
"search_type": {
"description": "Search type: 'search' (web), 'images', 'news', 'videos', 'maps'. Default: 'search'",
"type": "string"
},
"url": {
"description": "Direct Google search page URL (provide this OR 'search' parameter, not both)",
"type": "string"
}
},
"required": []
}🔴ujeebu_signup(agent, email, name, purpose)
Create a Ujeebu account (and get an API key) for your human, without a key. Works in an unauthenticated session. Ujeebu emails a confirmation link to the address: a human must open it and click Confirm; you cannot confirm it yourself, so tell your human to check their inbox. The response contains request_id and poll_token: keep both and call ujeebu_signup_status about every 10 seconds until status is confirmed (or expired/declined). Requests expire after 24 hours. If the email already has a Ujeebu account, the owner gets an approval email instead; the flow is the same from your point of view (a new key is returned once approved). New accounts start on a free trial.
입력 스키마
{
"type": "object",
"properties": {
"agent": {
"description": "Optional: your agent or app name, e.g. 'Claude Code'. Shown to the human in the confirmation email. Defaults to the MCP client name.",
"type": "string"
},
"email": {
"description": "Email address of the human who will own the account. They must be able to open the confirmation email.",
"type": "string"
},
"name": {
"description": "Optional: the human's name (or company).",
"type": "string"
},
"purpose": {
"description": "Optional: one short sentence on what the account will be used for (shown to the human).",
"type": "string"
}
},
"required": [
"email"
]
}🔴ujeebu_signup_status(poll_token, request_id)
Check a pending ujeebu_signup request. Works without a key. Poll about every 10 seconds (never faster than every 2 seconds). status values: pending_confirmation (the human has not clicked the link yet, keep polling), confirmed (the response contains api_key, shown ONCE: store it immediately, then reconnect to this MCP server with header Authorization: Bearer <key>), delivered (the key was already returned by an earlier poll and cannot be shown again), expired or declined (start over with ujeebu_signup if appropriate).
입력 스키마
{
"type": "object",
"properties": {
"poll_token": {
"description": "poll_token returned by ujeebu_signup (starts with agp_). Secret: do not show it to anyone else.",
"type": "string"
},
"request_id": {
"description": "request_id returned by ujeebu_signup (starts with ags_).",
"pattern": "^ags_[A-Za-z0-9]{8,64}$",
"type": "string"
}
},
"required": [
"request_id",
"poll_token"
]
}커뮤니티
증거