Irmu — Web Data MCP

Irmu memberi agen AI akses ke data web langsung melalui web scraping, rendering browser sungguhan, otomatisasi browser, tangkapan layar halaman penuh, dan ekstraksi data terstruktur bertenaga AI. Hubungkan sekali dan akses berbagai alat data web canggih melalui MCP.

Server MCP Terhosting

npx add-mcp 'https://app.irmu.com/mcp'

Terpasang ke Claude Code, Codex, Cursor, dan lainnya

Dokumentasi

IRMU MCP server

Give an AI agent the crawler: fetch any page, screenshot it, read Google's AI Overview for a query, and search Booking.com -- spending your organization's credits, exactly as the HTTP API does.

Server url

https://app.irmu.com/mcp

Streamable HTTP transport. There are two ways to sign in:

  • OAuth (recommended) -- add the url and your client opens a browser. Sign in to the dashboard and choose which of your organizations the client bills.
  • API key -- for clients with no browser (scripts, CI). Send an organization key from the dashboard 's API Keys page as Authorization: Bearer <api key>.

Claude Code

claude mcp add --transport http irmu https://app.irmu.com/mcp

Then run /mcp inside Claude Code, pick irmu and authenticate. Add --scope user to make it available in every project.

With an API key instead:

claude mcp add --transport http irmu https://app.irmu.com/mcp \
  --header "Authorization: Bearer <api key>"

Claude (desktop & web)

  1. Open Settings → Connectors and choose Add custom connector.
  2. Name it Irmu and paste https://app.irmu.com/mcp as the url.
  3. Press Connect, sign in, and choose the organization to bill.

ChatGPT

  1. Turn on Developer mode under Settings → Apps & Connectors → Advanced.
  2. Create a connector with https://app.irmu.com/mcp as its url and OAuth as its authentication.
  3. Sign in and choose the organization, then enable the connector from the tools menu of a chat.

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project), then press Login next to the server under Settings → MCP:

{
  "mcpServers": {
    "irmu": {
      "url": "https://app.irmu.com/mcp"
    }
  }
}

With an API key, add a header:

"irmu": {
  "url": "https://app.irmu.com/mcp",
  "headers": { "Authorization": "Bearer <api key>" }
}

VS Code (GitHub Copilot)

Add to .vscode/mcp.json, or run MCP: Add Server from the command palette. VS Code asks you to sign in the first time a tool is used.

{
  "servers": {
    "irmu": {
      "type": "http",
      "url": "https://app.irmu.com/mcp"
    }
  }
}

With an API key, kept out of the file by prompting for it:

{
  "inputs": [
    { "type": "promptString", "id": "irmu-key", "description": "Irmu API key", "password": true }
  ],
  "servers": {
    "irmu": {
      "type": "http",
      "url": "https://app.irmu.com/mcp",
      "headers": { "Authorization": "Bearer ${input:irmu-key}" }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json and refresh the MCP servers in Cascade. Leave out headers to sign in with OAuth.

{
  "mcpServers": {
    "irmu": {
      "serverUrl": "https://app.irmu.com/mcp",
      "headers": { "Authorization": "Bearer ${env:IRMU_API_KEY}" }
    }
  }
}

Codex CLI

Add to ~/.codex/config.toml, then sign in with codex mcp login irmu:

[mcp_servers.irmu]
url = "https://app.irmu.com/mcp"

With an API key, read from an environment variable instead of signing in:

[mcp_servers.irmu]
url = "https://app.irmu.com/mcp"
bearer_token_env_var = "IRMU_API_KEY"

Gemini CLI

Add to ~/.gemini/settings.json. The first call opens a browser to sign in; /mcp auth irmu signs in again.

{
  "mcpServers": {
    "irmu": {
      "httpUrl": "https://app.irmu.com/mcp"
    }
  }
}

With an API key:

"irmu": {
  "httpUrl": "https://app.irmu.com/mcp",
  "headers": { "Authorization": "Bearer $IRMU_API_KEY" }
}

Good to know

  • Every tool but crawl_poll spends credits. Each answer says what it cost in credits_charged and what is left in credits_remaining; a crawl that fails is refunded.
  • A slow page answers with status queued or running and a job_id. It is already paid for: agents collect it with crawl_poll.
  • To bill a different organization, remove the server from your client and add it again, then choose the other organization when you sign in.
  • Leaving an organization disconnects every client that bills it.

Tools

crawlFetch a web page through a proxied browser and return its HTML in `content`, optionally with an AI answer to `ai_query` in `data`. Spends credits; `credits_charged` says how many. If `status` is "queued" or "running", call `crawl_poll` with the `job_id` to collect it.
screenshotTake a full-page JPEG screenshot of a web page through a proxied browser. Returns the image, plus `data` with an AI answer if `ai_query` was asked. Spends a flat number of credits. If `status` is "queued" or "running", call `crawl_poll` with the `job_id` to collect it.
google_ai_overviewSearch Google for a query and return the AI Overview Google shows above the results, with the sources it cites. `ai_overview` is null when Google showed none for that query. Spends a flat number of credits. If `status` is "queued" or "running", call `crawl_poll` with the `job_id` to collect it.
booking_searchSearch Booking.com for places to stay at a destination and return the properties listed, priced for the stay given. Use `booking_hotel` with a property url for one hotel in detail. Spends a flat number of credits. If `status` is "queued" or "running", call `crawl_poll` with the `job_id` to collect it.
booking_hotelRead one Booking.com property page -- price, rating, rooms, facilities -- priced for the stay given. Takes the property url, e.g. from a `booking_search` result. Spends a flat number of credits, refunded if the page could not be read. If `status` is "queued" or "running", call `crawl_poll` with the `job_id` to collect it.
crawl_pollCollect a crawl that another tool answered with `status` "queued" or "running". Pass its `job_id`. Free. Returns the same `status`; when it is "done", the page is in `content` or the extracted result in `data`. Wait a few seconds between polls.