Skip to main content
Glama

NullSec-RedTeam-AI

CI Licencia: MIT Python 3.10+ Estado: Beta

Ejecución de seguridad gobernada por MCP y basada en autorización, para entornos explícitamente aprobados.

NullSec-RedTeam-AI es un plano de control de un solo host para flujos de trabajo gobernados de herramientas de seguridad. Registra el alcance aprobado de una campaña, el contexto del actor, la decisión de política, el ciclo de vida duradero del trabajo, la pista de auditoría y la referencia de evidencia antes de que un trabajador pueda ejecutar un trabajo. Su postura predeterminada es sandbox obligatorio y cierre ante fallo: un sandbox requerido nunca se degrada a ejecución en el host.

Úselo solo con autorización explícita por escrito. Este proyecto es software de seguridad en etapa inicial, no un sistema autónomo de equipo rojo, un sustituto de un acuerdo de compromiso o un servicio multiinquilino. Ejecútelo en entornos de prueba aislados o en activos que tenga autorización expresa para evaluar.

¿Por qué NullSec?

Principio

Qué significa en la práctica

Autorización antes de la ejecución

Cada trabajo se evalúa contra una campaña, identidad del llamante, alcance objetivo, nivel de capacidad, ventana de tiempo, decisión de política, clave de idempotencia e identificador de rastreo.

Contención que cierra ante fallo

El trabajo que requiere sandbox necesita una imagen inmutable, un tiempo de ejecución de contenedor disponible, una configuración de mínimo privilegio y un espacio de trabajo acotado. Los controles faltantes fallan el trabajo en lugar de ejecutarlo localmente.

Operaciones auditables

Los trabajos respaldados por SQLite retienen eventos del ciclo de vida, concesiones, estado de cancelación, vínculos con el actor y la campaña, contexto de política y metadatos de evidencia.

Colaboración acotada con IA

AURA separa la planificación, la revisión de políticas, el permiso de ejecución y la revisión de evidencia. Un planificador no puede llamar directamente a un ejecutor.

Pruebas de seguridad de IA veraces

El Laboratorio de Seguridad de IA etiqueta la salida de simulación como not_evaluated; no presenta la salida sintética como un hallazgo del proveedor.

Related MCP server: EasyHunt-AI

Arquitectura de un vistazo

Un usuario o cliente MCP llega a la capa de transporte solo después de la autenticación y la construcción del contexto del llamante. El motor de políticas de campaña decide si una solicitud tipada está dentro del alcance. El almacén de trabajos duraderos coordina concesiones y eventos de auditoría; un trabajador consciente de concesiones puede entonces solicitar una ejecución en sandbox de mínimo privilegio. AURA permanece por encima del límite de ejecución, con una etapa separada de revisión de evidencia.

El diagrama Mermaid controlado por fuente está disponible en docs/assets/control-plane-architecture.mmd. Lea la justificación de la arquitectura en ADR-001.

Inicio rápido para desarrollo local seguro

El flujo de trabajo de desarrollo utiliza simulaciones y fixtures simulados; no instala, descarga ni ejecuta herramientas de seguridad.

git clone https://github.com/Panda1847/NullSec-RedTeam-AI.git
cd NullSec-RedTeam-AI
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e '.[dev]'

pytest
ruff check .

Para el trabajo de desarrollo de API local, use el estado local del proyecto, un token no productivo y solo enlace de bucle de retorno.

mkdir -p .nullsec/logs .nullsec/jobs
export NULLSEC_LOG_DIR="$PWD/.nullsec/logs"
export NULLSEC_JOB_DIR="$PWD/.nullsec/jobs"
export API_TOKEN="local-development-token"
export NULLSEC_LOCAL_ACTOR_ID="local-operator"
export NULLSEC_LOCAL_ACTOR_ROLES="operator"

hexstrike-server --host 127.0.0.1 --port 8888

El servicio rechaza el enlace que no sea de bucle de retorno a menos que NULLSEC_ALLOW_NON_LOOPBACK=true esté explícitamente establecido. Trate esa configuración como un cambio de implementación que requiere un proxy inverso autenticado y una política de red aprobada.

Flujo de campaña seguro

Una campaña registra la autorización y el alcance. El siguiente ejemplo solo de bucle de retorno crea un registro de campaña; no ejecuta una herramienta.

curl --request POST http://127.0.0.1:8888/api/campaigns \
  --header "Authorization: Bearer $API_TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{
    "campaign_id": "local-demo-001",
    "allowed_targets": ["127.0.0.0/8"],
    "allowed_capabilities": ["passive"],
    "starts_at": "2026-08-18T09:00:00+00:00",
    "ends_at": "2026-08-18T17:00:00+00:00"
  }'

El envío de un trabajo requiere esa campaña, un nivel de capacidad compatible y una clave de idempotencia. Con el modo predeterminado sandbox_required, un trabajo permanece seguro para poner en cola pero falla al cerrar en la ejecución a menos que un operador haya proporcionado una imagen inmutable revisada y una configuración de ejecutor sin privilegios.

curl --request POST http://127.0.0.1:8888/api/tools/execute \
  --header "Authorization: Bearer $API_TOKEN" \
  --header 'Content-Type: application/json' \
  --header 'X-Trace-Id: local-demo-trace-001' \
  --data '{
    "tool": "nmap",
    "target": "127.0.0.1",
    "options": "-sV",
    "campaign_id": "local-demo-001",
    "capability": "passive",
    "idempotency_key": "local-demo-request-001"
  }'

No coloque tokens de portador en el historial del shell, control de fuentes, capturas de pantalla o registros de CI.

Laboratorio de Seguridad de IA

El Laboratorio de Seguridad de IA distingue una simulación de una evaluación real de un proveedor. Su salida predeterminada tiene mode: simulation y status: not_evaluated; no afirma que un modelo sea vulnerable, resistente o puntuado. La evaluación del proveedor permanece no disponible hasta que una organización proporcione un adaptador consentido, un conjunto de datos versionado, credenciales protegidas, almacenamiento de evidencia y un método de puntuación.

ai-lab --list
ai-lab --model consented-test-model --technique PROMPT_INJECTION --mode simulation

El proyecto deliberadamente no genera cargas útiles de omisión. Cualquier evaluación respaldada por un proveedor debe usar un conjunto de datos revisado y versionado en un entorno aislado.

Puertas de calidad

Cada contribución debe cumplir con las expectativas de prueba, calidad de código, seguridad, empaquetado y revisión antes del lanzamiento.

Puertas de calidad de contribución y lanzamiento

El flujo de trabajo público cubre pruebas con cobertura enfocada, linting de Ruff, verificación de tipos enfocada, análisis de seguridad estático, auditoría de dependencias y compilaciones de paquetes PEP 517. La fuente del diagrama de puerta de calidad es docs/assets/quality-gates.mmd.

Estado del proyecto y hoja de ruta

Área

Estado actual

Próximo hito significativo

Identidad

Adaptador de actor local de un solo host

Adaptador de identidad OAuth/OIDC específico de implementación o equivalente

Política

Verificaciones de alcance, capacidad, ventana y objetivo de campaña

Repositorio de políticas persistente y flujo de trabajo de aprobación

Ejecución

Trabajador local consciente de concesiones con perfil de sandbox de cierre ante fallo

Perfil de tiempo de ejecución sin privilegios revisado e imagen de ejecutor inmutable firmada

AURA

Máquina de estado de flujo de trabajo tipado y acotado

Sesiones persistentes, enlaces de evidencia duraderos y adaptadores de proveedor gobernados por políticas

Evidencia

Eventos de auditoría de trabajo y referencias de evidencia

Almacenamiento de evidencia gestionado con controles de retención e integridad

Consulte ROADMAP.md para la secuencia de implementación mantenida y IMPLEMENTATION_SUMMARY.md para el registro de modernización 7.1.

Documentación

Documento

Úselo para

RESPONSIBLE_USE.md

Autorización, contención y responsabilidades del operador

SECURITY.md

Proceso privado de notificación y respuesta de vulnerabilidades

CONTRIBUTING.md

Configuración de desarrollo, estándares de revisión y requisitos de adaptador seguro

CODE_OF_CONDUCT.md

Estándares de participación comunitaria

docs/runbooks/deployment.md

Flujo de trabajo de implementación y reversión de un solo host

docs/runbooks/runner-hardening.md

Revisión de ejecutor sin privilegios, imagen y contención

docs/runbooks/evidence-retention.md

Procedencia, retención y preservación de incidentes de evidencia

CHANGELOG.md

Cambios versionados y notas de lanzamiento

Contribuir

Las contribuciones deben preservar la postura de autorización primero. Las nuevas integraciones necesitan un modelo de solicitud tipado, nivel de riesgo, alcance de capacidad, perfil de ejecución seguro, pruebas deterministas y un analizador de evidencia o limitación documentada. No agregue ejecución arbitraria de shell, cadenas de opciones ilimitadas, pruebas de objetivos en vivo, credenciales, inventarios de objetivos o artefactos de escaneo generados.

Abra un problema de diseño o proponga un registro de decisión de arquitectura antes de cambios amplios. Revise CONTRIBUTING.md primero y use SECURITY.md en lugar de problemas públicos para informes de vulnerabilidad.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. La licencia no otorga autorización para evaluar un sistema. Los operadores siguen siendo responsables de la ley aplicable, los contratos, la política organizacional, la autorización por escrito y las restricciones del compromiso.

Available Tools

6 tools
diagnose_issueB

Diagnose a specific error and suggest fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
error_messageYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

The description implies a safe, read-like behavior (suggesting fixes, not mutating state), but with no annotations provided, it bears the full burden of disclosure. It does not mention whether the tool has side effects, requires specific permissions, or has rate limits. The lack of explicit behavioral detail is a gap, but it does not contradict any annotations since none exist.

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

Conciseness3/5

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

The description is a single sentence with 6 words, which is concise but arguably underspecified. It lacks structure to highlight key details like the tool's scope or output. While brevity is valued, the sentence could be expanded to include context such as what kind of errors it handles or what the output contains, without becoming verbose.

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

Completeness3/5

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

The tool has one parameter and an output schema, reducing the need for extensive description of returns. However, given its complexity (diagnosis and fix suggestions), the description does not cover what the response includes (e.g., severity, steps, references) or how error messages should be formatted. The presence of an output schema helps, but the description could be more complete for an agent to use it effectively.

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

Parameters3/5

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

The single required parameter 'error_message' has no schema description coverage (0%), so the description must compensate. The description states it diagnoses a specific error, which implies the parameter is an error message string. This adds some meaning beyond the schema, but it is vague—it does not clarify the expected format, length, or source of the error message. For a single parameter, this is acceptable but not exemplary.

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

Purpose4/5

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

The description clearly states the tool's purpose: diagnosing a specific error and suggesting fixes. The action verb 'diagnose' combined with the resource 'specific error' makes the function clear. However, it does not differentiate itself from siblings like 'scan_target' or 'run_security_tool', which could also analyze errors, missing a chance to clarify its unique role.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. Given siblings like 'scan_target' and 'run_security_tool', an agent would benefit from understanding that this tool is for troubleshooting a known error message, not for security scanning or status checks. The absence of such context reduces its utility for proper tool selection.

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

get_job_statusC

Check status of a previously queued job.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It doesn't mention whether the tool is destructive (it's not, but this is unstated), whether it blocks/polls, what the output format is (though output schema exists), or any rate limits or authentication needs. The simple description is incomplete for an agent to understand operational behavior.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler. It efficiently communicates the core purpose. A score of 5 would require even tighter wording or additional value, but 4 is appropriate for brevity.

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

Completeness2/5

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

Given this is a low-complexity tool (1 param, has output schema), the description is incomplete. The output schema exists but the description doesn't clarify what statuses to expect or how to interpret them (e.g., pending, completed, failed). An agent needs more context to effectively parse the result. The description lacks completeness for a useful tool invocation.

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

Parameters3/5

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

Schema description coverage is 0%, meaning the description must compensate. However, with only one parameter (job_id), the description implies the job_id is the identifier for the queued job, which adds minimal semantic value beyond the schema. The baseline is 3 given low coverage, but the description doesn't explain the format or constraints of job_id (e.g., required length, prefix).

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

Purpose4/5

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

The description clearly states the verb ('Check status') and resource ('a previously queued job'). It distinguishes itself from siblings by focusing on job status, not system status, scanning, or diagnostics. A score of 5 would require explicit comparison to siblings or mention of what makes this unique, but 4 is strong.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives. It doesn't specify prerequisites (e.g., that a job must have been queued first via another tool) or mention when not to use it. With siblings like 'run_security_tool' and 'diagnose_issue', an agent would benefit from knowing this tool is for polling asynchronous operations.

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

get_system_statusB

Check health of all NullSec components.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. The description implies a read-only health check but does not state that explicitly, nor does it mention whether the tool has side effects, requires authentication, or has rate limits. The lack of clarity on behavior is a significant gap for a tool with no annotations.

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

Conciseness4/5

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

The description is a single sentence—short and to the point. It conveys the core purpose without fluff. No wasted words, though it could be slightly more structured (e.g., adding a period at the end or front-loading the intent better).

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

Completeness3/5

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

Given the tool has zero parameters but an output schema exists, the description is adequate but not rich. It doesn't hint at the output shape or how to interpret the health status, leaving an agent to infer behavior from the output schema alone. For a simple health check with no inputs, the description is minimally viable but could be more helpful by explaining what 'health' entails.

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

Parameters4/5

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

The tool has zero parameters, and the description provides complete clarity about the lack of inputs. There are no schema descriptions needed beyond what is already 100% covered by the parameter count. The description suffices for the input semantics.

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

Purpose4/5

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

The description clearly states the purpose is to 'Check health of all NullSec components', specifying a concrete verb ('check') and resource ('health of all NullSec components'). It differentiates from siblings like 'diagnose_issue' which implies a narrower scope, and 'run_security_tool' which is more action-oriented. A slight deduction for not being more specific about what 'health' means (e.g., uptime, latency).

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like 'diagnose_issue' or 'scan_target'. For example, it doesn't explain whether this is a quick status check vs. a deep diagnostic. There are no prerequisites, context for appropriate use cases, or exclusions mentioned.

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

list_available_toolsA

List all available security tools with descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description must fully convey behavioral traits. It only states 'list all available security tools with descriptions,' omitting crucial details such as whether the operation is read-only, if pagination applies, or any authorization requirements. The agent cannot infer safety or side-effect profile from this minimal text.

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

Conciseness5/5

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

The description is a single, front-loaded sentence of five words that immediately communicates the tool's core action. No wasted words; every part is essential.

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

Completeness4/5

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

Given the tool has zero parameters and an output schema (not shown), the description is mostly complete for a simple listing tool. It could benefit from mentioning the output format (e.g., an array of tool names and descriptions) to reduce uncertainty, but the current text is sufficient for basic understanding.

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

Parameters4/5

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

The input schema has zero parameters and 100% schema coverage, so the baseline is 4. The description adds value by clarifying the purpose beyond the empty schema, but no parameter-level detail is needed.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'security tools with descriptions,' making the tool's purpose immediately obvious. It distinguishes itself from sibling tools like run_security_tool and get_job_status by focusing on listing rather than execution or status checks.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't suggest using this tool before run_security_tool to discover available options, nor does it indicate when not to use it. The description lacks contextual cues for appropriate use.

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

run_security_toolC

Execute a security tool via the HexStrike orchestration server.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget IP, hostname, or URL
optionsNoAdditional command-line options
tool_nameYesTool to run (nmap, sqlmap, gobuster, hydra, nuclei, ffuf, nikto, dirsearch)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for disclosure. It fails to mention whether execution is synchronous or asynchronous, what authentication or permissions are required, or any side effects (e.g., network scanning may be destructive). The single sentence lacks essential behavioral context for a tool that orchestrates external security tools.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that efficiently states the tool's purpose. No unnecessary words are present, but the conciseness comes at the cost of missing critical detail. It earns a high score for structure but not for completeness.

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

Completeness2/5

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

Despite having an output schema and sibling tools like 'get_job_status' (implying potential asynchronous behavior), the description omits any context about how results are returned, whether execution is blocking, or how errors are reported. The tool's role in an orchestration workflow is undefined, leaving a significant gap in understanding for an AI agent.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter is already documented with a description in the input schema. The tool description does not add additional meaning beyond what the schema provides. Given the baseline for high schema coverage is 3, and the description adds no new parameter insights, this score is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Execute' and the resource 'a security tool via the HexStrike orchestration server', making the primary action and context unambiguous. However, it does not distinguish this tool from sibling tools like 'scan_target' or 'list_available_tools', which could have overlapping functionality.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'scan_target' or 'list_available_tools'. The description does not mention prerequisites, exclusions, or the appropriate context for invocation, leaving the agent to infer usage solely from the tool name and parameter list.

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

scan_targetC

Run a comprehensive security scan on a target.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesIP or hostname to scan
scan_typeNoquick, full, or stealthquick

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries full responsibility. It does not disclose whether the scan is read-only, destructive, or requires special permissions. It omits potential side effects (e.g., network load, detection) and does not explain what happens after the scan (e.g., are results stored?). The presence of a sibling 'get_job_status' hints at asynchronous behavior, but the description is silent on this.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that immediately conveys the action and resource. It is efficient with no wasted words, though it could be slightly more informative without sacrificing conciseness.

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

Completeness3/5

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

Given the tool's simplicity and the presence of an output schema, the description is reasonably complete for basic understanding. However, it fails to address the asynchronous nature (inferred from sibling 'get_job_status'), the difference between scan types, or how results are retrieved. The missing context leaves the agent uncertain how to handle the tool's lifecycle.

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

Parameters3/5

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

Schema coverage is 100%, with both parameters already documented in the input schema (target as 'IP or hostname', scan_type as 'quick, full, or stealth'). The description adds only the generic word 'comprehensive', which does not enhance understanding of parameter meaning or constraints. It provides no additional semantics beyond the schema.

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

Purpose4/5

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

The description clearly states the tool runs a 'comprehensive security scan' on a target, which is a specific action with a defined resource. However, it does not differentiate this tool from the sibling 'run_security_tool', which may have overlapping functionality. A higher score would require explicit distinction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'run_security_tool' or 'diagnose_issue'. There is no mention of prerequisites, typical scenarios, or exclusions. The description only says what it does, not when or why to choose it.

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. 6 tool updatesv7.1.0
    • First observeddiagnose_issue
    • First observedget_job_status
    • First observedget_system_status
    • First observedlist_available_tools
    • First observedrun_security_tool
    • First observedscan_target

TDQS

B3.4/5.0

Scored across 6 tools

Disambiguation4/5

Most tools are clearly distinct, but run_security_tool and scan_target have overlapping purposes—both involve executing security operations—though descriptions clarify that the former is for arbitrary tools and the latter for a predefined comprehensive scan.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., run_security_tool, get_job_status), with no mixing of conventions or inconsistent verb styles.

Tool Count5/5

With 6 tools, the set is well-scoped for a red team AI server, covering core operations without being overly large or trivial.

Completeness3/5

The tool set covers basic actions like running tools and scanning, but lacks critical lifecycle operations such as canceling jobs, retrieving full results, or managing targets, leaving notable gaps for a complete red team workflow.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A secure tool-execution plane for agentic AI that enforces JWT authentication, rate limiting, prompt-injection inspection, and audit logging, while ingesting downstream OpenAPI endpoints as MCP tools.
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    MCP server for AI-driven VAPT orchestration, enabling agents to plan and execute authorized security scans through a control plane that enforces scope, sanitization, budget, rate limits, human approval, and audit logging.
    127
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    A security-first MCP gateway that enables AI assistants to safely inspect and interact with GitHub repositories through a controlled, auditable tool layer with policy enforcement and human approval for mutations.
    27
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An identity-aware authorization layer for AI agents that enforces OAuth scopes, contextual policies, and human approval workflows before executing sensitive actions. It provides controlled execution and audit trails for MCP tools.
    50,844 npm
    MIT