AI agent이 웹 검색, 페이지 내 구조화된 데이터 추출, 웹사이트 크롤링 및 100억 개 이상의 엔티티로 구성된 대규모 지식 그래프 쿼리를 수행할 수 있도록 지원합니다.
다른 이름 diffbot/diffbot-mcp, diffbot-mcp
- 스타
- 3
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 0.2.1
- 마지막 커밋
- 2026년 11월 11일
- 라이선스
- MIT
Diffbot MCP란?
Diffbot은(는) MCP server입니다. AI agent이 웹 검색, 페이지 내 구조화된 데이터 추출, 웹사이트 크롤링 및 100억 개 이상의 엔티티로 구성된 대규모 지식 그래프 쿼리를 수행할 수 있도록 지원합니다.
프로젝트 README에서 생성된 요약
Diffbot MCP server 정보
Diffbot은 AI agent이 공개 웹 및 100억 개 이상의 엔티티를 포함하는 대규모 지식 그래프와 상호작용할 수 있도록 설계된 도구 모음을 제공합니다. 개발자는 이 server를 사용하여 구조화된 데이터 추출, 웹 검색 및 사이트 크롤링을 수행할 수 있습니다. 원시 HTML을 반환하는 표준 fetch 도구와 달리, extract 도구는 페이지를 분류하고 토큰 사용량을 최소화하기 위해 일관된 JSON schema를 반환합니다. 또한 이 server에는 조직, 인물, 장소, 뉴스 등 특정 엔티티 유형을 쿼리하기 위한 특화된 도구가 포함되어 있습니다.
사용자는 uvx를 사용하여 로컬 server로 배포하거나 호스팅된 원격 버전에 연결할 수 있습니다. OAuth를 지원하는 Claude, Cursor 또는 VS Code와 같은 client의 경우, 토큰을 수동으로 붙여넣지 않고 Diffbot 계정으로 직접 로그인할 수 있습니다. 다른 설정의 경우 환경 변수나 credentials file을 통해 Diffbot API token이 필요합니다. 이 server는 지식 그래프에 대한 원시 쿼리를 허용하는 dql 도구와 텍스트를 특정 엔티티 ID로 매핑하는 resolve_entities 도구를 통해 심층적인 리서치를 가능하게 합니다.
활용 사례
- 1구조화된 웹 데이터 추출대량의 HTML 토큰을 사용하는 대신 웹페이지를 깔끔한 JSON schema로 변환합니다.
- 2심층 엔티티 리서치 수행텍스트에 언급된 특정 조직이나 인물을 식별하고 Diffbot Knowledge Graph와 연결합니다.
- 3웹사이트 크롤링 자동화모든 링크를 자동으로 찾아 구조화함으로써 웹사이트 전체를 매핑하거나 문서를 아카이브합니다.
- 4비즈니스 인텔리전스 쿼리산업, 매출 또는 리더십과 같은 특정 기준을 바탕으로 기업을 찾습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Diffbot MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 Diffbot MCP 설치
$ claude mcp add --env DIFFBOT_TOKEN=<YOUR_DIFFBOT_TOKEN> diffbot-mcp -- uvx diffbot-mcpCursor에 Diffbot MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"diffbot-mcp": {
"command": "uvx",
"args": [
"diffbot-mcp"
],
"env": {
"DIFFBOT_TOKEN": "<YOUR_DIFFBOT_TOKEN>"
}
}
}
}VS Code에 Diffbot MCP 설치
.vscode/mcp.json
{
"servers": {
"diffbot-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"diffbot-mcp"
],
"env": {
"DIFFBOT_TOKEN": "<YOUR_DIFFBOT_TOKEN>"
}
}
}
}Claude Desktop에 Diffbot MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"diffbot-mcp": {
"command": "uvx",
"args": [
"diffbot-mcp"
],
"env": {
"DIFFBOT_TOKEN": "<YOUR_DIFFBOT_TOKEN>"
}
}
}
}Codex에 Diffbot MCP 설치
~/.codex/config.toml
[mcp_servers.diffbot-mcp] command = "uvx" args = ["diffbot-mcp"] [mcp_servers.diffbot-mcp.env] DIFFBOT_TOKEN = "<YOUR_DIFFBOT_TOKEN>"
Gemini CLI에 Diffbot MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"diffbot-mcp": {
"command": "uvx",
"args": [
"diffbot-mcp"
],
"env": {
"DIFFBOT_TOKEN": "<YOUR_DIFFBOT_TOKEN>"
}
}
}
}구성
DIFFBOT_TOKEN비밀Optional. Diffbot API token. Free token: https://app.diffbot.com/get-started. DIFFBOT_API_TOKEN or ~/.diffbot/credentials also work.
MCP_TRANSPORT
| 이름 | 설명 | 유형 |
|---|---|---|
| DIFFBOT_TOKEN | Optional. Diffbot API token. Free token: https://app.diffbot.com/get-started. DIFFBOT_API_TOKEN or ~/.diffbot/credentials also work. | 비밀 |
| MCP_TRANSPORT | — |
자동 검사
2026년 11월 12일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지와 의존성에 심각한 보안 권고 없음통과
README
GitHub에서 보기Diffbot MCP Server
Web knowledge fetching tools for your agent.
One click adds the hosted server and signs you in with a Diffbot account, no token to paste.
For the local uvx diffbot-mcp server instead: Cursor · VS Code.
What is Diffbot? Diffbot is an applied AI lab building models that structure all of human knowledge. Our commercial product suite make it possible to fetch and structure knowledge at the scale of the entire public web.
This is the MCP counterpart to diffbot-skills without requiring bash access.
Tools
Web
🧬 extract
Web fetch tool alternative. Conventional fetch tools return either 500k+ tokens of HTML or a markdown approximation of the page's content. Extract classifies the page it is fetching and extracts content into a meaningful and consistent JSON schema. Responses are optimized for minimal token usage while maintaining data fidelity. Learn more..
🔎 search_web
Web search tool that ranks accuracy, not popularity. Built on Diffbot's independent web index. Ranking model heavily favors primary sources over secondary sources (e.g. press release > news piece on said press release). Returns markdown formatted content chunks for source citation, with num_results and max_tokens controls. Learn more.
Also includes a page cache reader. Query url:<URL> and it returns Diffbot's already-parsed copy of that page from the index in a fraction of the time for live fetch. Use it for full content from reference prose (docs, articles, papers) and reach for extract when the page's current state matters.
🕷️ crawl
Find all links on a web page (the seed) and extract them all. A classic web crawl without the need for scraping rules. Crawls run as background jobs and can be polled for status. Crawl automatically classifies and structures pages in a standard ontology for easy querying. Use crawl to archive documentation, take snapshots of web projects, or site mapping. Learn More.
🧠 resolve_entities
Recognize and resolve entities in text. Uses Diffbot NLP to recognize organizations, people, places, addresses, and other proper nouns in text. Entities are resolved to entity IDs in the Diffbot Knowledge Graph, and the response includes a ready-made dql_filter (id:or(...)) to fetch their full records with dql. Use to keep AI hallucinations in check and explore deep research opportunities. Learn more.
Knowledge Graph
The Diffbot Knowledge Graph contains over 10 billion entities: Organizations, people, news, places, and more, all linked together by their relationship to each other. It is a representation of things, facts, and connections mentioned by the trillions of websites that make up the public web.
📰 search_news
News and articles by mentioned entity, topic, publisher, language, date range, or sentiment. Newest first by default, relevance-ranked inside a date window.
🏢 search_organizations
Companies by industry, headquarters, headcount, revenue, funding, ownership, or leadership, plus similar_to lookalike lists for competitor mapping.
👤 search_people
People by title, employer, employer industry, skills, education, location, or nationality. Covers people with a public online professional presence only.
🗺️ search_places
Cities, counties, states, countries, and points of interest by name, population, prominence, containing place, or proximity.
💸 search_deals
Funding rounds, investments, and acquisitions by date, size, series, investor, acquirer, or industry.
🎯 dql
Raw querying of the Diffbot Knowledge Graph. The general-purpose layer under the five tools above, for any entity type or query shape they do not cover: products, patents, brands, job posts, cross-entity queries, and facet aggregations. Returns compact csv rows with per-type default columns, or full json records on request.
🔬 dql_probe
Parallel hit counts for several candidate queries. The way to check that a query is neither too broad nor too narrow before pulling rows, and to compare the {} co-constrained form of a query against the loose one.
🧭 dql_ontology
Helper utility for accurate dql ontology navigation. Holds the keys to Diffbot's entire ontology and taxonomy reference: entity types, fields, taxonomies, and enums. A guessed field name is silently ignored by the graph, so this is how the exact spelling gets confirmed. Humans don't need to touch this, but feel free to satisfy your curiosity.
Example Prompts
# extract
→ Install Diffbot agent skills following these instructions https://www.diffbot.com/docs/interfaces/agent-skills
# crawl
→ Crawl Philips' websites for product data sheet PDFs
# search_organizations
→ AI companies based in San Francisco started by previous YC founders
# search_deals
→ recent M&As in pharma
Authentication
A free Diffbot token is required for tool use. Get one here.
MCP clients that support OAuth (Claude, Cursor, VS Code) can connect to https://mcp.diffbot.com/mcp without a token and sign in with a Diffbot account instead.
Otherwise the server looks for a token in this order:
Authorization: Bearer <token>header or?token=<token>query parameter (HTTP transport)DIFFBOT_TOKENorDIFFBOT_API_TOKENenvironment variable- A
DIFFBOT_API_TOKEN=<token>line in~/.diffbot/credentials, the same file thedbCLI and diffbot-skills read, so one credential serves all three
To enable OAuth on a self-hosted HTTP server, set:
| Variable | Example |
|---|---|
DIFFBOT_OAUTH_ISSUER |
https://app.diffbot.com |
MCP_BASE_URL |
Public URL of this server, e.g. https://mcp.diffbot.com |
DIFFBOT_OAUTH_CLIENT_ID / DIFFBOT_OAUTH_CLIENT_SECRET |
Confidential client allowed to call the dashboard's introspection endpoint |
OAuth is off when DIFFBOT_OAUTH_ISSUER is unset. With docker compose, MCP_BASE_URL and DIFFBOT_OAUTH_CLIENT_ID are set in docker-compose.yml; DIFFBOT_OAUTH_ISSUER and DIFFBOT_OAUTH_CLIENT_SECRET go in a .env next to it, which the production deploy writes from the DIFFBOT_OAUTH_CLIENT_SECRET GitHub Actions secret. The server runs without it.
Get Started
Two ways to connect. The remote server is hosted by Diffbot and deploys from this repo. The local server runs on your machine from PyPI with uv.
Remote server
https://mcp.diffbot.com/mcp?token=<YOUR_DIFFBOT_TOKEN>
Local server
uvx diffbot-mcp
uvx installs the package into its own environment and runs it. The process reads a token from DIFFBOT_TOKEN, DIFFBOT_API_TOKEN, or ~/.diffbot/credentials.
Setup with MCP Clients
For a local process, this config works with Claude Desktop and most other MCP clients. Follow the official installation guide for where the file lives.
{
"mcpServers": {
"diffbot-mcp": {
"command": "uvx",
"args": ["diffbot-mcp"],
"env": {
"DIFFBOT_TOKEN": "<YOUR_DIFFBOT_TOKEN>"
}
}
}
}
To use the remote server instead, point the client at https://mcp.diffbot.com/mcp?token=<YOUR_DIFFBOT_TOKEN>.
For a Docker install, build the image with docker build -t diffbot-mcp . and use this configuration.
{
"mcpServers": {
"diffbot-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "DIFFBOT_TOKEN=<YOUR_DIFFBOT_TOKEN>",
"diffbot-mcp"
]
}
}
}
The repo also packs as a Claude Desktop extension, so the local server installs without editing a config file. Download diffbot-mcp-<version>.mcpb from the latest release, then double-click it, drag it onto the Claude Desktop window, or use Settings > Extensions > Install Extension. The GitHub release carries the file once the v* tag workflow has run.
Claude Desktop asks for a Diffbot API token on install. Leave it blank to use ~/.diffbot/credentials instead. Python and the server's dependencies are resolved by uv, which Claude Desktop manages itself, so there is nothing else to install.
To build the file from a checkout:
npm install --global @anthropic-ai/mcpb
python3 scripts/sync_version.py # stamp manifest.json from pyproject.toml
mcpb pack . diffbot-mcp.mcpb
Requires uv on PATH. The extension starts the server with uvx.
gemini extensions install https://github.com/diffbot/diffbot-mcp
Gemini CLI asks for a Diffbot API token on install. Leave it blank to use ~/.diffbot/credentials.
For remote setup, simply enter the remote server URL and include "http" as the transport type.
{
"servers": {
"diffbot-mcp": {
"type": "http",
"url": "https://mcp.diffbot.com/mcp/?token=<YOUR_DIFFBOT_TOKEN>"
}
}
}
For a local server, this config prompts for the token instead of storing it in the file.
{
"servers": {
"diffbot-mcp": {
"command": "uvx",
"args": ["diffbot-mcp"],
"env": {
"DIFFBOT_TOKEN": "${input:diffbot-api-key}"
}
}
},
"inputs": [
{
"password": true,
"id": "diffbot-api-key",
"type": "promptString",
"description": "Diffbot API Key"
}
]
}
Development
python3 -m venv env && env/bin/pip install -e '.[dev]'
env/bin/python -m pytest tests/test_builder.py # generated-DQL assertions, no network
env/bin/python tests/smoke.py # one live call per tool, needs a token
env/bin/python tests/eval_routing.py # real questions through `claude -p`, asserts tool routing; costs model tokens
MCP_TRANSPORT=http env/bin/python diffbot_mcp_server.py & ./test.sh # HTTP transport smoke
The code lives in diffbot_mcp/: api.py (token resolution and the shared request helper), dql.py (query execution, default columns, the cached ontology), dql_builder.py (pure DQL assembly), and one module per tool under tools/. diffbot_mcp_server.py is the entry point.
Releases are tag-driven: bump the version in pyproject.toml, run python3 scripts/sync_version.py, then push a vX.Y.Z tag — see RELEASING.md.
Help & Support
This project is built and maintained by @jeromechoo. For support, file an issue and he'll get back to you as soon as he can. For faster answers, write to sales@diffbot.com 😜.
Diffbot MCP 질문
Diffbot MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add --env DIFFBOT_TOKEN=<YOUR_DIFFBOT_TOKEN> diffbot-mcp -- uvx diffbot-mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Diffbot MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
Diffbot MCP server 인증은 어떻게 하나요?
Claude 또는 Cursor와 같이 지원되는 클라이언트에서 OAuth를 사용하거나, 환경 변수, 쿼리 파라미터 또는 credentials file을 통해 Diffbot API token을 제공할 수 있습니다.
extract 도구와 일반적인 fetch 도구의 차이점은 무엇인가요?
대량의 HTML이나 markdown을 반환하는 일반적인 도구와 달리, extract 도구는 페이지를 분류하고 토큰 사용량을 최소화하도록 최적화된 일관된 JSON schema로 콘텐츠를 반환합니다.
토큰 없이 서버를 사용할 수 있나요?
네, OAuth를 지원하는 MCP client를 사용하면 토큰을 직접 붙여넣을 필요 없이 Diffbot 계정으로 로그인하여 사용할 수 있습니다.