agentleFS

Documentation

Connect your harness

Quick setup

Choose your client, then follow the steps below. The plugin is selected where available.

  1. 1Install inside claude:
    /plugin marketplace add agentleFS/plugins
    /plugin install agentlefs@agentlefs
  2. 2Closing the plugin menu reloads. Installed from a shell instead? Type /reload-plugins. Below v2.1.268, restart Claude Code — reload does not connect plugin MCP servers there.
  3. 3Run /agentlefs:connect, sign in and choose your organization.

The plugin also brings /agentlefs:seed, /agentlefs:permissions, /agentlefs:share and /agentlefs:who-can-see.

Stuck? Write to us with what you tried, and a person will answer. contact@agentlefs.com

Troubleshooting and headless setup

Agent-readable setup: /connect.md

Connected, but the wrong account or Organization

A working connection can still be the wrong one — a different Organization under the same email, or a different email entirely. There is no error; the store just looks almost empty.

Organization (same email). Clear the client's stored authentication and authenticate again. On the consent page, pick the Organization from the dropdown.

Email. Clear the client's authentication and authenticate again. On the consent page click Use another account, sign in as the intended email, then Allow.

ClientStepsStatus
Claude Code/mcp → agentlefs → Clear authentication → AuthenticateVerified
Claude Desktop / Claude (web)Disconnect the connector, then reconnectUnverified
Codex CLIRe-run codex mcp login agentlefs (or remove the server and re-add)Unverified
Codex appSettings → MCP servers → remove, then Add server / AuthenticateUnverified
Gemini CLI/mcp auth agentlefs again; on consent, Use another account if the wrong email is shownUnverified
ChatGPT (custom MCP)Remove the plugin, add the server with OAuth againUnverified
CursorMCP settings → clear auth → re-authenticateUnverified

For an email switch, use Use another account on consent after the client's clear/re-auth step. Afterwards, only a successful tool call proves the new principal — ask the agent to run browse with action: "folders".

Agent tokens — for agents, not people

A afs_… token exists for one reason: code that has no browser to redirect. Reach for it when the caller is an agent your application runs — an in-app assistant serving your users, a scheduled summarizer, a retrieval step inside your own product — plus the adjacent headless cases, CI jobs, scripts, and API callers such as the xAI and OpenAI remote MCP tools.

If a human is at the keyboard, you want browser sign-in above instead. A token is a long-lived secret you have to store and rotate; sign-in isn't.

Give each agent its own principal. In Permissions, create a principal for the agent, grant it only the roles that agent needs, then mint its token. Per-agent identity is what makes the audit trail attributable and lets you revoke one agent without touching the others. The token is shown once — treat it like a password.
Remote HTTP (Streamable HTTP) — afs_ header

POST to /mcp — one endpoint, the whole toolset. The token goes in a bearer header:

POST https://mcp.agentlefs.com/mcp
Authorization: Bearer afs_your_token_here
Content-Type: application/json
{
  "mcpServers": {
    "agentlefs": {
      "url": "https://mcp.agentlefs.com/mcp",
      "headers": {
        "Authorization": "Bearer afs_your_token_here"
      }
    }
  }
}
Every call is authorized and audited. Reads are filtered by the caller's grants — on the file, or on a folder above it — before results leave the server.