FileAgent
FileAgent
FTP для агентов: общая виртуальная файловая система, каждый файл адресуется и проверяется по SHA-256, с извлечёнными метаданными при загрузке.
Агенты в одном FILEAGENT_DATA_DIR (stdio) или на одном HTTP-сервере видят один и тот же набор файлов. Ничего не входит и не выходит без зарегистрированного хэша (ftp_register). Этот access_hash — канал; SHA-256 файла — доказательство целостности.
Модель
Понятие | Описание |
Хэш доступа | Учётные данные, зарегистрированные с помощью |
Путь | FTP-путь ( |
Blob | Неизменяемые байты. Адрес = |
Метаданные | Извлекаются из содержимого: mime, kind, заголовок, язык, headings, колонки CSV, ключи JSON, размеры изображения, подсказки PDF. |
Документ | Изменяемый указатель за path. Служит для checkout/commit между агентами. |
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)-|Два агента с одним и тем же secret в ftp_register получают один и тот же access_hash.
Related MCP server: MEFS MCP Server
Инструменты FTP
Tool | Назначение |
| Регистрирует хэш. Без этого put/get отклоняются. |
| Отзывает или перечисляет хэши этого агента. |
| Отправляет. Требует |
| Скачивает. Требует тот же |
| Перечисляет канал этого хэша (содержимое + метаданные). |
| Только метаданные (path или hash). |
| Аудит целостности. |
| Поиск по path, hash, заголовку, kind, колонкам… |
| Навигация в стиле FTP. |
doc_* продолжает использоваться для совместного редактирования (lock + doc_commit) документа, связанного с path.
Ресурсы: fileagent://fs, fileagent://docs, fileagent://blob/{hash}.
Извлечённые метаданные
В ftp_put / ftp_stat / ftp_ls:
всегда:
hash,size,mime,kind,filename,extensionтекст / markdown: заголовок, headings, строки, слова, язык (
pt/en)JSON: валидность, тип, ключи
CSV: колонки и количество строк
PNG / JPEG / GIF: ширина и высота
PDF: версия, title/author, если присутствуют в header
Администратор и пароль
Только администратор регистрирует access_hash. Пароль в открытом виде хранится только в .venv проекта (вне git):
хэш:
.venv/fileagent_admin.hash(PBKDF2-SHA256)пароль:
.venv/fileagent_admin.password
uv run fileagent --init-admin # gera se ainda não existir
uv run fileagent --rotate-admin # nova senhaПанель в браузере: откройте / и войдите с этим паролем, чтобы увидеть все файлы всех каналов. Без входа список не отображается.
# 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"}'Клиенты не регистрируют хэш. Используют access_hash, возвращённый в POST /v1/files или ftp_put.
Развёртывание
uv run fileagent --http --host 0.0.0.0 --port 8765Панель администратора (вход):
http://<host>:8765/MCP:
http://<host>:8765/mcpREST:
POST/GET /v1/filesс заголовкомX-Access-HashЗдоровье:
GET /healthz
Навыки
fileagent-send— агенты, которые отправляютfileagent-receive— агенты, которые перечисляют/скачивают
Установка
cd /Users/naubergois/FileAgent
uv sync --extra devCursor (общее хранилище между агентами)
{
"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"
}
}
}
}Каждый агент: одинаковый FILEAGENT_DATA_DIR, отдельный FILEAGENT_AGENT_ID.
HTTP
uv run fileagent --http --port 8765Переменные
Переменная | По умолчанию | Назначение |
|
| SQLite + blobs. Одинаковый path = одинаковый FTP. |
|
| Кто отправил / редактировал. |
|
| Агенты хранилища редактируют paths |
|
| Режим |
Пути private видит только владелец (и grants). agent_id — это координация, а не строгая аутентификация. Безопасность содержимого — это хэш: если байты изменятся, чтение не удастся.
Текущий продакшн (AWS): https://fileagent.54-204-243-102.sslip.io/ — панель с паролем администратора.
Тесты
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