Diffbot
Habilidades de agente para obtener conocimiento
Documentación
Servidor MCP de Diffbot
Un servidor MCP de Diffbot con una variedad de herramientas útiles de obtención de conocimiento web para tu agente o pipeline de LLM.
¿Qué es Diffbot? Diffbot es un laboratorio de IA aplicada que construye modelos para estructurar todo el conocimiento humano. Nuestra suite de productos comerciales permite obtener y estructurar conocimiento a la escala de toda la web pública.
Esta es la contraparte MCP de diffbot-skills sin requerir acceso a bash.
Herramientas
Web
🧬 extract
Alternativa a las herramientas de fetch web. Las herramientas de fetch convencionales devuelven 500k+ tokens de HTML o una aproximación en markdown del contenido de la página. Extract clasifica la página que está obteniendo y extrae el contenido en un esquema JSON significativo y consistente. Las respuestas están optimizadas para un uso mínimo de tokens manteniendo la fidelidad de los datos. Aprende más..
🔎 search_web
Herramienta de búsqueda web que prioriza la precisión, no la popularidad. Construida sobre el índice web independiente de Diffbot. El modelo de ranking favorece fuertemente las fuentes primarias sobre las secundarias (por ejemplo, un comunicado de prensa > una noticia sobre dicho comunicado). Devuelve fragmentos de contenido formateados en markdown para la citación de fuentes, con controles de num_results y max_tokens. Aprende más.
También incluye un lector de caché de páginas. Consulta url:<URL> y devuelve la copia ya analizada de esa página desde el índice en una fracción del tiempo de una obtención en vivo. Úsalo para contenido completo de prosa de referencia (documentación, artículos, papers) y recurre a extract cuando el estado actual de la página sea relevante.
🕷️ crawl
Encuentra todos los enlaces en una página web (la semilla) y extráelos todos. Un rastreo web clásico sin necesidad de reglas de scraping. Los rastreos se ejecutan como trabajos en segundo plano y se pueden consultar para ver su estado. Crawl clasifica y estructura automáticamente las páginas en una ontología estándar para consultas fáciles. Usa crawl para archivar documentación, tomar instantáneas de proyectos web o mapear sitios. Aprende más.
🧠 resolve_entities
Reconoce y resuelve entidades en texto. Usa el NLP de Diffbot para reconocer organizaciones, personas, lugares, direcciones y otros nombres propios en texto. Las entidades se resuelven a IDs de entidad en el Knowledge Graph de Diffbot, y la respuesta incluye un dql_filter listo para usar (id:or(...)) para obtener sus registros completos con dql. Úsalo para mantener bajo control las alucinaciones de IA y explorar oportunidades de investigación profunda. Aprende más.
Knowledge Graph
El Knowledge Graph de Diffbot contiene más de 10 mil millones de entidades: organizaciones, personas, noticias, lugares y más, todas vinculadas entre sí por su relación mutua. Es una representación de cosas, hechos y conexiones mencionados por los billones de sitios web que componen la web pública.
📰 search_news
Noticias y artículos por entidad mencionada, tema, editor, idioma, rango de fechas o sentimiento. Más recientes primero por defecto, ordenados por relevancia dentro de una ventana de fechas.
🏢 search_organizations
Empresas por industria, sede, número de empleados, ingresos, financiación, propiedad o liderazgo, además de listas de similares de similar_to para mapeo de competidores.
👤 search_people
Personas por cargo, empleador, industria del empleador, habilidades, educación, ubicación o nacionalidad. Cubre solo personas con presencia profesional pública en línea.
🗺️ search_places
Ciudades, condados, estados, países y puntos de interés por nombre, población, prominencia, lugar contenedor o proximidad.
💸 search_deals
Rondas de financiación, inversiones y adquisiciones por fecha, tamaño, serie, inversor, adquirente o industria.
🎯 dql
Consulta directa del Knowledge Graph de Diffbot. La capa de propósito general bajo las cinco herramientas anteriores, para cualquier tipo de entidad o forma de consulta que no cubran: productos, patentes, marcas, ofertas de empleo, consultas entre entidades y agregaciones por facetas. Devuelve filas csv compactas con columnas predeterminadas por tipo, o registros json completos bajo petición.
🔬 dql_probe
Conteos de coincidencias en paralelo para varias consultas candidatas. La forma de verificar que una consulta no sea ni demasiado amplia ni demasiado estrecha antes de extraer filas, y de comparar la forma co-restringida de {} de una consulta contra la forma flexible.
🧭 dql_ontology
Utilidad auxiliar para una navegación precisa de la ontología dql. Contiene las claves de toda la referencia de ontología y taxonomía de Diffbot: tipos de entidad, campos, taxonomías y enums. Un nombre de campo adivinado es ignorado silenciosamente por el grafo, así que esta es la forma de confirmar la ortografía exacta. Los humanos no necesitan tocar esto, pero siéntete libre de satisfacer tu curiosidad.
Ejemplos de 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
Autenticación
Se requiere un token gratuito de Diffbot para el uso de las herramientas. Obtén uno aquí.
El servidor busca un token en este orden:
- Cabecera
Authorization: Bearer <token>o parámetro de consulta?token=<token>(transporte HTTP) - Variable de entorno
DIFFBOT_TOKENoDIFFBOT_API_TOKEN - Una línea
DIFFBOT_API_TOKEN=<token>en~/.diffbot/credentials, el mismo archivo que leen el CLIdby diffbot-skills, de modo que una sola credencial sirve para los tres
Comenzar
Inicio Rápido
La forma más fácil de comenzar es conectar tu cliente MCP directamente al servidor MCP remoto alojado por Diffbot.
https://mcp.diffbot.com/mcp?token=<YOUR_DIFFBOT_TOKEN>
Este repositorio se despliega directamente en el servidor remoto.
Instalación Local
Clona el repositorio
git clone git@github.com:diffbot/diffbot-mcp.git
Instala los requisitos
pip install .
Ahora puedes ejecutar el servidor con python3 diffbot_mcp_server.py, o omitir este paso si vas a configurar este servidor con un cliente MCP.
(Opcional) Instalación con Docker
Construye la imagen
docker build -t diffbot-mcp .
Configuración con Clientes MCP
Para configurar Claude Desktop, sigue la guía de instalación oficial y usa esta configuración de ejemplo de claude_desktop_config.json (reemplaza las variables según sea necesario).
Esta configuración estándar funciona con la mayoría de los IDEs y entornos.
{
"mcpServers": {
"diffbot-mcp": {
"command": "python3",
"args": [
"/<YOUR_PROJECT_FOLDER>/diffbot-mcp/diffbot_mcp_server.py"
],
"env": {
"DIFFBOT_TOKEN": "<YOUR_DIFFBOT_TOKEN>"
}
}
}
}
Para instalaciones con Docker, sigue esta configuración.
{
"mcpServers": {
"diffbot-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "DIFFBOT_TOKEN=<YOUR_DIFFBOT_TOKEN>",
"diffbot-mcp"
]
}
}
}
Visual Studio Code / Copilot
Para configuración remota, simplemente ingresa la URL del servidor remoto e incluye "http" como tipo de transporte.
{
"servers": {
"diffbot-mcp": {
"type": "http",
"url": "https://mcp.diffbot.com/mcp/?token=<YOUR_DIFFBOT_TOKEN>"
}
}
}
Para configuración local, prueba esta configuración modificada para una mejor gestión de secretos.
{
"servers": {
"diffbot-mcp": {
"command": "python3",
"args": [
"/<YOUR_PROJECT_FOLDER>/diffbot-mcp/diffbot_mcp_server.py"
],
"env": {
"DIFFBOT_TOKEN": "${input:diffbot-api-key}"
}
}
},
"inputs": [
{
"password": true,
"id": "diffbot-api-key",
"type": "promptString",
"description": "Diffbot API Key"
}
]
}
Desarrollo
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
El código vive en diffbot_mcp/: api.py (resolución de tokens y el helper compartido de solicitudes), dql.py (ejecución de consultas, columnas predeterminadas, la ontología en caché), dql_builder.py (ensamblaje puro de DQL) y un módulo por herramienta bajo tools/. diffbot_mcp_server.py es el punto de entrada.
Ayuda y Soporte
Este proyecto es construido y mantenido por @jeromechoo. Para soporte, abre un issue y él te responderá tan pronto como pueda. Para respuestas más rápidas, escribe a sales@diffbot.com 😜.