Skip to main content
Glama
naubergois

FileAgent

by naubergois

FileAgent

에이전트용 FTP: 공유 가상 파일시스템, 각 파일은 SHA-256으로 주소 지정 및 검증되며, 업로드 시 메타데이터가 추출됩니다.

동일한 FILEAGENT_DATA_DIR(stdio) 또는 동일한 HTTP 서버를 사용하는 에이전트는 동일한 저장소를 봅니다. 해시(ftp_register)가 등록되지 않으면 어떤 것도 들어오거나 나갈 수 없습니다.access_hash가 채널이며, 파일의 SHA-256이 무결성 증명입니다.

모델

개념

설명

Access hash

ftp_register로 등록된 자격 증명. 이것 없이는 put/get이 실패합니다. 각 해시는 격리된 채널입니다.

Path

access_hash 내부의 FTP 경로(/inbox/nota.md).

Blob

불변 바이트. 주소 = sha256(bytes). 모든 읽기는 해시를 재계산합니다.

Metadados

콘텐츠에서 추출됨: mime, kind, 제목, 언어, headings, CSV 열, 이미지 크기, PDF 힌트.

Documento

경로 뒤의 변경 가능한 포인터. 에이전트 간 checkout/commit에 사용됩니다.

CAS

get/put의 expected_hash. 디스크가 변조되면 → 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)-|

ftp_register에서 동일한 secret을 사용하는 두 에이전트는 동일한 access_hash를 얻습니다.

Related MCP server: MEFS MCP Server

FTP 도구

도구

용도

ftp_register

해시를 등록합니다. 이것 없이는 put/get이 거부됩니다.

ftp_revoke / ftp_hashes

이 에이전트의 해시를 취소하거나 나열합니다.

ftp_put

전송합니다. access_hash가 필요합니다. SHA-256 + 메타데이터를 기록합니다.

ftp_get

다운로드합니다. 동일한 access_hash가 필요합니다. SHA-256을 재계산합니다.

ftp_ls

이 해시의 채널을 나열합니다(콘텐츠 + 메타데이터).

ftp_stat / ftp_meta

메타데이터만(경로 또는 해시).

ftp_verify

무결성 감사.

ftp_find

경로, 해시, 제목, kind, 열 등으로 검색합니다.

ftp_mkdir / ftp_rm / ftp_mv / ftp_cp

FTP 스타일 탐색.

doc_*는 경로에 연결된 문서의 공동 편집(lock + doc_commit)을 계속합니다.

리소스: fileagent://fs, fileagent://docs, fileagent://blob/{hash}.

추출된 메타데이터

ftp_put / ftp_stat / ftp_ls에서:

  • 항상: hash, size, mime, kind, filename, extension

  • 텍스트 / 마크다운: 제목, headings, 줄 수, 단어 수, 언어(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/mcp

  • REST: X-Access-Hash 헤더와 함께 POST/GET /v1/files

  • 상태: GET /healthz

스킬

  • fileagent-send — 전송하는 에이전트

  • fileagent-receive — 나열/다운로드하는 에이전트

설치

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

Cursor(에이전트 간 동일한 저장소)

{
  "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

변수

변수

기본값

기능

FILEAGENT_DATA_DIR

~/.fileagent

SQLite + blobs. 동일한 경로 = 동일한 FTP.

FILEAGENT_AGENT_ID

user@host

누가 전송/편집했는지.

FILEAGENT_OPEN_EDIT

1

저장소 에이전트가 shared 경로를 편집합니다.

FILEAGENT_HOST / PORT

127.0.0.1 / 8765

--http 모드.

private 경로는 소유자(및 권한이 부여된 사람)만 볼 수 있습니다. agent_id는 조정을 위한 것이지 강력한 인증이 아닙니다. 콘텐츠 보안은 해시입니다: 바이트가 변경되면 읽기가 실패합니다.

프로덕션(AWS): https://fileagent.54-204-243-102.sslip.io/ — 관리자 비밀번호가 있는 패널.

테스트

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