FEA
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| images_listA | List registered disk images (name, path, label, timezone) and the default timezone. |
| images_addA | Register a disk image (raw, split raw .001, E01) under a short name. Allowed only for paths under the configured allowed_roots (or with FEA_UNRESTRICTED=1); otherwise register on the host with |
| tools_statusB | Platform, Python version, optional native tools (sleuthkit, exiftool) and the host access policy in force. |
| partitionsC | Partition table (mmls-style) with file-system type probing for each partition. |
| lsB | List a directory (path or 'inode:N'): names, inodes, sizes, MAC times, deleted flags, alternate data streams. |
| statB | Full metadata for a file/dir by path or inode ('inode:N' or 'N-128-3'): times, attributes/ADS, NTFS $FILE_NAME times with a timestomp indicator, istat text when sleuthkit is installed. |
| readB | Read up to 4 MiB of a file (or an ADS via |
| extractB | Copy a file (or ADS) out of the image into out_dir (relative to, or inside, the output root); returns size, SHA1, MD5. |
| findB | Find files by path name (glob with * ? or regex), including deleted names. deleted = any|only|no. Times ISO in image timezone. |
| timelineC | File-system timeline (directory walk) between start/end (ISO, image timezone), optionally filtered by path regex. kinds: m a c b. |
| recover_deletedB | Background job: recover deleted/orphaned files into out_dir (inside the output root), optionally only paths matching regex. Poll job_result. |
| grep_filesB | Background job: search file CONTENT (UTF-8 and UTF-16LE) of files whose path matches path_regex. Poll job_result. |
| grep_unallocatedB | Background job: scan unallocated space for terms; hits carry file-system block numbers (or blkls offsets when sleuthkit is used). Poll job_result. |
| grep_fileC | Search one file (in-image ref, or local_path to an extracted file such as pagefile.sys) for terms; returns offsets and context. |
| stringsC | Printable strings (ASCII and UTF-16LE) from a file with offsets, optionally filtered by regex. |
| disk_readC | Raw bytes at an absolute byte offset in the image (hex dump or text). |
| block_readB | Read file-system blocks by number (follow up grep_unallocated hits). |
| blkcalcC | Map a blkls stream byte offset (from a sleuthkit-mode grep_unallocated hit) to the real file-system block. |
| registry_keyC | Read a Windows registry hive (SYSTEM, SOFTWARE, SAM, NTUSER.DAT, UsrClass.dat, Amcache.hve): a key's values, last-write time and subkeys to |
| registry_pluginsC | Run regipy artefact plugins on a hive (UserAssist, ShellBags, WordWheelQuery, TypedPaths, USBSTOR, services, ComputerName, timezone, ...). |
| evtxB | Query a Windows .evtx log: filter by event IDs, time range (ISO, image timezone), provider, or text; returns flattened event data. |
| sqlite_tablesC | Tables, row counts, columns and freelist size of a SQLite database (browser history, chat apps, Android apps). WAL applied when present. |
| sqlite_queryC | Run a read-only SELECT against a SQLite database inside the image. |
| lnkB | Parse a Windows shortcut (.lnk / Jump List entry): target path, volume serial, machine id, target times. |
| prefetchB | Parse a Windows Prefetch (.pf) file: executable, run count, last 8 run times, volumes, referenced files. |
| esedb_tablesC | List tables of an ESE database (SRUDB.dat, Windows.edb, WebCacheV01.dat, ntds.dit). |
| esedb_dumpC | Dump rows of an ESE database table (optionally selected columns, filtered by text). |
| exifC | Metadata of a media/document file (exiftool when installed, else Pillow EXIF and OOXML properties). |
| file_infoC | File type, SHA1/MD5/SHA256, entropy, and bytes after the JPEG/PNG/PDF end marker (hidden appended data). |
| office_partsC | Open an OOXML document (docx/xlsx/pptx): list parts, extract text, comments, properties; flag hidden text and tracked changes. |
| yara_scanC | Scan a file with YARA rules (rule text, or a .yar path inside the allowed roots). |
| job_statusC | Status and progress of a background job. |
| job_resultB | Wait up to wait_s seconds (max 300) for a background job and return its result when done. |
| job_cancelB | Ask a running background job to stop at its next progress checkpoint. |
| jobs_listB | List background jobs started in this session. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 35 tools
Most tools have clearly distinct forensic purposes tied to specific artifacts or operations. However, there is some overlap among related tools like `ls` vs `find`, `read` vs `disk_read`/`block_read`, and the `grep_*` family, which could cause occasional hesitation. Descriptions generally clarify the boundaries well.
The set mixes verb_noun (`images_list`, `grep_files`), noun_verb (`disk_read`, `sqlite_query`), and bare noun (`partitions`, `stat`, `evtx`, `lnk`) conventions. All names use lowercase snake_case, so it remains readable, but the lack of a single predictable pattern reduces consistency.
With 35 tools, the set is heavy and exceeds the 25+ threshold for 'too many' in the rubric. While the forensic domain is broad and many tools target distinct artifacts, the count suggests opportunities for consolidation or grouping to reduce cognitive load.
The surface covers disk images, filesystem metadata, content search, registry, event logs, SQLite, ESE, LNK, prefetch, EXIF, OOXML, and YARA, which is broad for forensic analysis. Minor gaps include image removal/update, hash set import/compare, and dedicated carving or memory analysis, but agents can work around these.