forensic-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@forensic-mcp calculate the SHA-256 hash of SCHARDT.001 and verify it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
forensic-mcp
Servidor MCP (Model Context Protocol) de solo lectura para el triaje forense de imágenes de disco Windows, desarrollado como Trabajo Final de Máster en el Máster Universitario en Ciberseguridad y Privacidad de la Universitat Oberta de Catalunya (UOC).
Qué lo distingue
Impone un contrato de seguridad verificable en código sobre la evidencia y adjunta un bloque de procedencia de seis campos a cada hallazgo devuelto al agente.
Related MCP server: sift-mcp
Estado actual
Versión actual: v0.1.0.
Implementado: servidor MCP sobre transporte
stdio, modelo central de procedencia (Provenance), guardián de lectura exclusiva (open_evidence_readonly), registro de auditoría JSONL append-only, suite de verificación del contrato de seguridad y la primera herramienta funcional (hash_evidence_filepara cálculo y verificación de hashes MD5 y SHA-256).No existe todavía en esta versión: las otras cuatro herramientas forenses previstas (extracción de metadatos, generación y consulta de líneas temporales, parsing de registros y ejecución de scripts preaprobados), el adaptador de The Sleuth Kit para ficheros internos de una imagen, la integración con el agente de IA, la interfaz web de revisión y el empaquetado en Docker.
Requisitos
Python 3.11 o superior.
Linux o WSL2 (Ubuntu).
Windows nativo no se soporta en esta fase porque la verificación de hashes contra la utilidad estándar del sistema (sha256sum) y las futuras herramientas forenses de línea de comandos (The Sleuth Kit) dependen de un entorno POSIX.
Evidencias forenses
Las imágenes forenses no forman parte del repositorio ni deben almacenarse dentro de él. Se mantienen en un directorio externo indicado mediante la variable de entorno FORENSIC_MCP_EVIDENCE_ROOT, y el servidor confina todos los accesos a esa raíz rechazando cualquier ruta externa.
Ejemplo de configuración antes de arrancar el servidor:
export FORENSIC_MCP_EVIDENCE_ROOT=/ruta/a/evidence
forensic-mcpEn el caso de estudio utilizado en el TFM, las evidencias corresponden a los segmentos SCHARDT.001 a SCHARDT.005 del NIST CFReDS Hacking Case, mantenidos fuera del repositorio.
Instalación
Crear el entorno virtual en la raíz del proyecto:
python3 -m venv .venvActivar el entorno virtual:
source .venv/bin/activateInstalar el paquete y las dependencias de desarrollo:
pip install -e ".[dev]"Uso
Arrancar el servidor MCP en transporte stdio:
forensic-mcpVariables de entorno opcionales: FORENSIC_MCP_AUDIT_LOG (ruta del fichero JSONL de auditoría, por defecto audit/audit.jsonl) y FORENSIC_MCP_EVIDENCE_ROOT (directorio raíz permitido para las evidencias).
Ejecutar la suite de pruebas:
pytest -vEstructura del repositorio
pyproject.toml: definición del paquete, dependencias y punto de entradaforensic-mcp.LICENSE: licencia MIT del proyecto.README.md: documentación principal del repositorio.CHANGELOG.md: historial de cambios y elementos pendientes por versión.docs/adr/: registros de decisiones de arquitectura (ADR).src/forensic_mcp/models.py: modelos Pydantic de procedencia (Provenance), resultado de hashes (HashResult) y errores estructurados (StructuredError).src/forensic_mcp/evidence.py: guardián de acceso de solo lectura (open_evidence_readonly) y confinamiento de rutas (resolve_evidence_path).src/forensic_mcp/audit.py: registrador de auditoría JSONL append-only aislado del directorio de evidencias.src/forensic_mcp/tools/hashing.py: implementación de cálculo y verificación de hashes MD5 y SHA-256 en modo lectura.src/forensic_mcp/server.py: servidorMCPServersobrestdio, exposición dehash_evidence_filey captura controlada de errores.tests/: fixtures sintéticas y pruebas automatizadas de hashing y del contrato de seguridad.
Contrato de seguridad
Solo lectura verificable: las evidencias se abren exclusivamente mediante
os.O_RDONLYen modo'rb'; cualquier intento de apertura en modo de escritura falla de forma explícita.Operación sin red en tiempo de ejecución: el transporte
stdiono abre sockets durante el análisis, verificado mediante prueba automatizada que interceptasocket.socket.Sin construcción de comandos de shell: no se concatenan cadenas para invocar intérpretes ni binarios externos.
Errores estructurados y auditoría completa: toda llamada genera un
rpc_call_idúnico registrado enaudit.jsonl(solo metadatos, nunca contenido de ficheros) y los errores se devuelven como JSON estructurado sin stack traces.
Licencia y citación
El código de este repositorio se distribuye bajo licencia MIT; consúltese el fichero LICENSE.
Para citar este trabajo en contexto académico, remítase a la memoria del Trabajo Final de Máster: MCP Server para la Automatización de Análisis Forense asistido por IA mediante agentes agénticos, Paulo Ricardo de Oliveira, Máster Universitario en Ciberseguridad y Privacidad, Universitat Oberta de Catalunya (UOC), 2026–2027.
La memoria del Trabajo Final de Máster se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España, conforme a la plantilla de la Universitat Oberta de Catalunya.
Available Tools
1 toolhash_evidence_fileA
Compute and optionally verify MD5 and SHA-256 hashes of a file or raw disk image in strict read-only mode, returning mandatory 6-field provenance.
Inputs: case_id (required), file_path (required), source_id (required), expected_hash. Returns: Output model for MD5 and SHA-256 hashing and verification.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only a single tool exposed, there is no possibility of confusing it with another; its purpose (hashing a file or disk image read-only with provenance) is unambiguous.
The single name hash_evidence_file follows a clear verb_noun snake_case convention and is self-descriptive.
One tool is far too thin for a forensic evidence server, which implies hashing, verification, manifest generation, and custody tracking. The surface is essentially a single operation.
Hashing with provenance is a solid core operation, but there is no batch/directory hashing, known-hash list comparison workflow, manifest or chain-of-custody output, or metadata extraction, leaving notable gaps for real forensic use.
Maintenance
Related MCP Connectors
Bounded readonly SHA256 verification with the official MCP SDK. No code execution or model calls.
Tamper-evident proof creation and verification for AI agents via MCP, A2A, and REST.
Read-only verifier for 25 ProofRelay MCP tools and non-confidential evidence bundles.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server for autonomous, spoliation-proof disk-image triage with self-correcting verification loop.MIT
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server that exposes deterministic NTFS timestomp detection tools for autonomous forensic triage, with architectural guarantees against evidence modification.MIT
- FlicenseAqualityDmaintenanceMCP server for read-only forensic analysis of evidence files using local utilities (file, ExifTool, strings, Volatility).3-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to inspect Autopsy forensic cases through read-only MCP tools for case metadata, filesystem and artifact search, timeline and account queries, evidence extraction, and hash-chained audit/seal verification.1 npm2GPL 3.0