Skip to main content
Glama
naubergois

FileAgent

by naubergois

FileAgent

FTP für Agenten: ein gemeinsames virtuelles Dateisystem, jede Datei adressiert und verifiziert durch SHA-256, mit extrahierten Metadaten beim Upload.

Agenten im selben FILEAGENT_DATA_DIR (stdio) oder auf demselben HTTP-Server sehen denselben Bestand. Nichts gelangt hinein oder hinaus ohne einen registrierten Hash (ftp_register). Dieser access_hash ist der Kanal; die SHA-256 des Files ist der Integritätsbeweis.

Modell

Konzept

Was es ist

Access-Hash

Registrierte Anmeldedaten mit ftp_register. Ohne ihn schlagen put/get fehl. Jeder Hash ist ein isolierter Kanal.

Pfad

FTP-Pfad (/inbox/nota.md) innerhalb des access_hash.

Blob

Unveränderliche Bytes. Adresse = sha256(bytes). Jede Lektüre berechnet den Hash neu.

Metadaten

Aus dem Inhalt extrahiert: MIME, Kind, Titel, Sprache, Überschriften, CSV-Spalten, JSON-Schlüssel, Bildmaße, PDF-Hinweise.

Dokument

Veränderlicher Zeiger hinter dem Pfad. Dient Checkout/Commit zwischen Agenten.

CAS

expected_hash bei get/put. Manipulierte Datenträger → code=tampered.

agente A                         FileAgent                       agente B
   |-- ftp_register() -----------> |                               |
   |<-- access_hash ---------------|                               |
   |---------------- compartilha access_hash --------------------->|
   |-- ftp_put(/inbox/a.md, hash) >|  sha256 + metadata            |
   |                               |<-- ftp_get(/inbox/a.md, hash)-|

Zwei Agenten mit demselben secret in ftp_register erhalten denselben access_hash.

Related MCP server: MEFS MCP Server

FTP-Werkzeuge

Werkzeug

Verwendung

ftp_register

Registriert den Hash. Ohne dies werden put/get abgelehnt.

ftp_revoke / ftp_hashes

Widerruft oder listet Hashes dieses Agenten.

ftp_put

Sendet. Erfordert access_hash. Schreibt SHA-256 + Metadaten.

ftp_get

Lädt herunter. Erfordert denselben access_hash. Berechnet SHA-256 neu.

ftp_ls

Listet den Kanal dieses Hasses (Inhalt + Metadaten).

ftp_stat / ftp_meta

Nur Metadaten (Pfad oder Hash).

ftp_verify

Integritätsprüfung.

ftp_find

Suche nach Pfad, Hash, Titel, Art, Spalten…

ftp_mkdir / ftp_rm / ftp_mv / ftp_cp

Dateisystemnavigation im FTP-Stil.

doc_* bleibt für kollaboratives Editieren (Sperre + doc_commit) des mit dem Pfad verbundenen Dokuments.

Ressourcen: fileagent://fs, fileagent://docs, fileagent://blob/{hash}.

Extrahierte Metadaten

Bei ftp_put / ftp_stat / ftp_ls:

  • Immer: hash, size, mime, kind, filename, extension

  • Text / Markdown: Titel, Überschriften, Zeilen, Wörter, Sprache (pt/de)

  • JSON: Gültigkeit, Typ, Schlüssel

  • CSV: Spalten und Anzahl der Zeilen

  • PNG / JPEG / GIF: Breite und Höhe

  • PDF: Version, title/author wenn im Header vorhanden

Admin und Passwort

Nur der Administrator registriert access_hash. Das Passwort im Klartext liegt ausschließlich im .venv des Projekts (außerhalb von git):

  • Hash: .venv/fileagent_admin.hash (PBKDF2-SHA256)

  • Passwort: .venv/fileagent_admin.password

uv run fileagent --init-admin          # gera se ainda não existir
uv run fileagent --rotate-admin        # nova senha

Dashboard im Browser: Öffne / und melde dich mit diesem Passwort an, um alle Dateien aller Kanäle zu sehen. Ohne Login wird die Liste nicht angezeigt.

# cadastrar um canal para clientes
curl -sS -X POST http://127.0.0.1:8765/v1/admin/register \
  -H "Content-Type: application/json" \
  -d '{"admin_password":"<senha>","label":"equipe-a"}'

Clients registrieren keinen Hash. Sie verwenden das access_hash, das in POST /v1/files oder ftp_put zurückgegeben wird.

In Betrieb nehmen

uv run fileagent --http --host 0.0.0.0 --port 8765
  • Admin-Panel (Login): http://<host>:8765/

  • MCP: http://<host>:8765/mcp

  • REST: POST/GET /v1/files mit Header X-Access-Hash

  • Gesundheit: GET /healthz

Fähigkeiten

  • fileagent-send — Agenten, die senden

  • fileagent-receive — Agenten, die auflisten/laden

Installation

cd /Users/naubergois/FileAgent
uv sync --extra dev

Cursor (gemeinsamer Speicher zwischen Agenten)

{
  "mcpServers": {
    "fileagent": {
      "command": "uv",
      "args": ["--directory", "/Users/naubergois/FileAgent", "run", "fileagent"],
      "env": {
        "FILEAGENT_DATA_DIR": "/Users/naubergois/.fileagent",
        "FILEAGENT_AGENT_ID": "cursor",
        "FILEAGENT_OPEN_EDIT": "1"
      }
    }
  }
}

Für jeden Agenten: dasselbe FILEAGENT_DATA_DIR, FILEAGENT_AGENT_ID unterschiedlich.

HTTP

uv run fileagent --http --port 8765

Variablen

Variable

Standard

Funktion

FILEAGENT_DATA_DIR

~/.fileagent

SQLite + Blobs. Gleicher Pfad = gleicher FTP.

FILEAGENT_AGENT_ID

user@host

Wer gesendet / bearbeitet hat.

FILEAGENT_OPEN_EDIT

1

Agenten des Speichers bearbeiten shared-Pfade.

FILEAGENT_HOST / PORT

127.0.0.1 / 8765

Modus --http.

private-Pfade – nur der Besitzer (und Grants) sehen sie. agent_id ist Koordination, keine starke Authentifizierung. Die Inhaltsbindlichkeit ist der Hash: Wenn sich die Bytes ändern, schlägt die Lektüre fehl.

Aktuelle Produktion (AWS): https://fileagent.54-204-243-102.sslip.io/ — Panel mit Administrator-Passwort.

Tests

uv run pytest -q
A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides AI agents with a persistent, PostgreSQL-backed virtual filesystem, supporting session-isolated file operations, cross-session shared stores, and glob/grep search.
    11
    45
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides a browsable, mutable SFTP filesystem for AI agents, supporting file operations like listing, uploading, downloading, moving, and deleting.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that gives AI agents file system access: read, write, search, hash, directory trees — 12 tools, zero dependencies, pure Python stdlib.
    MIT

View all related MCP servers

Related MCP Connectors

  • Encrypted A2A object storage for autonomous agent state and artifacts

  • File uploads for AI agents. Upload, list, and manage files. No signup required.

  • Shared long-term memory vault for AI agents with 20 MCP tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/naubergois/FileAgent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server