MCP Server

cgpj-server AI Integration

Use cgpj-server with Pickaxe to automate social content workflows while your team focuses on higher-leverage work. Ship faster with fewer repetitive steps.

Pickaxe community avatar
Pickaxe community avatar
Pickaxe community avatar
Pickaxe community avatar
Pickaxe community avatar
Pickaxe community avatar
Join 2,000+ builders
Pickaxe
cgpj-server

Capabilities

3 capabilities

search_jurisprudence

Busca resoluciones judiciales en la base de datos de jurisprudencia del CGPJ (CENDOJ). DESCRIPCIÓN: Esta herramienta realiza búsquedas avanzadas en el repositorio oficial de jurisprudencia del Consejo General del Poder Judicial de España. Permite filtrar por texto libre, jurisdicciones, órganos judiciales, fechas, números de resolución y otros criterios. CASOS DE USO TÍPICOS: 1. Búsqueda de jurisprudencia reciente sobre un tema específico 2. Localización de resoluciones de tribunales concretos 3. Análisis de tendencias jurisprudenciales en períodos temporales 4. Búsqueda de precedentes judiciales para casos similares 5. Investigación académica sobre líneas jurisprudenciales FLUJO DE TRABAJO: 1. Ejecutar esta herramienta con los criterios de búsqueda 2. Analizar los resultados devueltos (metadata + listado de resoluciones) 3. Para obtener enlaces de descarga: usar get_document_info con los campos reference/optimize 4. Para leer el texto completo: usar extract_document_text con los mismos campos PARÁMETROS PRINCIPALES: - texto: búsqueda de texto libre en contenido completo - jurisdicciones: filtrar por tipo de derecho (PENAL, CIVIL, CONTENCIOSO, SOCIAL, etc.) - tipos_organo: filtrar por tribunal (TRIBUNAL_SUPREMO, AUDIENCIA_NACIONAL, etc.) - fecha_desde/fecha_hasta: delimitar rango temporal - roj/ecli: búsqueda exacta por identificador único - orden: criterio de ordenación (fecha_desc recomendado para jurisprudencia reciente) - response_format: "markdown" para legibilidad o "json" para procesamiento EJEMPLOS DE BÚSQUEDA: 1. Jurisprudencia reciente del TS sobre responsabilidad civil: texto="responsabilidad civil", tipos_organo=["TRIBUNAL_SUPREMO"], jurisdicciones=["CIVIL"], orden="fecha_desc", resultados_por_pagina=20 2. Sentencias penales de la AN del último año: jurisdicciones=["PENAL"], tipos_organo=["AUDIENCIA_NACIONAL"], fecha_desde="2023-01-01", orden="fecha_desc" 3. Búsqueda por identificador ROJ específico: roj="STS 1234/2024" RESULTADOS: Cada resultado incluye: - Información descriptiva: título, ROJ, ECLI, fecha, órgano, sala, ponente, resumen - Campos técnicos necesarios para herramientas posteriores: reference, optimize, databasematch - Enlaces directos: documento_html (visualización web) PAGINACIÓN: - El campo 'tiene_mas' en metadata indica si hay más páginas - Use el parámetro 'pagina' para navegar (pagina=2, pagina=3, etc.) - Ajuste 'resultados_por_pagina' según necesidad (10, 20, 30, 50) FORMATOS DE RESPUESTA: - MARKDOWN (defecto): Formato legible para presentar al usuario - JSON: Estructura completa para procesamiento programático NOTAS IMPORTANTES: - Los campos 'reference' y 'optimize' son ESENCIALES para get_document_info y extract_document_text - Guarde estos valores si planea acceder al documento completo posteriormente - El campo 'databasematch' indica la base de datos origen (AN, TS, TSJ, AP, etc.) Args: ctx (Context): Contexto de ejecución MCP con métodos debug/info/error **raw_params: Parámetros de búsqueda (ver SearchJurisprudenceInput para detalles completos) Returns: str: Resultados en formato Markdown o JSON según response_format Raises: ValidationError: Si los parámetros proporcionados son inválidos HTTPStatusError: Si el CGPJ devuelve un error HTTP RequestError: Si hay problemas de conectividad con el portal

get_document_info

Obtiene información completa y URLs oficiales de un documento judicial específico. DESCRIPCIÓN: Esta herramienta consulta el endpoint 'docinfo' del CGPJ para obtener las URLs oficiales (HTML y PDF) de una resolución judicial previamente identificada mediante search_jurisprudence. Es el paso intermedio necesario antes de descargar el PDF completo. FLUJO DE TRABAJO RECOMENDADO: 1. Ejecutar search_jurisprudence para encontrar resoluciones de interés 2. De los resultados, extraer los campos: reference, optimize, databasematch 3. Usar esta herramienta con esos valores para obtener URLs oficiales 4. Compartir las URLs con el usuario o usarlas en extract_document_text CUÁNDO USAR ESTA HERRAMIENTA: - Cuando necesite proporcionar enlaces estables a resoluciones judiciales - Antes de extract_document_text para verificar disponibilidad del documento - Para obtener la URL oficial de compartición del CGPJ - Para acceder a metadatos adicionales del documento PARÁMETROS REQUERIDOS: - reference: Identificador interno del documento (del campo 'reference' de search_jurisprudence) - optimize: Hash de validación (del campo 'optimize' de search_jurisprudence) PARÁMETROS OPCIONALES RECOMENDADOS: - databasematch: Base de datos (del campo 'databasematch' de search_jurisprudence) - roj: Identificador ROJ (del campo 'roj' de search_jurisprudence) - stats_query_id, start, links: Metadatos de tracking (de los campos correspondientes) IMPORTANTE - NO INTENTE CONSTRUIR LOS PARÁMETROS MANUALMENTE: Los campos 'reference' y 'optimize' son hashes internos generados por el CGPJ. SIEMPRE deben obtenerse de una búsqueda previa con search_jurisprudence. No intente construirlos a partir del ROJ, ECLI u otros identificadores. RESPUESTA: Devuelve un objeto JSON con: - share.url_html: URL pública para visualizar el documento en formato HTML - share.url_pdf: URL directa de descarga del PDF oficial - share.reference: Identificador interno del documento - share.roj: Identificador ROJ de la resolución - actions: Acciones adicionales disponibles (uso interno) EJEMPLO DE FLUJO COMPLETO: # Paso 1: Buscar resolución resultados = search_jurisprudence(texto="responsabilidad patrimonial", tipos_organo=["TRIBUNAL_SUPREMO"]) # Paso 2: Seleccionar una resolución del resultado resolucion = resultados[0] # Primera resolución # Paso 3: Obtener URLs oficiales info = get_document_info( reference=resolucion.reference, optimize=resolucion.optimize, databasematch=resolucion.databasematch, roj=resolucion.roj ) # Paso 4: Usar las URLs print(f"Ver documento: {info.share.url_html}") print(f"Descargar PDF: {info.share.url_pdf}") MANEJO DE ERRORES: - Si reference u optimize son inválidos: error de validación del CGPJ - Si el documento no existe: error 404 del portal - Si hay problemas de conectividad: error de red con mensaje descriptivo Args: ctx (Context): Contexto de ejecución MCP **raw_params: Debe incluir reference y optimize de search_jurisprudence Returns: str: Objeto JSON con URLs oficiales y metadatos del documento Raises: ValueError: Si faltan los campos requeridos (reference, optimize) ValidationError: Si los parámetros son inválidos RuntimeError: Si el CGPJ devuelve un error en la respuesta HTTPStatusError: Si hay errores HTTP al consultar el portal

extract_document_text

Extrae el texto completo de una resolución judicial desde su PDF oficial. DESCRIPCIÓN: Esta herramienta descarga el PDF oficial de una resolución judicial del CGPJ y extrae su contenido de texto completo usando PyMuPDF. Soporta lectura incremental para documentos extensos mediante parámetros de paginación (offset y max_chars). FLUJO DE TRABAJO TÍPICO: 1. Ejecutar search_jurisprudence para encontrar resoluciones 2. Seleccionar la resolución de interés de los resultados 3. Extraer los campos: reference, optimize, databasematch 4. Usar esta herramienta para obtener el texto completo del PDF CUÁNDO USAR ESTA HERRAMIENTA: - Para análisis de contenido completo de resoluciones judiciales - Para extraer fundamentos jurídicos, hechos probados o fallos específicos - Para realizar búsquedas textuales detalladas dentro del documento - Para análisis comparativo de varias resoluciones - Para entrenamiento de modelos o análisis de corpus jurisprudencial PARÁMETROS REQUERIDOS: - reference: Hash interno del documento (de 'reference' en search_jurisprudence) - optimize: Hash de validación (de 'optimize' en search_jurisprudence) PARÁMETROS OPCIONALES: - databasematch: Base de datos origen (AN, TS, etc.) - recomendado - offset: Posición inicial para lectura parcial (default=0, inicio del documento) - max_chars: Límite de caracteres a extraer (default=None, documento completo) - response_format: "markdown" (legible) o "json" (estructurado) LECTURA INCREMENTAL (para documentos largos): Los documentos judiciales pueden ser muy extensos (>100.000 caracteres). Para evitar límites de contexto, puede leerlos en chunks: Ejemplo de lectura en chunks de 50.000 caracteres: # Primera llamada chunk1 = extract_document_text(reference=ref, optimize=opt, max_chars=50000) # chunk1.metadata.has_more = True indica que hay más contenido # Segunda llamada (continuar desde donde terminó la primera) next_offset = chunk1.metadata.offset + chunk1.metadata.chars_extracted chunk2 = extract_document_text(reference=ref, optimize=opt, offset=next_offset, max_chars=50000) # Repetir hasta que has_more = False METADATOS DEVUELTOS: La respuesta incluye información importante sobre la extracción: - total_chars: Longitud total del documento completo - offset: Posición desde donde se empezó a leer - chars_extracted: Número de caracteres devueltos en esta llamada - has_more: True si quedan más caracteres por leer - num_pages: Número total de páginas del PDF original FORMATOS DE RESPUESTA: 1. MARKDOWN (default): - Encabezado con metadatos del documento - Información de paginación si es lectura parcial - Texto completo extraído formateado - Indicaciones para continuar lectura si has_more=True 2. JSON: - Campo "text": contenido extraído - Campo "metadata": objeto con todos los metadatos de extracción - Ideal para procesamiento programático EJEMPLO COMPLETO DE USO: # Paso 1: Buscar y seleccionar resolución resultados = search_jurisprudence(roj="STS 1234/2024") doc = resultados[0] # Paso 2: Extraer texto completo contenido = extract_document_text( reference=doc.reference, optimize=doc.optimize, databasematch=doc.databasematch, response_format="markdown" ) # Paso 3: Analizar el texto if "responsabilidad patrimonial" in contenido: print("El documento trata sobre responsabilidad patrimonial") MANEJO DE CAPTCHAS Y LÍMITES: El CGPJ implementa protecciones anti-scraping. Si se detecta un CAPTCHA: - La herramienta devolverá un error descriptivo con la URL del PDF - Puede proporcionar esta URL al usuario para descarga manual - Espere unos minutos antes de reintentar - Como alternativa, use get_document_info para obtener la URL HTML NOTAS IMPORTANTES: - Los PDFs judiciales pueden ser muy grandes (varios MB) - La descarga y extracción puede tardar varios segundos - El texto extraído preserva la estructura del documento (párrafos, saltos de línea) - No se extrae formateo especial (negritas, cursivas), solo texto plano - Las tablas y elementos complejos pueden no extraerse perfectamente Args: ctx (Context): Contexto de ejecución MCP **raw_params: Debe incluir reference y optimize de search_jurisprudence Returns: str: Texto extraído del PDF en formato Markdown o JSON Raises: ValueError: Si faltan campos requeridos o si se detecta un CAPTCHA ValidationError: Si los parámetros son inválidos HTTPStatusError: Si hay errores HTTP al descargar el PDF Exception: Si hay errores al procesar el PDF con PyMuPDF

Get Started

Click any tool below to instantly start building AI tools that enhance your workflow and productivity

Document Processor

Automatically process, extract, and organize information from documents and files.

File Organization System

Build tools that automatically organize files, tag documents, and maintain folder structures.

Content Generator

Generate documents, reports, and content based on templates and data inputs.

Document Converter

Convert files between formats, extract text from PDFs, and transform document types automatically.

File Sharing Hub

Create secure file sharing systems with access controls and collaboration features.

Document Search Engine

Build searchable document libraries with AI-powered content discovery and retrieval.

Explore Pickaxe Templates

Get started faster with pre-built templates. Choose from our library of ready-to-use AI tools and customize them for your needs.

Ready to Connect cgpj-server?

Build your AI tool with this MCP server in the Pickaxe builder.

Build with Pickaxe

Frequently Asked Questions