FileAgent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FILEAGENT_HOST | No | Host for HTTP mode. | 127.0.0.1 |
| FILEAGENT_PORT | No | Port for HTTP mode. | 8765 |
| FILEAGENT_AGENT_ID | No | Identifies the agent that sent/edited files. | user@host |
| FILEAGENT_DATA_DIR | No | Directory for SQLite and blobs. Same path = same FTP. | ~/.fileagent |
| FILEAGENT_OPEN_EDIT | No | Set to 1 to allow agents to edit shared paths. | 1 |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| healthB | Saúde do FTP: data_dir, arquivos, hashes cadastrados e identidade deste agente. |
| ftp_registerA | Admin: cadastra um access_hash. Exige senha do admin. Clientes usam o hash gerado em put/get. |
| ftp_revokeA | Admin: revoga um hash cadastrado. put/get com ele passam a falhar. |
| ftp_hashesA | Lista hashes. Com senha admin lista todos; sem ela, só os criados por este agente. |
| ftp_putB | Envia arquivo. Exige access_hash cadastrado (ftp_register). Grava SHA-256, verifica disco e extrai metadados. |
| ftp_getB | Baixa arquivo. Exige o mesmo access_hash cadastrado usado no put. Recalcula SHA-256. |
| ftp_lsA | Lista o diretório deste access_hash. Cada arquivo vem com hash de conteúdo e metadados. |
| ftp_statB | Metadados de um path neste hash cadastrado, sem o conteúdo. |
| ftp_metaB | Só metadados extraídos. Exige access_hash. Por path ou pelo hash do conteúdo. |
| ftp_mkdirC | Cria diretório neste hash cadastrado. |
| ftp_rmA | Remove arquivo ou diretório neste hash. Pasta não vazia exige recursive=true. |
| ftp_mvC | Move/renomeia path dentro do mesmo access_hash. |
| ftp_cpC | Copia arquivo dentro do mesmo access_hash. |
| ftp_verifyC | Recalcula SHA-256 no disco. Exige access_hash. Disco alterado → tampered. |
| ftp_findB | Busca arquivos deste access_hash por path, hash de conteúdo ou metadados. |
| doc_putB | Guarda um blob imutável e devolve o hash SHA-256. Mesmo conteúdo = mesmo hash. |
| doc_getA | Lê um snapshot imutável pelo hash (ou prefixo único). Não segue o ponteiro do documento. |
| doc_createB | Cria um documento editável. O doc_id padrão é o hash do conteúdo inicial — compartilhe esse id. |
| doc_readB | Lê a versão atual de um documento (doc_id) ou um blob (hash). Aceita share_token. |
| doc_infoB | Metadados do documento sem o conteúdo (hash atual, versão, lock, dono). |
| doc_updateB | Atualiza com compare-and-swap. Falha com code=conflict se expected_hash não for o atual. |
| doc_checkoutB | Adquire lock de edição e devolve content + hash + lock_token. Outro agente recebe code=locked. |
| doc_commitA | Grava a edição do checkout. Exige lock_token e expected_hash. Libera o lock salvo keep_lock=true. |
| doc_releaseA | Libera o lock sem gravar (checkout abandonado). |
| doc_shareB | Compartilha para edição. Com to_agent_id concede grant; sem ele gera share_token para outro agente. |
| doc_unshareC | Revoga grant ou share_token. Sem os dois, revoga todos os tokens do documento. |
| doc_claimB | Resgata um share_token e grava grant permanente para este agente. |
| doc_listB | Lista documentos visíveis para este agente. query filtra título, tags, hash e preview. |
| doc_searchC | Busca documentos por título, tags, hash ou trecho do preview. |
| doc_historyC | Cadeia de versões (hash ← parent_hash) com o agente que commitou cada uma. |
| doc_forkC | Cria um documento novo a partir de um doc_id ou de um hash imutável. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_fs | Hashes cadastrados por este agente. put/get exigem um access_hash daqui. |
| resource_docs | Índice dos documentos visíveis. |
TDQS
Scored across 31 tools
Several tools have overlapping functionality, making it unclear which to use. For example, ftp_put and doc_put both store content and return a SHA-256 hash, ftp_get and doc_get both retrieve content by hash, and ftp_stat and ftp_meta both retrieve metadata. This redundancy increases the risk of misselection.
The naming mostly follows a consistent pattern of prefix (ftp_ or doc_) plus a verb (put, get, ls, stat, etc.), with only a few exceptions like ftp_hashes and ftp_register. Overall, the naming is predictable and semantically aligned with the action.
With 31 tools, the server is on the higher end but not excessive. However, the count is inflated by redundant operations (e.g., ftp_stat vs. ftp_meta, ftp_ls vs. doc_list) and a clear split between file management and document management, which could be streamlined without loss of functionality.
The toolset covers CRUD for files and documents, versioning, locking, sharing, and admin functions. However, there is no explicit document deletion tool (doc_delete), and the distinction between immutable blobs and editable documents is not fully addressed (e.g., doc_update exists but no corresponding ftp_update). This leaves minor gaps in lifecycle management.