FileAgent
FileAgent
FTP para agentes: un filesystem virtual compartido, cada archivo direccionado y verificado por SHA-256, con metadatos extraídos en la subida.
Los agentes en el mismo FILEAGENT_DATA_DIR (stdio) o en el mismo servidor HTTP ven el mismo acervo. Nada entra o sale sin un hash registrado (ftp_register). Ese access_hash es el canal; el SHA-256 del archivo es la prueba de integridad.
Modelo
Concepto | Qué es |
Access hash | Credencial registrada con |
Path | Ruta FTP ( |
Blob | Bytes inmutables. Dirección = |
Metadatos | Extraídos del contenido: mime, kind, título, idioma, headings, columnas CSV, claves JSON, dimensiones de imagen, hints de PDF. |
Documento | Puntero mutable detrás del path. Sirve checkout/commit entre agentes. |
CAS |
|
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)-|Dos agentes con el mismo secret en ftp_register obtienen el mismo access_hash.
Related MCP server: MEFS MCP Server
Herramientas FTP
Tool | Uso |
| Registra el hash. Sin esto, put/get son rechazados. |
| Revoca o lista hashes de este agente. |
| Envía. Exige |
| Descarga. Exige el mismo |
| Lista el canal de este hash (contenido + metadatos). |
| Solo metadatos (path o hash). |
| Auditoría de integridad. |
| Búsqueda por path, hash, título, kind, columnas… |
| Navegación estilo FTP. |
doc_* continúa para edición colaborativa (lock + doc_commit) del documento ligado al path.
Recursos: fileagent://fs, fileagent://docs, fileagent://blob/{hash}.
Metadatos extraídos
En ftp_put / ftp_stat / ftp_ls:
siempre:
hash,size,mime,kind,filename,extensiontexto / markdown: título, headings, líneas, palabras, idioma (
pt/en)JSON: validez, tipo, claves
CSV: columnas y número de líneas
PNG / JPEG / GIF: ancho y alto
PDF: versión, title/author si están presentes en el header
Admin y contraseña
Solo el admin registra access_hash. La contraseña en texto queda solo en el .venv del proyecto (fuera del git):
hash:
.venv/fileagent_admin.hash(PBKDF2-SHA256)contraseña:
.venv/fileagent_admin.password
uv run fileagent --init-admin # gera se ainda não existir
uv run fileagent --rotate-admin # nova senhaPanel en el navegador: abre / y entra con esa contraseña para ver todos los archivos de todos los canales. Sin login, la lista no aparece.
# 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"}'Los clientes no registran hash. Usan el access_hash devuelto en POST /v1/files o ftp_put.
Subir en el aire
uv run fileagent --http --host 0.0.0.0 --port 8765Panel admin (login):
http://<host>:8765/MCP:
http://<host>:8765/mcpREST:
POST/GET /v1/filescon headerX-Access-HashSalud:
GET /healthz
Skills
fileagent-send— agentes que envíanfileagent-receive— agentes que listan/descargan
Instalación
cd /Users/naubergois/FileAgent
uv sync --extra devCursor (mismo store entre agentes)
{
"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"
}
}
}
}Cada agente: mismo FILEAGENT_DATA_DIR, FILEAGENT_AGENT_ID distinto.
HTTP
uv run fileagent --http --port 8765Variables
Variable | Default | Función |
|
| SQLite + blobs. Mismo path = mismo FTP. |
|
| Quién envió / editó. |
|
| Agentes del store editan paths |
|
| Modo |
Los paths private solo el dueño (y grants) los ven. agent_id es coordinación, no autenticación fuerte. La seguridad del contenido es el hash: si los bytes cambian, la lectura falla.
Producción actual (AWS): https://fileagent.54-204-243-102.sslip.io/ — panel con contraseña de admin.
Pruebas
uv run pytest -qThis server cannot be installed
Maintenance
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
- AlicenseAqualityDmaintenanceAn 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.11453MIT

MEFS MCP Serverofficial
AlicenseAqualityDmaintenanceProvides decentralized storage for AI agents, enabling them to save generated content to MEFS and retrieve data via content identifiers.2151MIT- AlicenseNot gradedqualityBmaintenanceProvides a browsable, mutable SFTP filesystem for AI agents, supporting file operations like listing, uploading, downloading, moving, and deleting.MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI agents file system access: read, write, search, hash, directory trees — 12 tools, zero dependencies, pure Python stdlib.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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