Crawl4AI Complete MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CRAWL4AI_API_TOKEN | No | Optional application token for MCP host authentication. Only configure if your MCP host requires an application token; it is not printed or returned. | |
| CRAWL4AI_HOOKS_ENABLED | No | Set to 'true' to enable declarative hooks. Disabled by default unless this is set to true. | |
| CRAWL4AI_MCP_HTTP_PORT | No | Host port for the HTTP MCP server when using the separated native/Redis/HTTP topology. Choose an unused port instead of assuming 8000. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| crawlC | Crawl one or more URLs with validated Crawl4AI BrowserConfig and CrawlerRunConfig fields. |
| crawl_streamB | Crawl multiple URLs; returns the completed result sequence (stdio-safe streaming equivalent). |
| mdC | Fetch Markdown and fit Markdown for a URL. |
| htmlB | Fetch rendered HTML for a URL. |
| screenshotB | Capture a screenshot using Crawl4AI's browser runtime. |
| pdfC | Render a URL as PDF using Crawl4AI. |
| execute_jsA | Execute bounded page JavaScript through Crawl4AI; arbitrary Python/shell is never accepted. |
| extractC | Use a named pinned extraction strategy: css, xpath, json_css, json_xpath, regex, cosine, or llm. |
| capability_inventoryA | Return pinned runtime capability and the authenticated native-server bridge status; unsupported operations are not safely emulated. |
| native_api_operationC | Call one explicit, authenticated, allow-listed native-server operation; never an arbitrary HTTP proxy. |
| crawl_job_submitC | Submit a Crawl4AI Redis-backed crawl job through the configured native server. |
| llm_job_submitC | Submit a Crawl4AI LLM extraction job through the configured native server. |
| job_statusA | Poll a Crawl4AI crawl or LLM job by its opaque task ID. |
| artifact_infoC | Retrieve a bounded Crawl4AI artefact by its opaque hexadecimal ID. |
| monitoringC | Read native Crawl4AI monitoring data or explicitly confirm an administrative control. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Crawl, crawl_stream, and crawl_job_submit present overlapping crawling functionality, while extract and llm_job_submit both offer LLM-based extraction. These clusters create ambiguity, though most other tools are clearly distinct.
Tool names mix single nouns (screenshot, pdf, html), bare verbs (extract, crawl), verb_noun forms (execute_js, crawl_stream), and noun_verb constructions (crawl_job_submit, job_status). The inconsistent pattern makes it harder to predict tool names, though all are readable and lowercase.
15 tools for a 'Complete' MCP covering crawling, extraction, rendering, and job management is well-scoped. Each tool adds a distinct capability without unnecessary bloat.
The surface covers core workflows: fetch content, crawl (sync/stream/async), extract (sync/LLM), check job status, and retrieve artifacts. Minor gaps like job cancellation or listing jobs are absent but not critical.