# Geonode MCP Server [Verified owner] [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://mcp.geonode.com/mcp  
**Views:** 61  
**Installs:** 1  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/geonode-mcp-server

## Description
Give MCP-compatible AI assistants web search and content collection tools. Extract pages, discover URLs, crawl sites and run batches for research and downstream analysis. Geonode offers limited keyless page extraction; an API key enables the full toolset, including JavaScript rendering and country targeting.

Supported functions: Extract webpage content from a compatible AI assistant or coding tool. Try basic synchronous page extraction without an API key, within anonymous limits. Use an API key for URL discovery, crawls, web search and batch jobs. Access JavaScript rendering and country targeting with authenticated requests. Monitor long-running extraction and crawl jobs from your MCP client.

Turn a page into context: Extract a page as Markdown for your assistant to read.

MCP server URL: https://mcp.geonode.com/mcp

Try limited keyless page extraction through a compatible MCP client. Sign up and connect your Geonode API key to access additional features and the usage limits included in your plan.

Try Geonode for free: https://app.geonode.com/signup

Learn more: https://geonode.com

## Tools
Capabilities this server exposes over MCP:

- **extract** — Extract content from a web page. Supports HTML and Markdown output formats, optional JavaScript rendering via headless browser, proxy geo-targeting, custom HTTP headers, and explicit browser wait controls via the wait_config object. Can run synchronously (returns content immediately) or asynchronously (returns a job ID that can be polled with the 'job' tool). Use 'render_js=true' for pages that require JavaScript to load their content; supplying wait_config also enables browser rendering automatically. Omit wait_config or set it to null to keep the adaptive browser settle path; send {} or concrete values to opt into explicit mode. Without an API key, extraction is synchronous only, without JavaScript rendering or request headers other than Accept-Language, and limited to a small per-client rate and daily volume. An API key, sent as the X-Api-Key header, lifts these restrictions; the plan's own limits apply instead.
- **job** — Retrieve the result of an asynchronous extraction job by its job ID. Returns the current status (pending, running, completed, or failed) and, once completed, the extracted content and metadata. Use this tool to poll for results after submitting an extraction with processing_mode='async'. Requires a Geonode API key, sent as the X-Api-Key header.
- **jobs** — List extraction jobs with optional filters. Filter by full job ID (exact match), status (pending, running, completed, failed), output format, or date range. Results are paginated; use 'page' and 'page_size' to navigate large result sets. Requires a Geonode API key, sent as the X-Api-Key header.
- **statistics** — Retrieve aggregated extraction statistics for the authenticated user. Returns metrics such as total jobs, success and failure counts, and usage breakdowns over the specified date range: at most 366 days, counted back from the end date (an older start date is moved up; an end date after now is moved back to now). Defaults to the last 30 days when no dates are provided. Requires a Geonode API key, sent as the X-Api-Key header.
- **batch** — Start an asynchronous batch extraction job from an explicit list of URLs. Supports HTML and Markdown output formats, optional JavaScript rendering, proxy settings, custom headers, and the grouped wait_config browser wait policy. Omit wait_config or set it to null to keep adaptive browser settling for child extractions; send {} or concrete values to opt every child extraction into explicit mode. Returns a job ID that can be polled with the 'batch_status' tool. Requires a Geonode API key, sent as the X-Api-Key header.
- **batch_status** — Retrieve the status and paginated results of a batch extraction job by its job ID. Returns item counts, invalid URLs, and the current page of per-URL extraction results. Requires a Geonode API key, sent as the X-Api-Key header.
- **cancel_batch** — Cancel a batch job by its job ID. Stops scheduling new batch items while allowing in-flight child extractions to drain. Requires a Geonode API key, sent as the X-Api-Key header.
- **crawl** — Start a website crawl job from a seed URL. Crawls pages breadth-first (BFS) up to the 'depth' parameter (BFS levels from the seed) and the 'limit' parameter (maximum number of pages to crawl). Supports Markdown and HTML output formats, optional JavaScript rendering, proxy geo-targeting, domain filtering, and the grouped wait_config browser wait policy. Omit wait_config or set it to null to keep adaptive browser settling for page extractions; send {} or concrete values to opt every page extraction into explicit mode. Returns a job ID that can be polled with the 'crawl_status' tool. Requires a Geonode API key, sent as the X-Api-Key header.
- **crawl_status** — Retrieve the status and results of a crawl job by its job ID. Returns the current status (queued, running, completed, or failed), page counts, and once completed, the crawled page results with extracted content. Results are paginated; use 'page' and 'page_size' to navigate. Requires a Geonode API key, sent as the X-Api-Key header.
- **cancel_crawl** — Cancel a crawl job by its job ID. Stops scheduling new crawl pages while allowing in-flight page work to drain. Requires a Geonode API key, sent as the X-Api-Key header.
- **map** — Discover all URLs under a base URL by combining sitemap parsing with HTML link extraction from the seed page. By default discovery is scoped to the exact seed host (a leading 'www.' is treated as equivalent) and, when the URL includes a path, to URLs under that path; sibling subdomains and outbound links are excluded. Set include_subdomains=true to widen the scope to the whole registrable domain and probe common subdomains (docs, blog, help, support). The optional 'search' parameter filters the discovered URLs by case-insensitive substring match — it does NOT query a search engine. Runs synchronously and returns the discovered links immediately. Requires a Geonode API key, sent as the X-Api-Key header.
- **map_jobs** — List map jobs for the authenticated user with optional filters. Filter by status (pending, running, completed, failed) or date range. Results are paginated; use 'page' and 'page_size' to navigate. Requires a Geonode API key, sent as the X-Api-Key header.
- **map_job** — Retrieve the full details and discovered links for a map job by its job ID. Returns the current status and, once completed, the discovered links and their source. Requires a Geonode API key, sent as the X-Api-Key header.
- **search** — Run a web search and return ranked results. Supports locale targeting (a language code like 'en', a language-region tag like 'en-US', or 'all'), pagination via 'page', safe-search filtering, and restricting results to a recency window via 'time_range'. By default the service rotates across its engines and falls back on failure; set 'engine' to pin one engine with no fallback. Returns the result list, the engine that served it, query suggestions, and any spelling correction. An empty result list means the engine answered and found nothing; such a search is not charged. Requires a Geonode API key, sent as the X-Api-Key header.
- **search_jobs** — List search jobs for the authenticated user with optional filters. Filter by status (pending, running, completed, failed) or date range. Results are paginated; use 'page' and 'page_size' to navigate. Requires a Geonode API key, sent as the X-Api-Key header.
- **search_job** — Retrieve the full details and results for a search job by its job ID. Returns the current status and, once completed, the search results, suggestions, and any spelling correction applied. Requires a Geonode API key, sent as the X-Api-Key header.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "geonode-mcp-server": {
    "url": "https://mcp.geonode.com/mcp"
  }
}
```

## Documentation

## What Geonode MCP Server does

Geonode MCP Server gives MCP clients tools for finding and collecting web content. The `extract` tool turns a URL into HTML or Markdown, allowing an assistant to use a page as context. Authenticated clients can also search the web, discover links beneath a site, crawl pages breadth-first, and submit explicit URL lists for batch extraction.

The service supports both immediate and long-running workflows. Synchronous operations return their results directly, while asynchronous extraction, crawl, and batch jobs return an ID that can be checked later. Separate tools expose job status, paginated results, cancellation, and account-level usage statistics.

## How it works

Connect an MCP client to `https://mcp.geonode.com/mcp`. Basic page extraction can be attempted without an API key, but anonymous requests are synchronous and subject to small per-client rate and daily limits. Authenticated requests send the key in the `X-Api-Key` header and use the limits and features associated with the Geonode plan.

Page extraction accepts optional browser rendering, proxy geo-targeting, custom HTTP headers, and browser wait controls. JavaScript rendering is useful for pages whose content is loaded in the browser. A request can either return content immediately or create an asynchronous extraction job for later polling.

Crawls begin at a seed URL and follow links breadth-first up to a requested depth and page limit. URL mapping combines sitemap parsing with link extraction from the seed page. Search returns ranked results with locale, safe-search, pagination, recency, and engine-selection options.

## Setup and configuration

Add the MCP endpoint to a compatible client that supports remote MCP connections. For anonymous testing, no credential is needed for the limited extraction path. To use authenticated tools, sign up at Geonode and configure the resulting API key so the client sends it as `X-Api-Key`.

The endpoint is:

```text
https://mcp.geonode.com/mcp
```

Authenticated features include search, mapping, crawling, batch extraction, asynchronous job management, statistics, JavaScript rendering, and broader request options. The key itself is transmitted as a request header rather than represented by a documented server environment variable.

## Tools and capabilities

- `extract`: Return a page as HTML or Markdown, with optional rendering, headers, geo-targeting, and wait behavior.
- `job` and `jobs`: Retrieve one asynchronous extraction or list extraction jobs with filters and pagination.
- `batch`, `batch_status`, and `cancel_batch`: Process an explicit URL list asynchronously, inspect paginated results, or stop new work from being scheduled.
- `crawl`, `crawl_status`, and `cancel_crawl`: Crawl a site from a seed URL, inspect results, or cancel further scheduling.
- `map`, `map_job`, and `map_jobs`: Discover site URLs and inspect individual or listed mapping jobs.
- `search`, `search_job`, and `search_jobs`: Run ranked web searches and inspect search job records and results.
- `statistics`: View aggregated extraction counts, outcomes, and usage over a date range.

## Limitations and notes

Anonymous extraction cannot use JavaScript rendering or arbitrary request headers beyond `Accept-Language`. Authenticated asynchronous operations require an API key. Mapping is scoped to the seed host and path by default; subdomains can be included explicitly. Search filtering by `time_range` limits result recency, while the `search` option in URL mapping filters discovered links by substring rather than querying a search engine.

_Full upstream README: https://allmcps.com/mcp/geonode-mcp-server/readme_

