Enrichment MCP Server
Servidor MCP de enriquecimiento
Este proyecto es un servidor de Protocolo de Contexto de Modelo (MCP) para realizar enriquecimiento dado un observable proporcionado. La combinación de los servicios configurados y los observables proporcionados determinará a qué servicios de enriquecimiento se llamará.
Esta herramienta proporciona una implementación de servidor MCP simple para realizar enriquecimiento de terceros utilizando servicios comunes (por ejemplo, VirusTotal, Hybrid Analysis, etc.) utilizando el paquete de Python security-cli para realizar enriquecimiento/comunicarse con diferentes servicios.
Servidor MCP
Esta implementación del servidor MCP enrichment-mcp expone las siguientes herramientas .
lookup-observable: un punto final genérico que examina y dirige el observable dado a la herramienta correcta.
Related MCP server: ADEO CTI MCP Server
Servicios soportados
Actualmente se admiten los siguientes servicios y tipos observables:
Si tiene alguna sugerencia o cree que se debería implementar otro servicio, ¡cree un problema o una solicitud de extracción!
Nombre | Se requiere clave API | Soporta IP | Admite dominio | Admite URL | Admite correo electrónico |
VirusTotal | Sí | Sí | Sí | Sí | No |
Análisis híbrido | Sí | Sí | Sí | Sí | No |
Bóveda alienígena | Sí | Sí | Sí | Sí | No |
Shodan | Sí | Sí | Sí | Sí | No |
Urlscan.io | Sí | Sí | Sí | Sí | No |
AbuseIPDB | Sí | Sí | No | No | No |
He sido derrotado | Sí | No | No | No | Sí |
Requisitos
Este servicio MCP utiliza security-cli y un archivo config.yaml.example personalizado para determinar qué servicios de enriquecimiento de terceros son compatibles con las búsquedas observables.
La forma más fácil de ejecutar esto en un sistema/Mac local es:
uv run --env-file .env server.pyEsto requiere que utilice la plantilla proporcionada .env.example y cree un nuevo archivo .env con sus secretos.
NOTA: Consulte la documentación de security-cli para obtener información sobre la configuración de los diferentes servicios. La configuración predeterminada es suficiente para la mayoría de los casos de uso.
Variables ambientales
NOTA: Se recomienda encarecidamente configurar los secretos como variables de entorno al implementar este servicio. ¡Deja de almacenar secretos, idiota!
Para que el paquete security-cli detecte estas variables, deben tener un formato específico. A continuación, se muestra la lista de variables compatibles actualmente:
ENRIQUECIMIENTO_MCP_VIRUSTOTAL_CLAVE
ENRIQUECIMIENTO_MCP_ANÁLISIS_HÍBRIDO_CLAVE
ENRIQUECIMIENTO_MCP_ALIENVAULT_CLAVE
ENRIQUECIMIENTO_MCP_SHODAN_CLAVE
ENRIQUECIMIENTO_MCP_URLSCAN_CLAVE
ENRIQUECIMIENTO_MCP_ABUSEIPDB_CLAVE
ENRIQUECIMIENTO_MCP_HIBP_CLAVE
Configuración de enriquecimientos
Cada servicio de enriquecimiento se define en el archivo de configuración de securiy-cli . Además, he desglosado los diferentes tipos de enriquecimiento que se pueden realizar. Esto significa que, en la implementación actual, tenemos un único tipo de acción llamado enrich pero en el futuro se podrá ampliar para funciones como scans , queries , etc.
Debajo de estas acciones de alto nivel, enumeramos el tipo de observable, seguido de una lista de servicios que lo admiten. Los tipos de observables actualmente admitidos son:
direcciónip - direcciones ipv4
dominio - Un dominio o netloc
url: una URL completa con esquema, etc.
correo electrónico - Una dirección de correo electrónico estándar
También admitimos estos tipos, pero actualmente no están implementados:
md5 - Un hash MD5 de archivo
sha1 - Un hash SHA1 de archivo
sha256 - Un hash SHA256 de archivo
Cada servicio debe tener un name y una template . Se puede proporcionar el campo apikey , pero recomendamos usar variables de entorno.
Plantillas de indicaciones
Cada servicio y tipo de observable puede tener su propia plantilla de respuesta. Estas se encuentran en el directorio de plantillas de security-cli y se espera que todas las plantillas se encuentren aquí.
Cada servicio definido tiene una plantilla de solicitud que utiliza plantillas de jinja2. Puede modificarlas según sea necesario, pero el formato del nombre de archivo debe ser el mismo.
Estos archivos tienen el siguiente patrón de nombre de archivo.
{service.name}.{enrichment.type}.jinja2Asegúrese de que el objeto de respuesta tenga los campos correctos en la plantilla o recibirá un error.
A continuación se muestra un ejemplo de salida para un mensaje de Enrich this IP 91.195.240.94 con algunos errores incluidos:
{
"virustotal": "error occurred looking up ip 91.195.240.94 in virustotal",
"alienvault": "Service: alienvault\nIPAddress: \nReputation Score: 0\nTotal Votes: ",
"shodan": "Service: shodan\nIPAddress: 91.195.240.94\nLast Analysis Results: 2025-04-25T21:02:52.644602\n\nTags\n\n\nAdditional information includes:\n\n* Latitude: 48.13743\n* Longitude: 11.57549\n* ASN: AS47846\n* Domains: ["servervps.net"]",
"hybridanalysis": "error occurred looking up ip 91.195.240.94 in hybridanalysis",
"urlscan": "Service: urlscan\nResult: https://urlscan.io/api/v1/result/01966efe-c8fa-74a4-bfc0-1ed479838e85/\n\nStats\n\n* uniqIPs - 6\n\n* uniqCountries - 2\n\n* dataLength - 432561\n\n* encodedDataLength - 218606\n\n* requests - 14\n\n\nPage\n* country - DE\n* server - Parking/1.0\n* ip - 91.195.240.94\n* mimeType - text/html\n* title - wearab.org\xa0-\xa0Informationen zum Thema wearab.\n* url - https://login.wearab.org/\n* tlsValidDays - 364\n* tlsAgeDays - 0\n* tlsValidFrom - 2025-04-25T00:00:00.000Z\n* domain - login.wearab.org\n* apexDomain - wearab.org\n* asnname - SEDO-AS SEDO GmbH, DE\n* asn - AS47846\n* tlsIssuer - Encryption Everywhere DV TLS CA - G2\n* status - 200\n",
"abuseipdb": "Service: abuseripdb\nIPAddress: 91.195.240.94\nLast Analysis Result: 2025-03-30T14:04:45+00:00\nScore: 7\nUsage: Data Center/Web Hosting/Transit\nIs Tor: False\nIs Whitelisted: False\nISP: Sedo Domain Parking"
}Uso del servidor MCP
Para utilizar un servidor prediseñado, instrucciones desde aquí: https://modelcontextprotocol.io/quickstart/user
Descargar Claude para escritorio
Instalar uv
curl -LsSf https://astral.sh/uv/install.sh | shDescargue este repositorio y agréguelo a la configuración de Claude para escritorio
Claude para escritorio > Configuración > Desarrollador > Editar configuración
Puede copiar el archivo .desktop_config.example.json proporcionado
Si quieres crearlo tú mismo, estas son las rutas para Claude Desktop.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.jsonAbra el archivo de configuración en cualquier editor de texto. Reemplace el contenido del archivo con esto:
{
"mcpServers": {
"enrichment-mcp": {
"command": "/ABSOLUTE/PATH/TO/PARENT/FOLDER/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/CLONED/REPOSITORY/enrichment-mcp",
"run",
"server.py"
]
}
}
}Reiniciar Claude para escritorio
Ahora debería ver dos íconos en la barra de chat: un martillo que muestra las herramientas disponibles y un ícono de conexión que muestra el mensaje definido y la entrada requerida.
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar solicitudes de incorporación de cambios.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityCmaintenanceA Model Context Protocol server that facilitates integration with OpenCTI, allowing users to query and retrieve cyber threat intelligence data via a standardized interface.1640MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides access to Shodan and VirusTotal APIs for cybersecurity analysis, enabling analysts to perform network intelligence operations including host lookups, vulnerability analysis, and threat intelligence gathering.23
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that performs third-party threat intelligence enrichment for various observables (IP addresses, domains, URLs, emails) using services like VirusTotal, Shodan, and AbuseIPDB.
- AlicenseAqualityDmaintenanceA Model Context Protocol server providing security vulnerability intelligence tools including CVE lookup, EPSS scoring, CVSS calculation, exploit detection, and Python package vulnerability checking.89MIT
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
Remote MCP server to enrich company profiles with structured B2B data and confidence scores.
Pulsedive MCP — threat-intelligence IOC enrichment (pulsedive.com)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MSAdministrator/enrichment-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server