Skip to main content
Glama
TravT

Aegis-Sovereign MCP Server

by TravT

sovereign_inspect_archive

Inspect archive containers in-memory with zero disk extraction, slice sections by heading or character offset, and relocate or purge indexed corpus prefixes without reindexing.

Instructions

Streams and inspects .hdx, .hwics, .zip, .xlsx, .docx, .tar.zst, or .epub containers purely in-memory (O_RDONLY, zero disk extraction) per ADR-07. Also supports section/offset slicing (section_filter, char_offset) and zero-reindex corpus path relocation / stale relationship cleanup (action='relocate_prefix' | 'purge_prefix' | 'corpus_stats').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoOptional keyword or alarm code filter to match against archive entries
actionNoOperation mode: 'inspect' (default), 'relocate_prefix' (re-point archive:// URIs & rebuild clean graph edges without re-indexing), 'purge_prefix' (delete records & relationships for an old prefix), or 'corpus_stats'inspect
ingestNoWhether to ingest matched archive entries into the knowledge graph
max_charsNoMaximum characters to return from the resolved archive entry
new_prefixNoNew directory/URI prefix to point existing indexed records and graph relationships to (e.g. '/home/tlima/Enterprise_Hub/docs/Hua_Docs')
old_prefixNoOld directory/URI prefix to relocate or purge (e.g. '/tmp/docs_rag_gemini')
char_offsetNoOptional character start offset when reading a long archive entry
virtual_uriNoOptional canonical virtual URI (archive://<archive_path>#<entry_name>) to resolve directly in-memory
archive_pathNoPath to the archive container (.hdx, .hwics, .zip, .tar.zst, .epub) to inspect
section_filterNoOptional section heading filter (e.g. 'Possible Causes', 'Procedure', 'Parameters') to extract that exact section without Python slicing
enrich_deep_alarmsNoWhen relocating Huawei .hwics packages, stream resources/alarms/*.html in-memory from new_prefix to persist full 18k-char Possible Causes & Procedures
artifact_output_dirNoOptional directory path to save extracted PNG diagrams (defaults to dev/aegis-sovereign-appliance/data/extracted_diagrams)
clear_stale_relationshipsNoWhen relocating or purging, clear orphaned/stale GraphStore edges referencing the old path
extract_diagram_to_artifactNoWhen true, extracts embedded PNG signaling ladder / root-alarm diagrams (class='vsd' or direct .png virtual_uri) from the .hwics/.zip container in-memory and saves them to artifact_output_dir

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description bears the full burden of behavioral disclosure. It does advertise in-memory, O_RDONLY, zero-disk-extraction behavior, which is useful, but this is potentially contradicted by the schema's extract_diagram_to_artifact/artifact_output_dir parameters that write PNGs to disk. It also does not disclose the destructive side effects of purge_prefix or the mutating nature of relocation operations.

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 two sentences with no fluff. The primary streaming/inspection purpose is front-loaded, followed by secondary modes. It is dense with formats and actions, but every clause contributes information; the structure is efficient for the tool's breadth.

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?

This is a complex, multi-mode tool with 14 optional parameters, no output schema, and no annotations contrary to behavior. The description omits what the tool returns, which parameters are required for each action (e.g., old_prefix/new_prefix for relocate/purge), and does not flag that some modes mutate the graph or write artifacts to disk. The rich schema helps, but the description alone is insufficient for safe and correct invocation.

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?

Schema coverage is 100%, so baseline is 3. The description adds meaningful semantic context beyond the schema by grouping section_filter and char_offset as 'section/offset slicing' and explaining the relocation/purge actions as 'zero-reindex corpus path relocation / stale relationship cleanup'—concepts not obvious from the enum or parameter names alone.

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 identifies a specific verb ('inspects') and resource ('archive containers') with an explicit list of formats, and it names the core operations (inspection, slicing, relocation, purge, stats). It does not explicitly differentiate from sibling tools, so it falls short of a 5, but the purpose is unmistakable.

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

Usage Guidelines3/5

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

The description implies usage scenarios by listing the supported operations ('section/offset slicing', 'relocate_prefix', 'purge_prefix', 'corpus_stats'), but it gives no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It is adequate but relies on inference.

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