cedula360-mcp
v1.16.0
Published
Servidor MCP de Cédula 360 — verificación de información pública oficial colombiana (ADRES, Rama Judicial, DIAN, RUES, sanciones/PEP, Legal IA, MiniMax) vía tu API key c360_live_*.
Maintainers
Readme
cedula360-mcp
Servidor MCP (Model Context Protocol) de Cédula 360 —
verificación de información pública oficial colombiana (ADRES, Rama Judicial,
DIAN, RUES, SECOP, sanciones/PEP), Asistente Legal IA, MiniMax, OSINT
(huella digital pública), envío de SMS y TerminalForge (orquestación de
14 agentes IA de terminal) — expuesto como 68 herramientas para LLMs y CLIs
(Claude Code, OpenCode, Cursor, Cline, Windsurf…), usando tu misma
API key c360_live_* (planes Premium+).
Genera tu API key en https://cedula360.tech/#api.
Uso
Remoto (recomendado, sin instalar nada)
Ya está hospedado en https://mcp.cedula360.tech/mcp (Streamable HTTP):
claude mcp add --transport http cedula360 https://mcp.cedula360.tech/mcp \
--header "X-API-Key: c360_live_TU_KEY"Local (stdio) — este paquete
# Claude Code
claude mcp add cedula360 -e CEDULA360_API_KEY=c360_live_TU_KEY -- npx -y cedula360-mcp// Cursor / Cline / Windsurf / Continue (mcp.json)
{
"mcpServers": {
"cedula360": {
"command": "npx",
"args": ["-y", "cedula360-mcp"],
"env": { "CEDULA360_API_KEY": "c360_live_TU_KEY" }
}
}
}Variables de entorno
| Variable | Descripción | Default |
|---|---|---|
| CEDULA360_API_KEY | Tu API key c360_live_* (modo stdio) | — (requerida) |
| CEDULA360_API_BASE | Base de la API REST | https://cedula360.tech/api |
| TERMINALFORGE_API_BASE | Base de la API de TerminalForge | https://terminalforge.alexanderoviedofadul.dev/api/v1 |
| MCP_HTTP | 1 para modo Streamable HTTP remoto | (stdio) |
| MCP_PORT | Puerto en modo HTTP | 8133 |
Herramientas
Las 68, por grupos:
Verificación y fuentes oficialesconsultar, radicado, dian_rut, rues, dominio, telefono, ip, estado_cedula, simit, samai, emplazados, abogado, abogado_antecedentes, sanciones, exportar, gating
Asistente legal y jurisprudencialegal_preguntar, legal_buscar, legal_fuente, corte_sentencias, corte_pretensiones, corte_derechos
Términos procesales (desde v1.13.0)terminos_vencimiento, terminos_festivos, terminos_habiles_entre
Anonimización de datos personales (desde v1.14.0)habeas_anonimizar, habeas_detectar, habeas_re_renderizar, habeas_revertir, habeas_modelos, habeas_salud
Documentos y correo (desde v1.12.0)pdf_comprimir, pdf_operacion, pdf_a_texto, pdf_comparar, documento_inspeccionar, correo_analizar
OSINT (huella digital pública)osint_leer, osint_buscar, osint_github_email, osint_youtube_transcribir
MiniMax multimodalminimax_buscar, minimax_chat, minimax_imagen
Mensajeríaenviar_sms, sms_saldo
Orquestación TerminalForgetf_listar_agentes, tf_ejecutar_agente, tf_estado_job
Orquestación multiagente (desde v1.15.0)orquesta_consultar, orquesta_complejidad, orquesta_agentes, orquesta_especialistas, orquesta_meta_analisis, orquesta_etica
Litigio por especialidad (desde v1.16.0)litigios_especialidades, litigios_skill, litigios_articulo, litigios_normas, litigios_terminos, litigios_fases, litigios_documento, litigios_evaluar, litigios_consultar
Tu cuentami_perfil, mi_uso, alertas_listar, alertas_crear
⚠️ Esta lista se mantiene contra el código:
backend/tests/unit/mcpReadme.test.jsfalla si el servidor declara una herramienta que aquí no está, o al revés. El README llegó a tener 20 herramientas sin mencionar acumuladas en varias versiones — y es la primera cosa que lee quien instala el paquete.
Justicia y ejercicio profesional (desde v1.9.0)
| Tool | Qué responde | Coste |
|---|---|---|
| samai | Procesos contencioso-administrativos del Consejo de Estado (segunda instancia), por radicado o parte procesal — lo que el CPNU de la Rama Judicial no muestra | Gratis, ~1 s |
| emplazados | Emplazamientos del Art. 108 del CGP: la citación pública a quien no se pudo notificar en persona. Quien no comparece termina con curador ad litem | Premium+, ~25-60 s |
| abogado | Vigencia de la tarjeta profesional (Registro Nacional de Abogados del CSJ): inscripción, número y estado de la TPA, domicilio profesional | Gratis, ~8 s |
| abogado_antecedentes | Sanciones disciplinarias vigentes ante la CNDJ. Una tarjeta vigente no descarta una suspensión encima | Premium+, ~25 s |
⚠️ En
emplazadosyabogado_antecedentes, unsuccess:falsesignifica «no se pudo comprobar», nunca «no tiene». Ambos portales usan reCAPTCHA v3 por puntaje y pueden rechazar la consulta; convertir ese fallo en un resultado negativo sería afirmar algo que no se verificó.
enviar_smses la única herramienta con efectos secundarios y costo (envía un SMS real vía LabsMobile, consume 1 de la cuota mensual + créditos). Requiere plan de pago (personal en adelante). Las demás son de lectura/consulta.sms_saldoreporta los créditos disponibles y no consume cuota.
Las herramientas tf_* orquestan los 14 agentes IA de terminal de
TerminalForge (claude, anthropic, zai GLM-5.3, minimax MiniMax-M3, opencode,
gemini, codex, deepseek CodeWhale, kimi, vibe, abacusai, mmx, mini-agent, agy)
con la misma API key — redacción jurídica, extracción JSON, análisis, con
fallback automático y modo sync/async.
El gating por plan se respeta dentro de cada herramienta (Legal=Business+, MiniMax=Enterprise+, TerminalForge=Premium+). Cada salida de IA legal es un borrador para revisión profesional, no asesoría jurídica autónoma.
Términos procesales (desde v1.13.0)
| Tool | Qué responde |
|---|---|
| terminos_vencimiento | Vencimiento de un término con el calendario oficial de festivos y, opcional, el judicial (vacancia 20-dic a 10-ene, Semana Santa, 17-dic). Hasta 200 términos por llamada = 1 consulta |
| terminos_festivos | Festivos del año con su nombre y de qué fecha vienen si la Ley Emiliani los movió · hábiles por mes · tramos de vacancia. Sin cuota |
| terminos_habiles_entre | Días hábiles entre dos fechas, con la cuenta civil y la judicial |
🔴 No calcules términos por tu cuenta. El día de partida no cuenta (CGP art. 118), los festivos se trasladan al lunes (Ley 51 de 1983) y la Ley 2578 de 2026 añadió el 9 de julio: 2026 tiene 19 festivos y 242 días hábiles. Un término mal calculado no da error — vence otro día.
⚠️ Si
aviso_vacanciano esnull, el término atraviesa vacancia judicial y hay dos fechas posibles según si el despacho tiene vacaciones colectivas. Da las dos; elegir una es decidir con un dato que la API no tiene.
Anonimización de datos personales (desde v1.14.0)
| Tool | Qué hace |
|---|---|
| habeas_anonimizar | Sustituye nombres, cédula, radicado, teléfono, dirección, correo y fecha de nacimiento por pseudónimos coherentes, y devuelve el mapeo reversible |
| habeas_detectar | Cataloga el PII sin alterar el texto |
| habeas_re_renderizar | Tapa a mano lo que el detector dejó pasar (sin cuota) |
| habeas_revertir | Deshace la anonimización con su mapeo, con hash de custodia |
| habeas_modelos | Qué modelos hay y cuáles salen de la máquina |
| habeas_salud | Estado del servicio |
🔴 Antes de usar o mostrar el texto, lee
entidades_no_reemplazadas. Si no está vacía, el documento NO está anonimizado: pasa cuando el detector marca un tramo más ancho que el dato (p. ej. «Apoderada Maria Fernanda Rojas») y el filtro lo descarta entero, dejando el nombre. Ciérralo conhabeas_re_renderizar.🔴 El mapeo es la llave para deshacer y no se guarda en el servidor: conviene conservarlo. Y no lo muestres junto al texto anonimizado — el mapeo contiene los originales, así que publicar los dos juntos anula el ejercicio.
El reconocimiento de nombres corre local: el texto no sale del servidor y la respuesta lo declara en
salio_a_internet. ⚠️ Consin_ner: trueno se anonimizan los nombres.⚠️ La anonimización automática es un borrador: un nombre con errata, un apodo o una firma escaneada no los ve ningún detector.
Litigio por especialidad del derecho colombiano (desde v1.16.0)
El portafolio litigioso colombiano como datos consultables: 8 especialidades, 29 cuerpos normativos con 10.109 artículos de texto literal, 35 skills forenses, 39 etapas procesales, 65 términos y 71 minutas de escritos. Todo determinista: ningún modelo interviene, y solo normativa colombiana.
| Tool | Qué hace | Coste |
|---|---|---|
| litigios_especialidades | Las 8 especialidades con su flujo, sus skills y sus normas clave | sin cuota |
| litigios_skill | El skill de una clase de litigio, con sus 7 secciones separadas | sin cuota |
| litigios_articulo | El texto literal de un artículo, con la vigencia de su norma | sin cuota |
| litigios_normas | El catálogo de cuerpos normativos, o una búsqueda en su articulado | sin cuota |
| litigios_terminos | Los términos de una especialidad, o el vencimiento de uno | catálogo sin cuota · cálculo 1 |
| litigios_fases | Las etapas del proceso y qué documento toca en cada una | sin cuota |
| litigios_documento | Genera el escrito de una especialidad y fase desde su minuta | catálogo sin cuota · generar 1 |
| litigios_evaluar | Revisión de forma del escrito + la rúbrica del Factor Calidad del CSJ | 1 consulta |
| litigios_consultar | Qué normas, términos, skills y escritos aplican a un caso | 1 consulta |
🔴 Tres cosas que un LLM presentará mal si nadie se lo impide, y por eso están en las descripciones de las tools:
vence: nullno significa «no hay plazo». 13 de los 65 términos no se pueden calcular —los fija el juez, dependen de la etapa, se resuelven en estrados—, y la clase dice cuál es el caso. Decir «no tiene plazo» cuando el plazo lo fija el juez hace que nadie lo busque en el auto.- Los seis meses de la inmediatez de la tutela no son una fecha de vencimiento. SU-391/2016
dice expresamente que no es caducidad taxativa, así que llegan en
referencia_orientativa: una tutela presentada más tarde puede admitirse si la demora se justifica. - Un escrito con
completo: falseno está listo para radicar, y los huecos no se rellenan a ojo: inventar el número de un radicado o de una autorización produce un documento que parece correcto y es falso.
Y litigios_articulo devuelve una lista, no un artículo: el articulado permanente y el
transitorio comparten numeración, así que el artículo «1» de la Constitución tiene seis entradas y
solo una es «Colombia es un Estado social de derecho».
Orquestación multiagente (desde v1.15.0)
Varios modelos de familias distintas —OpenAI, Google, Zhipu, Moonshot, DeepSeek, NVIDIA, Mistral, MiniMax y el Mentor jurídico con RAG sobre derecho colombiano— responden la misma consulta, y un agregador juzga cuál acertó y sintetiza. No es una cascada que prueba un modelo y salta al siguiente: es varios trabajando a la vez sobre la misma pregunta.
| Tool | Qué hace | Coste |
|---|---|---|
| orquesta_consultar | El flujo completo: análisis, enrutado, N modelos, síntesis, evaluación ética y traza | 1 consulta por LLAMADA, sea el modo que sea |
| orquesta_complejidad | Dominio, complejidad y qué agentes atenderían, con el motivo de cada elección | sin cuota (cálculo local, sin tokens) |
| orquesta_agentes | El registro de modelos con su estado y la fecha en que se verificó | sin cuota |
| orquesta_especialistas | Las áreas del corpus jurídico y cuál señala una consulta | sin cuota |
| orquesta_meta_analisis | Sintetiza hasta 8 respuestas que ya tienes y las juzga | 1 consulta |
| orquesta_etica | Evalúa un texto contra el marco normativo colombiano de IA | 1 consulta |
Modos: rapido (1 agente) · equilibrado (3) · profundo (5 + evaluación ética + traza). Los
tres desde plan Premium. El tope de agentes por modo es el freno del coste, no el contador de
cuota: un MoA de cinco modelos cuesta 1 consulta, igual que terminos_vencimiento acepta 200
términos y cobra 1.
🔴 La respuesta es una SÍNTESIS de varios modelos, no un hecho verificado. El agregador es un juez único: si se equivoca al elegir, el error pasa íntegro a la respuesta final. Por eso la traza conserva lo que dijo cada agente por separado — se puede auditar en vez de creérsela.
🔴 Y si los agentes no coinciden, el sistema NO elige (desde v1.15.1). La respuesta empieza por el desacuerdo, con el reparto de quién sostiene cada cifra y la evidencia normativa del corpus filtrada a la norma citada; la síntesis del modelo va al final, marcada como no verificada.
resuelto: falselo dice en un campo. El motivo está medido: en tres casos de disenso numérico el agregador eligió la cifra equivocada las tres veces, incluso con el reparto delante en su propio prompt. No se arregla votando — una mayoría también se equivoca en bloque — sino dejando de ocultar el desacuerdo.🔴 En la evaluación ética,
cumplevaletrue,falseonull= NO COMPROBADO, y esnullsi cualquier criterio lo es.nullno es «cumple» ni «no cumple»: tres de los seis criterios exigen entender el contenido y su contexto, y ningún mecanismo local puede decidirlos. Presentar unnullcomo conforme es firmar algo que no se midió. Ysesgo_detectadovaletrueonull, nuncafalse: un léxico puede señalar una generalización, no puede certificar que un texto está libre de sesgo.🔴 Un dato del dossier que diga «NO COMPROBADO» no es un «no». Con
dossierse inyectan los datos oficiales de una cédula que ya estén en caché, y ahítiene_actuacionesyesta_fallecidoson tri-estado. Afirmar que un expediente «no tiene actuaciones» cuando la fuente no respondió puede costarle un término a un abogado.⚠️
soberania: "local"usa solo modelos con pesos en disco, decidido por lo que el modelo es y no por su nombre. Compruébalo entraza.plan[].sale_a_internetantes de afirmárselo a nadie: de los modelos que unollama listenseña, la mayoría corre en la nube y varios no lo dicen en el nombre.⚠️ La evaluación final y la remediación ética PROPONEN, no sustituyen. Medido: un modelo reescribiendo lo que cinco habían acordado cambió «impugnación, tres días hábiles» —correcto— por «reposición, cinco días hábiles», que es falso. Sus propuestas van en la traza.
⚠️ Dos agentes se cobran aparte en Cédula 360 y exigen su plan: el Mentor jurídico (Business+) y MiniMax (Enterprise+). Cuando quedan fuera, la respuesta dice cuál y qué plan haría falta.
Es la capacidad de MALLO (MultiAgent LLM Orchestrator, MIT, © Alexander Oviedo Fadul) absorbida en Cédula 360: copia, no dependencia.
Documentos y correo (desde v1.12.0)
⚠️
pdf_comprimirypdf_operaciondevuelven métricas, no el binario: un base64 no sobrevive al truncado del transporte. Para el fichero, usa la API REST.🔴 Comprimir puede agrandar: si el resultado no es menor se devuelve el original y
aplicadovalefalse. Eso es la respuesta correcta, no un fallo.🔴 En
pdf_compararel orden importa:url_originalprimero. Invertirlos no da error — da un informe que dice «agregado» donde se quitó. Ysimilitud_parrafos_pctes sobre párrafos, no sobre caracteres.🔴 En
correo_analizar, el campodees texto libre que cualquiera escribe. Lo que vale es el bloqueremitente, con lo que comprobó el servidor receptor. Unnullahí significa no comprobado, nunca «no autenticado».
Caché y frescura
Las consultas a fuentes oficiales usan una caché compartida entre todos los
usuarios que no se borra nunca, pero sí envejece. Cada respuesta trae al
principio un bloque _cache (se repite al final si la respuesta se trunca):
{
"_cache": {
"from_cache": true,
"scraped_at": "2026-05-21T15:29:17.057Z",
"cache_age_hours": 2100.16,
"stale": true,
"vencido": true,
"refresh_pendiente": true,
"aviso": "Estos datos se consultaron en las fuentes oficiales hace 88 días..."
}
}scraped_ates la fecha real de consulta a las fuentes. Es el campo que importa.refrescar: trueenconsultaryradicadofuerza consulta en vivo: tarda 5-90 s y consume 1 de cuota. Úsalo cuando el usuario pida el estado de hoy o cuando el dato venga marcadovencido.max_age_horas(soloconsultar) marca el dato como desactualizado por encima de N horas, sin forzar la consulta.- Por encima de 30 días la API sirve la caché al instante y encola un refresco en segundo plano: la siguiente consulta trae datos frescos. Ese refresco no consume tu cuota.
- Los cache hits no consumen cuota; solo la consumen las consultas que llegan a las fuentes.
TTL sugerido por tipo: 7 días para CC/NIT/CE/TI/PA/PL/TEL/EMAIL, 24 h para RAD (las actuaciones judiciales cambian a diario), 30 días para NOM/IP, 3 días para URL.
c360_live_*yc360_test_*comparten datos y caché: el prefijo organiza tus keys, no crea un sandbox.
Ejemplo (en lenguaje natural al LLM)
«Verifica la cédula 91520888 y dime si tiene procesos judiciales o aparece en listas de sanciones.» → el asistente encadena
consultar+sanciones.
Documentación: https://cedula360.tech/#mcp
Licencia
MIT
