Crawlgraph Mcp

io.github.pucilpet由 GitHub 帳號 pucilpet 發布v0.2.2更新於 Oct 24, 2026

Backlink lookups and competitor gap analysis on Common Crawl's open web graph (4.4B links).

概覽

AI 產生的概覽

反向連結研究伺服器,讓助理在 Common Crawl 開放網頁圖上查詢反向連結、比較快照並進行競爭對手差距分析。

可以做什麼
  • 依權威度或引用主機排序查詢某網域的反向連結,可指定快照版本
  • 比較兩個 Common Crawl 快照之間的反向連結變化
  • 針對一個網域與 1 至 5 個競爭對手網域進行差距分析,支援任務輪詢與續查
  • 列出差距任務中的外聯研究候選對象,可選擇平台篩選與權威度補充
  • 列出可用的 Common Crawl 快照清單,不消耗研究配額
適用情境
適合 SEO 與外部連結研究:檢視網站的引用網域、找出快照之間的連結變化、發掘競爭對手有而自己沒有的連結機會。適合希望讓助理直接執行並解讀反向連結查詢、而不必手動瀏覽儀表板的分析人員。
執行需求
以本機 stdio 程序(npx crawlgraph-mcp)或託管 HTTP 端點執行。需要 CrawlGraph API 金鑰,放在 CRAWLGRAPH_API_KEY 環境變數中(HTTP 方式使用 bearer 權杖)。可選 CRAWLGRAPH_BASE_URL 覆寫端點。依帳號計配額:免費帳號每月 15 次反向連結呼叫、0 個差距任務。
安裝前請注意
每次反向連結呼叫與每個新差距任務都會消耗帳號配額,任務一旦被接受即計費,即使回應遺失或逾時;可選的補充查詢會額外消耗反向連結呼叫。API 金鑰是可計費憑證,不要放進共用設定。結果是 Common Crawl 的週期性觀測而非即時連結監控,引用網域消失不代表連結已刪除。外聯工具只提供候選對象,不會送出訊息。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Crawlgraph Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

crawlgraph-mcp

Five MCP tools for backlink research using CrawlGraph and Common Crawl snapshots: backlinks, backlink_changes, gap_analysis, gap_outreach_targets, and releases. Outreach tools identify research candidates; they do not send messages or create contacts.

Choose an authentication profile

SurfaceCredentialsTool profile
npm / local stdioYour CRAWLGRAPH_API_KEY (cg_live_…)Legacy
https://crawlgraph.com/mcpYour API key in Authorization: Bearer cg_live_…Legacy
https://crawlgraph.com/mcp/connectorsAccount-linked OAuth access token in the Authorization headerBounded directory profile, when enabled

Legacy /mcp also accepts Smithery's ?apiKey=… and base64 JSON ?config=… forms. Header credentials take precedence, then apiKey, then packed config. Prefer the Authorization header. The connector endpoint rejects API keys, query credentials and packed configuration; OAuth tokens never go to the public /api/v1 API.

Directory approval and real Claude/OpenAI compatibility verification remain pending. No Verified listing or logo is claimed. This checkout's source version is 0.4.0; it does not establish the current npm or hosted version. Verify each distribution separately through the operator runbooks linked in DEPLOY.md.

API-key setup: npm / stdio and legacy HTTP

Obtain a key through CrawlGraph's API onboarding. The free-key flow emails a key; it does not sign you into an account.

For Claude Desktop / Claude Code, put this in your client's MCP configuration:

json
{  "mcpServers": {    "crawlgraph": {      "command": "npx",      "args": ["-y", "crawlgraph-mcp"],      "env": {        "CRAWLGRAPH_API_KEY": "cg_live_your_key_here"      }    }  }}

Cursor, Windsurf, Cline and Zed use the same command/environment arrangement. Streamable HTTP clients can use https://crawlgraph.com/mcp with their own bearer API key. Confirm the hosted tools/list response before relying on a specific source feature.

Local stdio settingRequiredDefault
CRAWLGRAPH_API_KEYYes for tool execution; resolved lazily—
CRAWLGRAPH_BASE_URLNo; legacy REST adapter onlyhttps://crawlgraph.com

Account linking: OAuth connector

When the operator enables the reviewed service, connect to https://crawlgraph.com/mcp/connectors using an existing CrawlGraph account, sign in and approve consent in the original connection browser. Account creation is outside OAuth. If you need an account, follow the disclosed onboarding flow, then return and request sign-in; an emailed API key alone is not a login session.

The issuer is https://crawlgraph.com, the exact resource is https://crawlgraph.com/mcp/connectors, and the only scope is crawlgraph:read. Public clients use authorization code plus S256 PKCE and token_endpoint_auth_method=none. Omitted registration auth method is normalized to none and any SDK-generated secret is discarded. Confidential client methods and metadata-document fetching are unsupported. Callbacks must be exact operator-approved HTTPS URLs. OpenAI's callback must come from the actual portal; this repository does not supply a guessed callback.

Authorization and code exchange require the exact raw resource value. At code exchange a supplied redirect_uri must exactly match the stored callback; omission retains that callback. Refresh may omit resource and scope to retain the original grant. PKCE is validated by the backend during the atomic code exchange, alongside client/resource/redirect/scope checks.

Use account connection management to disconnect and revoke the entire grant and refresh family. An expired access token can be refreshed while its grant and refresh family remain valid; revoked or expired grants require reconnecting. Discovery, OAuth and introspection outages return 503 without a relink challenge. Execution outages return a safe tool error inside the HTTP 200 MCP result, without relink metadata. Tool-time revocation is reported through mcp/www_authenticate result metadata. Refresh rotation has no retry grace: concurrent reuse revokes the family, and a lost token response may require reconnecting. A 503 after a possible commit does not promise an unused code or refresh token.

Quotas and directory tools

Both auth profiles share the account's UTC calendar-month counters. Free accounts have 15 backlinks calls and 0 gap jobs; accounts with current paid access have 1,000 backlinks calls and 50 gap jobs. Paid eligibility follows the backend's current entitlement rules. Release inventory consumes no research quota. backlink_changes shares the backlinks counter.

Directory inputs and costs:

ToolArgumentsCost
backlinksdomain, limit?, sort? (authority or hosts), release_id?1 backlinks call
backlink_changesdomain, limit?, from_release?, to_release?1 backlinks call
gap_analysismy_domain, competitor_domains[] (1–5), limit?, job_id?New submission: 1 gap job; polling/resume: 0
gap_outreach_targetsGap inputs plus include_platforms?, enrich_authority_top?New submission: 1 gap job; optional N extra backlinks calls
releaseslimit?0

Directory lists default to 20, maximum 100. The complete serialized UTF-8 CallToolResult, including structured data, text and metadata, is limited to 65,536 bytes. Additional output clipping is disclosed in crawlgraph/output metadata, retaining original observed totals, source caps, quota accounting, provenance and job handles. Large exports belong on the account/API surface.

Gap tools poll for at most 75 seconds within a 90-second tool budget. A pending result includes job_id and the normalized request. Resume the same tool with that handle and query; a fresh valid grant for the same owner can resume after reconnecting. Polling costs zero gap jobs. Never automatically submit a replacement after timeout, cancellation, network loss or a stale worker: the accepted job may still complete. Cancellation stops further polling. An accepted submission remains charged; a lost/malformed response reports unknown consumption rather than claiming zero.

Node writes bounded JSON telemetry to stderr. Each directory tool call records an internally generated correlation ID, fixed tool name (or unknown), final envelope status, isError, allowlisted primary and partial error codes, latency, and the exact final serialized UTF-8 result size, excluding transport framing. Known charged-call counts and unknown-consumption categories come from the final envelope. Pending cancellations and completed results with partial revocation retain their distinct status and error fields. HTTP/OAuth errors record only a fixed route category, status, allowlisted code and a separate response-local correlation ID. Logging failures cannot change responses. Logs omit arguments, domains, results, job/account/grant/client/source IDs, caller request IDs, exception text, URLs, headers, configuration and credentials.

OAuth source admission groups IPv6 addresses by /64 only in the local bucket key; mapped IPv4 addresses use the same bucket as their IPv4 form. Private RPCs still receive the full normalized verified ingress source. The bounded bucket map fails closed at capacity without evicting live windows; the backend continues enforcing its own policies.

Outreach preserves the backend ranking by competitor overlap, authority and domain. Platform-filter counts describe only the returned backend sample. Enrichment defaults to 0; explicitly request enrich_authority_top=N (0–5) for up to N extra backlinks calls on retained targets. Partial failures retain completed results, per-item provenance, actual known charges, the latest observed quota and any unknown consumption. Verified jobs use their attested release for enrichment; legacy jobs keep null provenance and record separate lookup releases.

Legacy tools retain their original fields and defaults: backlinks defaults to 1,000 rows at the public API, maximum 10,000; outreach uses enrich_top, default 10, maximum 25, with one backlinks call per enrichment. Legacy gap tools submit and poll within their existing 90-second window and have no directory job_id input. Check the selected profile before estimating quota use.

Interpret results

Common Crawl is a periodic observation, not live link monitoring. Named release provenance does not prove that a page currently links to a target. A removed referring domain means it was not observed in the newer snapshot, not proven live deletion. Unavailable comparison differs from zero changes; unknown totals and source-capped lower bounds differ from complete empty results. Gap provenance is saved at execution and retained on later polling. Older unattested artifacts report legacy_unverified and null release identity. A referring-domain overlap suggests a research candidate, not that a publisher has never heard of you.

Example research prompt:

Find backlink gaps for mine.example against a.example and b.example. If pending, resume the returned job without resubmitting. Report provenance, caps and quota use before proposing any optional authority enrichment.

Develop and validate

bash
npm installnpm run buildnode --test tests/*.test.mjs

The build is also the TypeScript check; no separate lint script is configured. Tests use the installed SDK, local HTTP fixtures and fake private/public backend replies. They require permission to bind loopback sockets and never need production credentials or live provider access. Node fixtures do not prove the backend's SQLite transactions, quota isolation or query pinning; separate crawlback backend HTTP tests and the full release gates cover those.

Implementation references: HTTP surfaces, OAuth router, provider, private backend client, directory tools, and legacy server.

License

MIT

來源:README.md,提交 aeab111

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分