CrewAI

Use Grabbit as a remote MCP tool in CrewAI

CrewAI supports remote HTTP MCP servers through crewai.mcp. Give an agent the configured server, then ask it to capture and inspect a public page.

Setup reviewed against CrewAI v1.15.23 MCP documentation on September 29, 2026. Evidence: source-reviewed. Not executed end to end in this release.CrewAI v1.15.23 MCP documentation

Prerequisites

From setup to the first capture

  • Python with CrewAI 1.15.23
  • GRABBIT_API_KEY set by a secret manager
  • CREWAI_MODEL plus the matching provider credential, such as OPENAI_API_KEY
  • A public target URL
Python
import os
# pip install "crewai==1.15.23"
from crewai import Agent, Crew, Process, Task
from crewai.mcp import MCPServerHTTP

screens = MCPServerHTTP(
    url="https://mcp.grabbit.live",
    headers={"Authorization": f"Bearer {os.environ['GRABBIT_API_KEY']}"},
    streamable=True,
)

reviewer = Agent(
    role="Visual QA reviewer",
    goal="Capture and inspect deployed pages",
    backstory="I verify rendered interfaces.",
    llm=os.environ["CREWAI_MODEL"],
    mcps=[screens],
)

capture = Task(
    description="Capture https://example.com at 1440x900 and report visible layout defects.",
    expected_output="The hosted screenshot URL and a short visual QA report.",
    agent=reviewer,
)

result = Crew(
    agents=[reviewer],
    tasks=[capture],
    process=Process.sequential,
).kickoff()
print(result)

The Bearer header is built at runtime from GRABBIT_API_KEY. The explicit server object keeps the example portable.

A test key returns a placeholder for wiring. The visual check below requires a live key and available credits. Call get_usage before a run when the agent needs to avoid an HTTP 402 interruption.

Call grab and inspect the result

prompt or task
Capture https://example.com at 1440×900. Return the image URL and list any visible layout defects.

Expected result

CrewAI discovers the remote MCP tools and can invoke grab. The result includes the capture record and hosted image URL.

Image handling

Adapter and model support varies. Treat image_url as the fallback when an adapter does not pass image blocks to the model.

Production Grabbit result showing the Grabbit API reference
Grabbit REST sample checked September 29, 2026. This confirms the hosted image result shape, not an end-to-end run through CrewAI.

Troubleshooting

401 or authentication required

Complete the client OAuth flow, or check that the environment variable contains a current sk_ key.

The target URL is rejected

Use a public HTTP or HTTPS URL. Grabbit blocks localhost, private, link-local, and internal network targets.

The image is a placeholder

An sk_test_ key proves the integration without spending credits. Use an sk_live_ key when you need a real render.

402 credits_exhausted

Call get_usage, then add a separately purchased top-up or wait for the next annual subscription grant before retrying.

Security note

Load GRABBIT_API_KEY from the environment or a secret manager. Do not place it in source, task text, or an MCP URL query string.

Hosted screenshots without a browser in the agent runtime

A local headless browser means installing Chromium, keeping its dependencies current, bounding memory use, and handling timeouts. Grabbit runs the screenshot step on hosted rendering infrastructure and returns an image URL.

Local headless browser

  • Needs Chromium installed in the agent's runtime
  • Cookie and consent handling belongs to your automation
  • You own the timeouts, retries, and scaling
  • Breaks in CI, sandboxes, and remote runners with no browser

Grabbit

  • One call, nothing to install or run
  • Dismisses cookie and consent banners automatically
  • Handles lazy-loaded, JavaScript-heavy, and full-page captures
  • Runs from CI or sandboxes without a local browser install

Grabbit accepts public pages and supports cookie-banner handling, delayed JavaScript, selector targeting, and full-page output. Target sites can still reject automated traffic, and private or internal addresses are blocked.

Flat pricing, built for agents that loop

When an agent captures a page on every step, per-call metering turns into anxiety. Grabbit is one flat rate: $50 per year for 25,000 captures ($0.002 each). Annual subscription credits expire at term end; separately purchased top-ups do not expire while your account remains active. Test-environment keys render placeholders for integration checks. A real page capture needs a live key and available credits.

CrewAI FAQ

Which CrewAI transport should I use?
Use MCPServerHTTP with streamable=True for the hosted Streamable HTTP endpoint.
Will every CrewAI model receive an inline image?
Do not assume that. image_url works as the fallback when an adapter or model does not pass image blocks through.

Give CrewAI eyes in two minutes

Free wiring test, one install, then your agent can screenshot public pages with a live key.