Ujeebu

Web scraping, Google SERP, Markdown and ChatGPT/Gemini answers as typed tools for AI agents.

我该使用它吗

质量与安全性

A
描述质量
98%
模式完整度
91%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(1)

  • LOWTool 'ujeebu_scrape_extract' description lacks action verb在 ujeebu_scrape_extract 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~5,597token 数(工具定义)
~3.1 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 4.37%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `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"
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本17 个工具