FileAgent
FileAgent
用于代理的 FTP:一个共享的虚拟文件系统,每个文件通过 SHA-256 寻址和验证,并在上传时提取元数据。
位于同一 FILEAGENT_DATA_DIR(stdio)或同一 HTTP 服务器上的代理看到相同的文件库。没有注册的哈希(ftp_register)就无法进出。 这个 access_hash 是通道;文件的 SHA-256 是完整性证明。
模型
概念 | 是什么 |
访问哈希 | 通过 |
路径 |
|
Blob | 不可变的字节。地址 = |
元数据 | 从内容中提取:MIME 类型、kind、标题、语言、标题结构、CSV 列、JSON 键、图像尺寸、PDF 提示。 |
文档 | 路径后面的可变指针。用于代理之间的 checkout/commit。 |
CAS | get/put 中的 |
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 工具
工具 | 用途 |
| 注册哈希。没有它,put/get 会被拒绝。 |
| 撤销或列出此代理的哈希。 |
| 发送。需要 |
| 下载。需要相同的 |
| 列出此哈希的通道(内容 + 元数据)。 |
| 仅元数据(路径或哈希)。 |
| 完整性审计。 |
| 按路径、哈希、标题、kind、列等搜索。 |
| 类似 FTP 的导航。 |
doc_* 仍然用于协作编辑(锁 + doc_commit)路径关联的文档。
资源:fileagent://fs、fileagent://docs、fileagent://blob/{hash}。
提取的元数据
在 ftp_put / ftp_stat / ftp_ls 中:
始终:
hash、size、mime、kind、filename、extension文本 / Markdown: 标题、标题结构、行数、字数、语言(
pt/en)JSON: 有效性、类型、键
CSV: 列数和行数
PNG / JPEG / GIF: 宽度和高度
PDF: 版本、title/author(如果存在)
管理员和密码
只有管理员才能注册 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"}'客户端不注册哈希。他们使用 POST /v1/files 或 ftp_put 返回的 access_hash。
上线
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 + blob。相同路径 = 相同 FTP。 |
|
| 谁发送 / 编辑。 |
|
| 存储中的代理编辑 |
|
|
|
private 路径只有所有者(和授权者)可见。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