Skip to main content
Glama
ryancnelson

I'm an Old Sun Box — MCP

by ryancnelson

I'm an Old Sun Box — MCP

Solaris en SPARC, dentro de QEMU, dentro de otro Mac, conectado a una IA que ejecutó uname, miró brevemente al abismo de 2002 y dijo:

«Eh. Qué raro. Bueno, tengo Bash. Joder, vamos.»

Este es un plano de control MCP hecho a medida para un laboratorio virtual Sun Niagara.

Empieza con la especificación normativa. El trabajo se organiza en la lista TODO canónica, y la guía de incorporación y contribución explica cómo una idea se convierte en una rama acotada, un cambio probado y una pieza de trabajo cerrada limpiamente. El blog del proyecto mantiene la historia cronológica e irreverente sin convertir los documentos normativos en ensalada de palabras de viernes por la noche. La configuración de Codex cubre la instalación directa en el host de la VM y la ruta stdio SSH desde otra máquina.

El objetivo no es darle a un agente una pequeña y educada shell remota y fingir que un antiguo invitado Solaris es una VM de nube normal. El objetivo es dejar que el agente habite la máquina mientras le da también ese tipo de visión de rayos X imposible con la que sueñan los hackers de hardware y kernel:

  • una shell dentro del invitado SPARC Solaris/illumos;

  • DTrace nativo del invitado: sondas, agregaciones, evidencia de syscalls/providers, y el sistema operativo explicándose a sí mismo en su lengua nativa;

  • canales de mantenimiento y serie fuera de banda;

  • acceso al monitor de QEMU y al estado de la máquina;

  • un GDB consciente de SPARC mirando directamente a la CPU emulada;

  • evidencia de eBPF, perf, syscall, scheduler y E/S del lado del host;

  • discos de VM, instantáneas, registros, firmware y manifiestos de ejecución; y

  • un libro de contabilidad de evidencia para mantener los hechos separados de las vibraciones.

La red del invitado es una de las cosas que se están depurando. Por lo tanto, nunca es el requisito previo para depurarla.

Para qué sirve esto

La recompensa es un ciclo de reparación ajustado para fallos que cruzan fronteras históricas y de virtualización. Supongamos que ifconfig de Solaris vomita ante un ioctl inesperado. El error podría vivir en suposiciones del espacio de usuario, en la pila de red de illumos, en el controlador de dispositivo Solaris emulado de Ryan, en el modelo sun4v/dispositivo de QEMU, o en la configuración del laboratorio que los conecta.

Este MCP es el aparato para negarse a adivinar. Reproduce el síntoma, formula hipótesis competitivas específicas de cada capa, observa el ioctl con DTrace del invitado, inspecciona el estado del kernel/controlador, correlaciónalo con trazas de QEMU y del host, parchea al propietario más probable, reconstruye, reinicia o recarga deliberadamente, y vuelve a ejecutar la misma prueba discriminatoria. Ese bucle iterativo entre capas es el producto.

Lo mismo aplica cuando -smp 2 todavía produce un sistema Solaris de una sola CPU. Podemos comparar el inventario de vCPU de QEMU, los datos de descripción de máquina de OpenBoot y sun4v, la evidencia de descubrimiento/adjunción de CPU de Solaris, el estado de CPU visible para el depurador y los hilos del host, en lugar de tratar «a otras personas les funcionó SMP» como un diagnóstico accionable.

Related MCP server: pwno-mcp

La cosmovisión

El invitado es el sujeto principal:

Solaris processes and kernel
        ↕
SPARC CPU, memory, traps, and devices
        ↕
QEMU monitor, console, and GDB stub
        ↕
VM host tracing, networking, and storage

El agente comienza en la capa más cercana al síntoma y cruza capas siempre que una prueba discriminatoria lo requiera. Un hecho siempre dice de dónde vino. Una observación del invitado no es una observación de QEMU; una observación de QEMU no es una observación del host; y un hilo del host muy activo no es prueba de que Solaris esté progresando.

Esto es menos «hacer SSH a un servidor» y más «fusión mental con metal SPARC desnudo virtualizado».

El método

El proyecto sigue el método de hipótesis de Ryan Gilfoyle:

  1. Formula hipótesis competitivas y falsables.

  2. Predice qué deberíamos observar según cada hipótesis.

  3. Ejecuta la prueba más barata que las distinga.

  4. Registra la evidencia de inmediato, incluyendo su capa y procedencia.

  5. Mata las malas hipótesis sin sentimentalismo.

  6. Cambia el sistema solo después de que la evidencia previa al cambio esté a salvo en el bolsillo.

Nada de sesiones espiritistas basadas en archivos de registro. Nada de declarar victoria porque la consola tuvo un espasmo. Nada de convertir «no lo sé» en una página de fan fiction confiada.

La herencia de Thoth

Ryan pasó cinco años en Joyent, y este proyecto toma prestada a propósito una idea operativa de manta-thoth. Thoth tomaba volcados de núcleo y de pánico de illumos, daba a cada volcado una identidad estable, almacenaba sus metadatos y ejecutaba analizadores con nombre contra él. Un ingeniero podía depurar un volcado interactivamente, convertir la parte útil de esa sesión en un analizador y aplicar el analizador a volcados posteriores.

Thoth es anterior a OpenAI. Su idea útil es operativa: la depuración no debería tomar como rehén a la recuperación. El flujo de trabajo correspondiente para este laboratorio es:

wedged VM
    -> freeze the exact run
    -> capture and hash its diagnostic state
    -> verify the capture is durable
    -> hand the case to offline debugging and named analyzers

known inputs
    -> start a replacement VM
    -> prove its identity and boot progress

El caso sellado debería contener suficiente material para investigar después de que el proceso original de QEMU haya desaparecido: entradas de ejecución y hashes, historial de consola, estado de QMP, memoria del invitado o un volcado de pánico donde se admita, capturas del depurador, versiones de herramientas y procedencia de la evidencia. Los resultados del analizador pertenecen al caso sin reescribir su evidencia original.

El volcado y el reemplazo son transacciones separadas. La ejecución atascada sobrevive hasta que su captura sea legible y verificada. Un volcado exitoso no prueba que el reemplazo haya arrancado, y un reemplazo que arranca no excusa un volcado corrupto o incompleto.

Este ciclo de vida está planificado, no implementado. SUN-009 define capturas y analizadores direccionados por contenido. SUN-010 define la máquina de estados de congelación, sellado, traspaso, reemplazo y reversión.

Reglas de la casa

  • Primero lo fuera de banda. Los sockets serie, el monitor de QEMU y el acceso del depurador deben sobrevivir a una red de invitado rota.

  • Solo objetivos exactos. Nada de mierda de vaquero con pgrep qemu | head -1 cuando pueden estar ejecutándose varios experimentos irremplazables.

  • Toda mutación confiesa. Los controles del monitor, las señales, las escrituras del depurador, las lecturas de registros con efectos secundarios reconocidos y las operaciones de disco están etiquetadas como cambios de estado.

  • Desconecta el depurador. Un diagnóstico ingenioso que silenciosamente deja cada vCPU detenida no es ingenioso.

  • Un escritor significa un escritor. Los canales compartidos no se vuelven más fiables cuando tres procesos puente obsoletos pelean por ellos.

  • Nunca Ctrl-C en la terminal de control de QEMU. Ya hemos pagado la matrícula por esa lección.

  • Instantáneas antes de los crímenes. Los crímenes reproducibles son ciencia.

  • La evidencia vence a la confianza. Especialmente cuando la confianza lleva una camiseta de Sun Microsystems.

Qué debería exponer este MCP

Las familias de herramientas previstas son explícitas sobre la capa en la que operan:

lab.*          run discovery, intent, health, and manifests
guest.*        bounded guest commands, console evidence, and DTrace
qemu.*         HMP/QMP queries and deliberate machine control
debugger.*     SPARC register, instruction, memory, and backtrace capture
host.trace.*   bounded eBPF/perf/process investigations
evidence.*     append-only observations and artifact references
hypothesis.*   predictions, discriminating tests, and falsification
capture.*      planned immutable diagnostic cases and content identity
analyzer.*     planned offline metadata extraction and diagnosis
lifecycle.*    planned wedge capture and replacement-VM rollover

El acceso experto en bruto es una característica, no una vergüenza. La respuesta al poder peligroso es la orientación precisa, la ejecución acotada, los efectos visibles y los experimentos recuperables—no lijar cada herramienta hasta que solo pueda imprimir hello world.

DTrace dentro del invitado y eBPF/perf fuera de QEMU son ángulos de rayos X complementarios. Ninguno se promueve a evidencia desde la otra capa: una sonda de DTrace describe Solaris; una sonda del host describe el proceso del emulador. Cuando coinciden a través de la frontera de virtualización, ahora sí que estamos cocinando.

Estado

El núcleo portátil 0.1 está implementado y el primer perfil en vivo está probado. La configuración estricta, la identidad de ejecución validada, los adaptadores de invitado/HMP/QMP/host, la evidencia inmutable y el historial de hipótesis, y el servidor stdio de MCP están cubiertos por 58 pruebas. CI ejecuta la suite portátil en macOS y Linux.

El perfil Niagara también se ha probado contra una ejecución en vivo de QEMU 10.2. Demostró el PID exacto, consultó QMP a través de un socket Unix privado, capturó registros e instrucciones SPARC v9 con gdb-multiarch, se desconectó y demostró de forma independiente que QEMU volvió a running. Una CLI de Codex recién creada en el host de la VM descubrió entonces la ejecución y consultó su estado usando solo herramientas MCP.

Las recetas de DTrace del invitado, las recetas nombradas de eBPF/perf del host, el clasificador semántico del proyecto, las capturas de diagnóstico direccionadas por contenido y la rotación automática de bloqueos siguen siendo trabajo registrado, no magia publicitada.

La caja es vieja. El equipo de depuración no lo es.

¿Cuán vibe-coded es esto?

¡Bastante!

**Estoy apostando por el estilo de escritura basura de IA, en lugar de intentar actuar como si fuera un poeta. Espera joyas con rayas como «El espíritu está capturado, pero nadie—incluido el futuro Ryan—puede decir rápidamente qué promete el software o qué hacer a continuación.» en grandes cantidades.**

Aquí no hay ilusiones de que Ryan haya surgido completamente formado de la frente de Bill Joy, ya fluido en los internals de sun4v. Este proyecto se está construyendo mediante curiosidad, experimentos, colaboración con IA, documentación antigua, nueva evidencia y la ocasional idea mala extremadamente productiva.

Eso hace que la disciplina sea más importante, no menos. La SPEC dice lo que el sistema debe hacer. Las pruebas demuestran lo que realmente hace. El libro de contabilidad de evidencia registra lo que realmente observamos. El flujo de trabajo para contribuyentes evita que un hack prometedor se convierta silenciosamente en una capa arqueológica.

Available Tools

16 tools
debugger.captureD
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
reasonYes
profileNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evidence.readD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
limitNo
after_idNo
investigation_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evidence.recordD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
claimYes
layerYes
notesNo
sourceYes
investigation_idYes
tool_result_digestNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

guest.console_tailD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
max_bytesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

guest.execD
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
reasonYes
adapterNo
commandYes
timeout_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

host.process_sampleD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
sample_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

host.traceD
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
reasonYes
recipeYes
duration_secondsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

host.trace_capabilitiesD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hypothesis.startD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
statementYes
predictionsYes
investigation_idYes
discriminating_testsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hypothesis.updateD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
reasonYes
statusYes
evidence_idsYes
hypothesis_idYes
investigation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lab.classifyD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lab.describe_runD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lab.list_runsD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
include_stoppedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qemu.hmp_controlD
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
reasonYes
commandYes
timeout_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qemu.hmp_queryD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes
commandYes
timeout_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qemu.statusD
Read-only
ParametersJSON Schema
NameRequiredDescriptionDefault
runYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updatesv0.1.0
    • First observeddebugger.capture
    • First observedevidence.read
    • First observedevidence.record
    • First observedguest.console_tail
    • First observedguest.exec
    • First observedhost.process_sample
    • First observedhost.trace
    • First observedhost.trace_capabilities
    • First observedhypothesis.start
    • First observedhypothesis.update
    • First observedlab.classify
    • First observedlab.describe_run
    • First observedlab.list_runs
    • First observedqemu.hmp_control
    • First observedqemu.hmp_query
    • First observedqemu.status

TDQS

D1.6/5.0

Scored across 16 tools

Disambiguation2/5

Several tool names overlap in intent: debugger.capture, evidence.record, and host.trace all imply capturing observational data, while qemu.hmp_query and qemu.status both seem to query VM state. Without descriptions, an agent could easily select the wrong tool for a task.

Naming Consistency4/5

Tools consistently use a dotted domain prefix such as host., guest., qemu., lab., and evidence., which creates a clear namespace. The second segment is less uniform (verbs, nouns, and verb_noun forms), so it is not perfectly consistent, but the overall convention is predictable.

Tool Count4/5

16 tools is slightly above the typical well-scoped range but justified by the breadth of a debugging/forensics server spanning host tracing, guest execution, QEMU control, evidence management, and lab workflows. It feels comprehensive rather than bloated.

Completeness2/5

The set covers start/read actions well but lacks lifecycle closures: hypothesis.start has no hypothesis.end or hypothesis.cancel, evidence.record/read has no evidence.delete/list, and there is no clear stop/cleanup for host.trace or debugger.capture. These gaps create dead ends in common workflows.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to run, manage, and debug BSD/Illumos VMs through natural language. Supports creating FreeBSD, OpenBSD, NetBSD, and OmniOS VMs, executing commands inside them, accessing console logs, and managing snapshots.
    7
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    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