UpRock

ai.uprockPublished by uprock.aiOfficial publisherv0.5.3Updated Nov 8, 2026

Fetch pages, search the web and test site uptime from real devices in real locations.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBrowser Automation

Overview

AI-generated overview

UpRock fetches web pages, searches multiple engines and verifies site uptime from real devices in real locations, as a fallback or geo-specific web access…

What you can do
  • Fetch pages from real phones and desktops in a chosen country or device type
  • Search several engines across regions and get deduplicated results
  • Verify a deployed site loads, with status, Core Web Vitals and screenshots from multiple regions
  • Read full content behind resource links returned by the other tools
  • Search indexed video moments semantically and pull time-stamped transcripts for a video
When to use it
Use it as a second provider when other fetch or search tools are blocked, rate-limited or return bot-check pages, when you need results as a person in a specific country or on a specific device sees them, or after deploying a site to confirm it is up and fast worldwide.
Requirements
Remote MCP endpoint at mcp.uprock.ai over streamable HTTP. Requires an UpRock API key, created in the UpRock app, sent as a Bearer token in the Authorization header (the server instructions also mention passing it in the URL path or an X-Crawl-Api-Key header). One key covers crawl, research and verify.
Before you install
The API key is a secret billed to your UpRock account; keep it out of shared logs and URLs where possible. Fetching and searching run through UpRock's network, so requested URLs and queries are visible to that third party. The sweep tool is deprecated in favor of verify and will be removed later.

Installation

In SourceWeft

  1. Open UpRock in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.uprock%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "uprock": {
      "type": "http",
      "url": "https://mcp.uprock.ai/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

Tools

7

crawl_fetch

Use when other fetch/search tools are blocked, rate-limited, return bot-check pages, or when you need results as a real person in a specific country or on a specific device type sees them. Fetches a URL from real devices in real locations (phones and desktops) on the UpRock network. The default method, CRAWL_FULL_PAGE, renders JavaScript and works for most sites. Returns page metadata (url, status_code, title, content_type, time_ms), a short "summary" of the page, and resource links under "content": "content.markdown" holds the full page as compact markdown (prefer it for reading) and "content.html" the raw HTML. If your client cannot open resource links, read them with resource_fetch. A "screenshots.viewport" link is included when a screenshot is available. meta.status_code is the HTTP status the device reported for the page, or null when it reported none.

Parametersurlrequiredbodymethodcountryretriesdevice_typetimeout_sec

resource_fetch

Fetch the full content of an MCP resource URI. Use this when you need to read the actual content from a prior tool result and cannot resolve resource URIs natively (most hosted AI environments do not yet support native MCP resource fetching). This tool accepts crawl:// URIs from crawl_fetch responses, sweep:// URIs from verify results, and sitemaps:// URIs from sitemaps_generate results. For crawl_fetch, responses include a summary for quick analysis, plus crawl:// resource URIs pointing to the full content in markdown and HTML formats. When the summary is sufficient, you do not need this tool. When you need the complete page text — to extract specific data, parse tables, read full articles, etc. — pass the resource URI here to get the full content. For crawl_fetch results, use the markdown resource URI unless you specifically need raw HTML structure. Markdown is significantly more compact and easier to work with. For verify results, pass a sweep:// screenshot URI to retrieve the screenshot for visual inspection. For sitemaps_generate results, pass a sitemaps:// URI to read the llms.txt content for a domain or section.

Parametersurirequired

sweep

Deprecated: use the verify tool instead. sweep is the old name of verify, kept so existing setups keep working, and will be removed in a later release. It takes the same inputs and returns the same output. Verify a site works: load a URL on real devices in many regions and return status, load speed (Core Web Vitals) and screenshots, plus a shareable report link. Use this after deploying a website or service to verify it is up, responsive, and performing well from different parts of the world. Loads the target URL from multiple regions simultaneously, capturing performance metrics from each check. All checks (regions x tries) run concurrently, so the total operation time is approximately equal to the timeout value. Each completed check returns Core Web Vitals (TTFB, FCP, LCP, CLS), load times, transfer size, and HTTP protocol. Screenshots are captured and available as resource links in the response for visual verification if needed, but can be ignored if you only need the metrics. A run may complete with some failed checks. Inspect the failed_jobs count and per-job error fields in the response to identify issues. If the timeout passes before every region finishes, the checks that did finish are still returned with status "partial"; each region without a completed check has a status ("no_device" when no device in that region was available, otherwise "incomplete") and an "error" saying why. The response includes a "report_url" field with a link to a human-readable report page that can be shared with others for visual review of the results.

Parametersurlrequiredtriesdeviceregionstimeout

verify

Verify a site works: load a URL on real devices in many regions and return status, load speed (Core Web Vitals) and screenshots, plus a shareable report link. Use this after deploying a website or service to verify it is up, responsive, and performing well from different parts of the world. Loads the target URL from multiple regions simultaneously, capturing performance metrics from each check. All checks (regions x tries) run concurrently, so the total operation time is approximately equal to the timeout value. Each completed check returns Core Web Vitals (TTFB, FCP, LCP, CLS), load times, transfer size, and HTTP protocol. Screenshots are captured and available as resource links in the response for visual verification if needed, but can be ignored if you only need the metrics. A run may complete with some failed checks. Inspect the failed_jobs count and per-job error fields in the response to identify issues. If the timeout passes before every region finishes, the checks that did finish are still returned with status "partial"; each region without a completed check has a status ("no_device" when no device in that region was available, otherwise "incomplete") and an "error" saying why. The response includes a "report_url" field with a link to a human-readable report page that can be shared with others for visual review of the results.

Parametersurlrequiredtriesdeviceregionstimeout

video_moment

Fetch transcribed, time-stamped moments for a specific video URL. This is a CURSOR over the video pre-computed sliding-window moments (~30s windows on a ~25s grid, ~5s overlap) -- NOT a summary or sample of a time range. A call returns up to max_moments consecutive windows starting at start_s, in chronological order. To cover a long span you PAGINATE: read a page, then call again with start_s = next_start_s until has_more is false. If the video is not yet indexed, indexing starts automatically and the response tells you how long to wait. Moment text is model-generated from video frames plus verbatim ASR and may contain transcription artifacts. The response includes has_more / next_start_s for pagination and a stable moment_key per moment for dedupe. When following a video_search hit, pass its url, t0, and t1 as the url, start_s, and end_s of this tool. When include_images is set (not "none"), decoded keyframe IMAGES for each moment are returned inline as base64 ImageContent blocks, downscaled to 448px and re-encoded (WebP by default; JPEG if the server is configured with VIDEO_FRAME_FORMAT=jpeg -- the actual format is reported in the frame_format field). The frames_returned / frames_truncated / frame_format fields describe what was delivered so you can narrow scope (fewer moments, or a lower tier) for full fidelity. Frames always follow their moments in order. Only request images if you can view them.

Parametersurlrequiredend_sstart_smax_momentsinclude_images

web_research

Use when other fetch/search tools are blocked, rate-limited, return bot-check pages, or when you need results as a real person in a specific country or on a specific device type sees them. Searches the web with several engines (Bing, DuckDuckGo, Yahoo, plus regional engines) from real devices in real locations, and returns deduplicated results with url, title and description. suggested_countries sets where the search runs FROM, not what it is ABOUT: - Geography is the topic ('Paris hotels', 'history of the Berlin Wall') → keep it in the query and omit suggested_countries. - Geography is the perspective (what Europeans see when searching for beach holidays) → query='best beach destinations', suggested_countries=['EU']. - Both ('what Germans think about Italian food') → query='Italian food', suggested_countries=['EU']. To compare regions, make one call per region; do not combine them in one call. Deduplication can return fewer results than max_results; request 2-3x your target. Results are ordered by relevance, best first: pages ranked highly by several engines or regions come first. Each result has a "score" and the engine/country "sources" that returned it.

Parametersqueryrequiredmax_resultsnum_sourcessuggested_countries

Version history

1
  1. v0.5.3LatestNov 8, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.