Skip to content

Add CurlShot - #111

Open
SergiuPogor wants to merge 1 commit into
bradvin:mainfrom
SergiuPogor:add-curlshot
Open

SergiuPogor wants to merge 1 commit into
bradvin:mainfrom
SergiuPogor:add-curlshot

Conversation

@SergiuPogor

Copy link
Copy Markdown

Adds CurlShot (https://curlshot.com), a hosted screenshot API, to Crawling & Extraction as agent-enabling.

Why it belongs: CurlShot runs a first-party MCP server (https://curlshot.com/api/mcp, stateless streamable HTTP). Its take_screenshot tool returns the rendered page as inline image content, so an image-capable model can see how a web page renders. It also offers list_devices for viewport presets, an OpenAPI 3.1 file, llms.txt/llms-full.txt and markdown versions of every docs page. Agents get rendered-page output without running their own headless browser.

Evidence (first-party, accessed 2026-10-16):

Category choice: it renders and retrieves pages, but it doesn't run multi-step browser interaction, so I chose Crawling & Extraction over Browser Automation. Happy to move it if editors prefer another category.

Disclosure: submitted by the CurlShot team.

npm run validate:content -- --require-submitters passes locally. npm test fails locally only because macOS ships bash 3 without mapfile. That is unrelated to this change.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-16T21:12:33.537569Z 69a1d27 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0e976c6893

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tools/curlshot.md Outdated
seoTitle: "CurlShot: Web Page Screenshots for AI Agents via MCP and API"
seoDescription: "See how CurlShot lets AI agents capture rendered web pages as images or PDFs through an MCP take_screenshot tool, an OpenAPI 3.1 file and llms.txt docs."
agentSummary: "CurlShot renders a web page in a headless browser and returns an image, PDF or scrolling video. Agents can call it through a stateless MCP endpoint with a take_screenshot tool that returns the image inline, or through a plain HTTP API described in OpenAPI 3.1. Check the pricing page for current monthly limits before relying on it."
category: "web-crawling-data-extraction"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Assign a category that admits media-only output

The web-crawling-data-extraction category is defined around clean text or structured records as the primary output (categories/web-crawling-data-extraction.json:6-9), whereas this profile documents PNG/JPEG/WebP/PDF/video artifacts and an inline image from take_screenshot, not extracted text or structured data. Once published in category pages and filters, CurlShot will therefore be presented as an extraction source even though it is a media renderer; storage-media-hosting, whose scope explicitly includes media transformation, is a closer match.

Useful? React with 👍 / 👎.

@foo-bender foo-bender added the listing: review needed New listing or major author revision awaiting policy review label Oct 16, 2026
@foo-bender

Copy link
Copy Markdown
Collaborator

Outcome: changes-requested

Policy assessment
@SergiuPogor CurlShot has a supported agent-enabling outcome: agents can obtain rendered-page visual observations through documented HTTP/MCP interfaces without operating browser infrastructure. Hosted deployment, web-api identity and freemium pricing are supported. Before acceptance, please address these material issues in tools/curlshot.md:

  1. Separate REST and MCP capabilities. The body says either channel renders URL, HTML or Markdown, but the official MCP guide and live tools/list require url and reject additional arguments; html, markdown, cookies and headers are absent. Attribute HTML/Markdown input and supplied authentication state to the HTTP API, not MCP, and make that channel limitation explicit.
  2. Qualify the inline-delivery claims in the classification rationale, body and first evidence item, and add the limitation: PNG/JPEG/WebP can return image content; PDF/MP4/WebM/GIF use resource content; files over 6 MB return only text plus a download link. An agent cannot inspect that link as an inline image.
  3. Resolve the existing category finding: Add CurlShot #111 (comment) . I independently confirmed that Storage & Media's documented media-processing scope is a closer fit than the submitted text/structured-extraction category.
  4. Add verificationLevel: "documentation-reviewed". The field is absent, and the real-profile completeness test fails with "curlshot: verificationLevel must be a string". This review did not perform an authenticated render and does not establish hands-on-tested provenance.

Evidence checked
Each of the four submitted URLs was individually checked exactly as committed, returning HTTP 200 without redirects: https://curlshot.com/docs/guides/ai-agents , https://curlshot.com/llms.txt , https://curlshot.com/pricing.md and https://curlshot.com/faq.md . The independent contradiction pass also compared the homepage, current HTML pricing, OpenAPI, MCP server card/live tools/list, linked capture/authentication/limit documentation, terms, public MCP documentation repository/manifest/licence and integration package/release metadata. The free 100/month and $19 monthly Starter offer are supported; annual billing is a separate option. The public MCP repository is documentation/manifest-only, not the hosted implementation; its MIT licence must not be attributed to the core service. No unsupported source-availability claim is currently made. No account, paid operation or authenticated rendering call was used.

Evidence requiring correction or removal

  • https://curlshot.com/docs/guides/ai-agents — The submitted claim omits this same guide's material response boundaries: resource rather than image content for PDF/video/GIF, and link-only delivery above 6 MB. Narrow the claim to the formats and sizes for which inline image delivery is actually documented.
    Please correct or remove each evidence item above.

Checks run
Against this exact PR head merged with main e4cd7a5 in an isolated detached worktree:

  • npm run validate:content — passed (16 categories, 65 tools).
  • npm test — 89 passed, 1 failed: all real tools have complete citation-ready editorial profiles, due to missing verificationLevel.
    Current GitHub enrichment check passes; that does not replace the failing test or resolve the channel/evidence issues. Optional SEO metadata was not evaluated; no metadata commit or branch edit was made.

@foo-bender foo-bender added listing: author changes Reviewed; author must correct listing or policy issues and removed listing: review needed New listing or major author revision awaiting policy review labels Oct 16, 2026
@SergiuPogor

Copy link
Copy Markdown
Author

Thanks for the careful review. I've updated tools/curlshot.md on the same single commit:

  1. REST vs MCP. The body, agentSummary and limitations now say that HTML/Markdown input and cookies/headers are HTTP API only. The MCP take_screenshot tool takes a public url plus capture options and refuses any other argument.
  2. Inline delivery. The rationale, body, limitations and first evidence claim now say that only PNG/JPEG/WebP files up to 6 MB come back as image content. PDF/MP4/WebM/GIF come back as resource content, and files over 6 MB come back as a text part with only a download link, which an agent can't inspect as an image.
  3. Category. Changed to storage-media-hosting, as suggested.
  4. Added verificationLevel: "documentation-reviewed".

npm run validate:content passes (65 tools). Locally npm test gives 89/90. The one failure is enrich-preflight calling mapfile, which the macOS default bash 3 doesn't have, so it isn't related to this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

listing: author changes Reviewed; author must correct listing or policy issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants