Skip to main content
Glama

Ackrite

ACKRITE. DEMUÉSTRALO.

Un servidor MCP que hace que los agentes de IA demuestren sus suposiciones antes de actuar según ellas.

Ackrite es una utilidad de verificación centrada para agentes de IA. No intenta resolver todos los problemas, buscar respuestas convenientes ni inventar corroboraciones. En cambio, cuestiona una afirmación técnica del agente usando solo la evidencia que se le ha proporcionado, distingue hechos de hipótesis, identifica la prueba que falta y recomienda la comprobación más pequeña que pueda resolver la cuestión.

Su propósito es prevenir un modo de fallo habitual: un agente ve un error, supone la causa, reescribe con confianza la mitad del sistema y solo entonces descubre que la suposición era errónea. Ackrite empuja al agente hacia la evidencia, experimentos específicos, cambios acotados e incertidumbre explícita.

Ackrite hace

Ackrite no hace

Clasifica afirmaciones a partir de la evidencia proporcionada

Inventa, obtiene o implica evidencia que no se le ha dado

Detecta contradicciones y suposiciones sin respaldo

Presenta una inferencia como un hecho

Cuestiona reescrituras y la expansión del alcance antes de la implementación

Aplica cambios de código o llama a sistemas externos

Mantiene un historial de verificación acotado dentro del proceso

Persiste un gran sistema de memoria o depende de L-Dopa

Enmascara secretos comunes de la salida de diagnóstico

Garantiza la detección perfecta de secretos para cada formato de credencial personalizado

Por qué existe

La confianza de un agente no es evidencia. Una afirmación como «la API eliminó la autenticación nativa» suele ser una hipótesis útil, pero se vuelve peligrosa cuando se trata como un hecho establecido y se usa para justificar una reescritura. Ackrite plantea cuatro preguntas concretas:

  1. ¿Qué establece realmente la evidencia proporcionada?

  2. ¿Qué contradice la afirmación, si es que algo la contradice?

  3. ¿Qué suposición está haciendo el trabajo?

  4. ¿Cuál es la comprobación empírica más pequeña que se debe ejecutar a continuación?

El resultado es deliberadamente conciso para poder volver a colocarlo directamente en la ventana de contexto del agente.

Related MCP server: Veritas MCP

Estados de las afirmaciones

Ackrite utiliza un modelo de clasificación deliberadamente conservador.

Estado

Significado

Umbral de evidencia

KNOWN

La evidencia directa proporcionada de alta fiabilidad respalda la afirmación.

Al menos un elemento directo de alta fiabilidad, como un resultado de prueba específico, una respuesta HTTP, un comportamiento observado o un hecho proporcionado por el usuario.

SUPPORTED

La evidencia directa proporcionada respalda la afirmación, pero sigue siendo limitada en alcance o fiabilidad.

Evidencia directa de apoyo sin un elemento de alta fiabilidad que la cualifique.

PLAUSIBLE

La afirmación puede ser cierta, pero el material es indirecto, neutral o inferido.

Solo evidencia neutral o inferencia.

UNVERIFIED

Ninguna evidencia de apoyo proporcionada establece la afirmación.

No hay evidencia relevante.

CONTRADICTED

Al menos un elemento de evidencia proporcionado contradice la afirmación.

La contradicción tiene prioridad hasta que se reconcilie.

Regla fundamental: Ackrite nunca convierte una inferencia en un hecho. En su lugar, señala el límite entre la observación y la conclusión.

Arquitectura

Ackrite es intencionadamente pequeño. La frontera MCP, el análisis de dominio, el manejo de evidencia y el estado acotado son independientes para que las reglas de verificación puedan probarse sin un cliente MCP en ejecución.

Capa

Ubicación

Responsabilidad

Transporte y esquemas MCP

src/mcp/server.ts, src/index.ts

Registra cinco herramientas y las sirve a través de la entrada/salida estándar.

Orquestación de herramientas

src/tools/verification-tools.ts

Produce respuestas listas para el agente: desafío, verificación, auditoría, plan de prueba y comprobación de la realidad.

Modelo de evidencia

src/core/evidence.ts

Normaliza la procedencia, la fiabilidad, la polaridad, los extractos y el enmascaramiento de secretos.

Análisis de afirmaciones

src/core/claim-analysis.ts

Determina el estado, la confianza, las suposiciones, la prueba que falta y la siguiente acción.

Historial de sesión

src/core/state.ts

Mantiene un registro acotado en el proceso de afirmaciones, evidencia, intentos, conclusiones y suposiciones no resueltas.

Pruebas

test/ackrite.test.mjs

Ejercita la lógica de dominio y el comportamiento real del cliente/servidor stdio de MCP.

Ackrite está implementado en TypeScript utilizando los paquetes oficiales de servidor y cliente MCP para TypeScript. Expone un servidor stdio: un cliente inicia Ackrite como subproceso e intercambia mensajes JSON-RPC a través de la entrada y salida estándar, que es un transporte MCP estándar. [1] [2]

Instalación

Ackrite requiere Node.js 20 o posterior.

git clone https://github.com/mshanghai570/Ackrite.git
cd Ackrite
npm install
npm run build

Inicie el servidor directamente después de compilar:

npm start

El proceso se comunica a través de la entrada/salida estándar, por lo que puede parecer inactivo al ejecutarse en un terminal. Esto es lo esperado: su cliente MCP proporciona las solicitudes. Mantenga los registros normales fuera de la salida estándar; MCP stdio la reserva para los mensajes de protocolo. [1]

Configuración del cliente MCP

Compile primero el proyecto y luego añada una entrada como la siguiente a la configuración de su cliente MCP. Reemplace /absolute/path/to/Ackrite por el directorio que contiene este repositorio.

{
  "mcpServers": {
    "ackrite": {
      "command": "node",
      "args": ["/absolute/path/to/Ackrite/dist/index.js"]
    }
  }
}

Si su cliente admite la ejecución de scripts del paquete, el comando equivalente es node dist/index.js con el repositorio como directorio de trabajo. Ackrite no acepta credenciales ni realiza llamadas de red en v0.1.

Herramientas disponibles

Las cinco herramientas se declaran de solo lectura y devuelven tanto texto JSON legible como contenido estructurado. Aceptan un sessionId opcional; use el mismo valor durante una investigación relacionada para conservar el historial acotado dentro del proceso en ejecución.

Herramienta

Úsela cuando

Resultado principal

ackrite

Un agente hace una afirmación técnica y necesita ser cuestionado.

Estado, confianza, evidencia que respalda y contradice, suposiciones, prueba que falta y siguiente acción.

verify

Necesita un registro de evidencia estructurado para una afirmación.

Lo que se sabe, lo que se asume, lo que se contradice, lo que falta y el experimento decisivo.

audit

Se propone un cambio de código o un plan de implementación.

Hallazgos concisos sobre reescrituras innecesarias, alcance, suposiciones de contrato de API, trabajo sensible a la seguridad, detalle del manejo de errores y pruebas.

prove_it

Quiere la evidencia mínima necesaria para establecer una afirmación.

Una lista de verificación de prueba específica del dominio de la afirmación y un experimento falsable.

reality_check

Un agente puede estar atascado, repitiéndose o afirmando un éxito demasiado pronto.

El fallo de razonamiento más importante primero, además de riesgos observados adicionales.

Entrada de evidencia compartida

Pase la evidencia explícitamente en lugar de incrustarla en un contexto no estructurado. context puede proporcionar información de fondo, pero no se cuenta como prueba.

{
  "type": "http_response",
  "source": "staging request, 2026-08-27",
  "content": "POST /v1/session returned 401 with code AUTH_REQUIRED.",
  "polarity": "contradicts",
  "reliability": 0.9
}

Campo

Requerido

Descripción

type

No

Uno de code, log, http_request, http_response, test_result, documentation, observed_behavior, user_fact, inference u other.

source

No

Una etiqueta de procedencia concisa, como un nombre de prueba, una fuente de registro o una ubicación de código.

content

La observación, el extracto, el resultado o la inferencia proporcionados.

polarity

No

supports, contradicts o neutral; el valor predeterminado es neutral para evitar suposiciones.

reliability

No

Número evaluado por quien llama de 0 a 1; el valor predeterminado es 0.7.

Ejemplos de interacción

Cuestionar una afirmación de API sin respaldo

Afirmación: «La API ya no admite la autenticación nativa.»

{
  "claim": "The API no longer supports native authentication.",
  "evidence": [
    {
      "type": "code",
      "source": "current client",
      "content": "The current client implementation does not obtain credentials.",
      "polarity": "supports"
    },
    {
      "type": "observed_behavior",
      "source": "older working application",
      "content": "The older application successfully signs in.",
      "polarity": "contradicts",
      "reliability": 0.9
    }
  ]
}

Ackrite responde con CONTRADICTED, conserva ambas procedencias y recomienda inspeccionar el flujo de autenticación antiguo antes de reemplazar el cliente. No concluye que la autenticación nativa exista ni que el flujo antiguo sea aplicable; eso excedería la evidencia proporcionada.

Auditar una propuesta de reescritura

{
  "reportedProblem": "Login returns an unexpected response.",
  "proposal": "Rewrite the authentication client to replace the API endpoint integration.",
  "proposedChanges": [
    {
      "path": "src/auth.ts",
      "description": "Rewrite authentication client and route handling."
    },
    {
      "path": "src/theme.ts",
      "description": "Change unrelated color palette."
    }
  ]
}

La auditoría señala el mayor nivel de evidencia exigido por la reescritura, la suposición de contrato de API sin respaldo, la falta de un plan de pruebas y el cambio de tema aparentemente no relacionado. No afirma haber inspeccionado src/auth.ts ni src/theme.ts a menos que su contenido se haya proporcionado como evidencia.

Romper un bucle de fallos repetidos

{
  "sessionId": "auth-investigation",
  "reasoning": "The rewrite will work and the issue is fixed.",
  "attempts": [
    { "approach": "Replace the auth client", "outcome": "Failed with timeout." },
    { "approach": "Replace the auth client", "outcome": "Failed with timeout again." },
    { "approach": "Replace the auth client", "outcome": "Failed with the same timeout." }
  ]
}

El problema principal es una estrategia repetida. Ackrite recomienda detenerse, identificar la suposición que hace que el reemplazo parezca necesario y verificar esa suposición en lugar de intentar la misma intervención otra vez.

Modelo de fiabilidad y seguridad

Ackrite es deliberadamente conservador. En v0.1 no realiza escaneo de repositorios, solicitudes HTTP, consultas de documentación externa, ejecución de código ni reparación autónoma. Cada conclusión incluye la procedencia que la limita al material proporcionado por quien llama. La evidencia que falta es un resultado, no un error que ocultar.

El servidor enmascara los patrones comunes de credenciales antes de devolver el texto de diagnóstico, incluidos los valores de autorización bearer/basic, asignaciones similares a contraseñas, prefijos de token comunes, claves de cadena de consulta y campos de clave de API. Esto es defensa en profundidad, no un permiso para enviar secretos reales. No envíe credenciales de producción a las herramientas de diagnóstico.

El almacén de sesiones es local al proceso y limitado: conserva las afirmaciones, la evidencia, los intentos, las conclusiones y las suposiciones sin resolver recientes para un máximo de 32 sesiones con nombre. Cada colección por sesión está limitada, las sesiones usadas hace más tiempo se expulsan y todo el historial se pierde cuando el proceso termina. Esto mantiene v0.1 útil para una investigación centrada sin convertirse en una plataforma de memoria.

Desarrollo

Command

Purpose

npm install

Instalar las dependencias de desarrolo y de ejecución.

npm run build

Compilar TypeScript a dist/.

npm run check

Ejecutar una comprobación estricta de TypeScript sin generar salida.

npm test

Compilar, ejecutar pruebas unitarias, poner a prueba el descubrimiento de herramientas MCP e invocar cada herramienta mediante un subproceso stdio real.

npm start

Iniciar Ackrite compilado mediante stdio.

npm run dev

Observar los archivos fuent de TypeScript durante el desarrolo.

El conjunto de pruebas incluye cobertura positiva y negativa para la clasificación de afirmaciones, evidencia contradictoria, afirmaciones no respaldadas, redacción, estado limitado, cada herramienta principal, fallos repetidos, inicio del servidor, descubrimiento de herramientas y llamadas a herramientas a través del protocolo MCP.

Limitaciones

El análisis de Ackrite es determinista y está basado en la evidencia, en lugar de ser un sistema completo de razonamiento autónomo. La herramienta audit revisa descripciones de una propuesta; no es un analizador estático y no inspecciona un árbol de trabajo. La detección de estrategias repetidas utiliza términos normalizados de las descripciones de intentos proporcionadas, por lo que intentos semánticamente idénticos pero con una redacción muy diferente pueden no agruparse. Las reglas de redacción de secretos cubren patrones comunes, pero no pueden reconocer todos los formatos propietarios de credenciales.

Ackrite solo usa stdio en v0.1. Está diseñado para permanecer independiente de L-Dopa y de otros servidores MCP. Un futuro transporte HTTP, capa de persistencia o adaptador consciente del repositorio debe seguir siendo opcional y debe preservar las mismas garantías de no fabricación y de redacción.

Licencia

Ackrite se publica bajo la Licencia MIT.

Referencias

[1] Model Context Protocol — Transportes

[2] Model Context Protocol TypeScript SDK oficial

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Universal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.
    2
    13
    16
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to conduct evidence-grounded forensic triage of compromised hosts, with architectural safeguards against evidence spoliation and hallucinated findings, supporting self-correction and chain of custody.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to verify their own output mid-task by checking every claim against provided sources, returning supported, partial, unsupported, or contradicted verdicts with exact citations.
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/mshanghai570/Ackrite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server