Geonode MCP Server

com.geonode由 geonode.com 发布官方发布者v1.0.1更新于 Oct 29, 2026

Web data for agents. Extract web pages, crawl websites, discover URLs, and search the web.

已验证Streamable HTTP可网页运行网页搜索与抓取数据与分析

概览

AI 生成的概览

Geonode 托管的 MCP 服务器,让助手具备网页搜索、页面提取、URL 发现和站点爬取能力。

可以做什么
  • 按语言、时间范围和安全搜索选项进行网页搜索,并读取搜索任务结果
  • 将单个页面提取为 HTML 或 Markdown,可同步或异步执行,支持 JavaScript 渲染和代理地域定向
  • 结合站点地图解析与页面链接提取,发现某个基础 URL 下的所有链接
  • 以广度优先方式爬取站点,可限制深度和页面数量,并可取消正在运行的爬取
  • 对一组 URL 批量提取,并可取消批量任务
  • 列出并查看历史提取、批量、爬取、地图和搜索任务,以及汇总的使用统计
适用场景
适合需要把实时网页内容作为上下文的场景,例如把页面转成 Markdown、在编辑器中做调研,或从站点批量收集页面供后续分析。偶尔单页提取用匿名访问即可,更完整的工具集需要账号。
运行要求
需要一个远程 Streamable HTTP 端点,无需本地包或运行时。除 extract 外所有工具都需要通过 X-Api-Key 请求头提供 API 密钥;没有密钥时只能进行同步提取,并受匿名速率和每日用量限制。JavaScript 渲染和地域定向同样需要密钥。
安装前请注意
API 密钥属于机密:不要写进提示词或提交到文件,应通过客户端的安全请求头配置提供。爬取、批量和搜索会消耗账号套餐额度,可能产生用量费用。提取、爬取和批量工具会把目标 URL 和自定义请求头发送到 Geonode 的托管服务;README 也说明文档中的示例并未作为已认证的端到端流程实际运行过。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Geonode MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.geonode%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "geonode": {
      "type": "http",
      "url": "https://mcp.geonode.com/mcp"
    }
  }
}

README

[Geonode MCP Server: Web Scraping for AI Assistants]

Geonode MCP Server: Web Scraping for AI Assistants

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.

Try Geonode for free

Integrations page · Geonode API docs · MCP setup guide · View source on GitHub · Official MCP Registry

Connect · Example: extract a page and answer with sources

Workflow ideas

  • Turn a page into context. Extract a page as Markdown for your assistant to read.
  • Research from your editor. Let your assistant find and work with web data without switching tools.

Connect

SettingValue
Remote endpointhttps://mcp.geonode.com/mcp
TransportStreamable HTTP
Account authenticationX-Api-Key header
Official registry IDcom.geonode/mcp

Connections to https://scraper.geonode.io/mcp keep working; it serves the same server.

  1. Add the endpoint as a remote HTTP MCP server in your assistant. Follow the Geonode client setup documentation for its configuration format.
  2. Refresh the tool list. Every tool is listed without a key, but only extract runs without one; the other tools need your Geonode API key and use your plan limits.
  3. When you are ready to make a request, ask your assistant to extract a specific URL as Markdown. Inspect the tool result before asking it to summarize the page.

Client configuration formats differ. There is no universal JSON installation block in this repository, and the documented recipes are not a claim of tested installation in every client.

Check discovery without extracting a page

Requires Python 3.10 or newer; no third-party packages or API key are needed.

sh
# Show what the example will do. No network calls.python3 examples/discover.py
# Explicitly connect and print the discovered tool schemas.python3 examples/discover.py --connect

The script sends initialize, notifications/initialized, and tools/list. It handles JSON or SSE responses and preserves a session ID if the server provides one. It never sends tools/call, reads API credentials, or extracts a page. A successful result confirms metadata discovery, not scraping success.

How the discovery example works · Run its offline tests

Anonymous or account-backed access

Anonymous access is intended for limited synchronous extraction. JavaScript rendering and country targeting require authentication. Check the current keyless limits before relying on it for a workflow.

For authenticated access, create an API key in the Geonode dashboard and set X-Api-Key through your client's credential or secure-header configuration. Keep the key out of prompts and committed files. Use the authenticated tool schemas returned by your client rather than assuming the anonymous tool list is complete.

Example: extract a page and answer with sources

  1. Configure the hosted endpoint in a client that supports remote Streamable HTTP MCP, then refresh its tools.
  2. Start with the extract tool available through anonymous discovery, or configure X-Api-Key through the client's secure credentials for account access.
  3. Ask the assistant to extract https://example.com as Markdown, summarize the returned page, and include its source URL.
  4. Inspect the actual tool response for an error before trusting the summary. Discovery alone does not prove that extraction completed.

Expected result: The tool supplies page content and the assistant writes the answer. This repository supplies setup guides and a discovery example, not a model or a self-hosted scraping backend.

Choose the right connection

Use MCP when your assistant discovers and calls tools through the Model Context Protocol. Use the Python or TypeScript SDK when your application owns the request flow, or the CLI for shell scripts.

Use the native Make.com, Zapier or self-hosted n8n connector when building scenarios or workflows in those platforms. Their available operations and access requirements differ from the MCP tool list.

Anonymous access exposes limited extraction. For authenticated access, discover the actual tool schemas in your connected client instead of copying tool names or arguments from a framework toolkit.

These recipes describe source-supported workflows. They have not been run as authenticated end-to-end examples in this review.

What is in this repository?

ResourcePurpose
Connection guideEndpoint, authentication and troubleshooting
Discovery exampleInspect metadata and tool input schemas
Offline testsExercise JSON/SSE parsing and discovery flow
Source and release boundarySeparate this repository from the hosted backend

The Python SDK, CLI and framework toolkits are separate integrations. Installing a Python package does not start this hosted MCP service. No local bridge, self-hosted backend, or package release is provided here.

For API or account questions, contact Geonode. For vulnerabilities, follow SECURITY.md. Contributions use the MIT license.

Try Geonode for free

来源:README.md,提交 5182d81

工具

16

extract

Extract a web page

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.

输入参数api_keyextract_request必填

job

Get an extraction 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.

输入参数job_id必填api_key

jobs

List extraction jobs

List extraction jobs with optional filters. Filter by job ID, URL, 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.

输入参数urlpagejob_idoutputapi_keyend_datepage_sizejob_statusstart_date

statistics

Get extraction 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.

输入参数api_keyend_datestart_date

batch

Start a batch extraction

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.

输入参数api_keybatch_request必填

batch_status

Get batch status and results

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.

输入参数pagejob_id必填api_keypage_size

cancel_batch

Cancel a batch job

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.

输入参数job_id必填api_key

crawl

Start a site 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.

输入参数api_keycrawl_request必填

crawl_status

Get crawl status and results

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.

输入参数pagejob_id必填api_keypage_size

cancel_crawl

Cancel a crawl job

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.

输入参数job_id必填api_key

map

Map a site's URLs

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.

输入参数api_keymap_request必填

map_jobs

List map jobs

List map jobs for the authenticated user with optional filters. Filter by base URL (partial match), 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.

输入参数urlpageapi_keyend_datepage_sizejob_statusstart_date

map_job

Get a 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.

输入参数job_id必填api_key

search_jobs

List search jobs

List search jobs for the authenticated user with optional filters. Filter by query (partial match), 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.

输入参数pagequeryapi_keyend_datepage_sizejob_statusstart_date

search_job

Get a 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.

输入参数job_id必填api_key

版本历史

1
  1. v1.0.1最新Oct 29, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分