Skip to main content
AMFS is fully managed — no infrastructure to deploy. Your agents connect through the HTTP API using an API key. Everything is authenticated, scoped, and audited.

Get Your Credentials

  1. Go to the AMFS Dashboard → Agents page
  2. The MCP Connection Card shows your Server URL and API Key
  3. Copy the ready-made JSON snippet — paste it into your IDE config
Need more keys? Go to Settings → API Keys to create scoped keys per agent or service.

Connect Your IDE

Cursor

Add to .cursor/mcp.json:
{
  "mcpServers": {
    "amfs": {
      "command": "uvx",
      "args": ["amfs-mcp-server"],
      "env": {
        "AMFS_HTTP_URL": "https://amfs-login.sense-lab.ai",
        "AMFS_API_KEY": "<your-api-key>"
      }
    }
  }
}

Claude Code

Add to ~/.claude/claude_desktop_config.json:
{
  "mcpServers": {
    "amfs": {
      "command": "uvx",
      "args": ["amfs-mcp-server"],
      "env": {
        "AMFS_HTTP_URL": "https://amfs-login.sense-lab.ai",
        "AMFS_API_KEY": "<your-api-key>"
      }
    }
  }
}

Any MCP Client

Set AMFS_HTTP_URL and AMFS_API_KEY as environment variables on the uvx amfs-mcp-server process. That’s it.
To avoid committing keys to git, use Cursor’s env interpolation: "AMFS_API_KEY": "${env:AMFS_API_KEY}" and set the variable in your shell profile.

Connect via SDK

Set the env vars once — both SDKs pick them up automatically:
export AMFS_HTTP_URL="https://amfs-login.sense-lab.ai"
export AMFS_API_KEY="<your-api-key>"

Python

pip install amfs
from amfs import AgentMemory

mem = AgentMemory(agent_id="my-agent")
mem.write("checkout-service", "retry-pattern", {"max_retries": 3})

TypeScript

npm install @amfs/sdk
import { AgentMemory } from "@amfs/sdk";

const mem = new AgentMemory({ agentId: "my-agent" });
await mem.write("checkout-service", "retry-pattern", { maxRetries: 3 });

Connect via REST API

curl -X POST https://amfs-login.sense-lab.ai/api/v1/entries \
  -H "Content-Type: application/json" \
  -H "X-AMFS-API-Key: <your-api-key>" \
  -d '{"entity_path": "checkout-service", "key": "retry-pattern", "value": {"max_retries": 3}}'
See the API Reference for the full endpoint list.

Security

Account isolation — Postgres Row-Level Security ensures tenants can’t see each other’s data, even if there’s an application bug. Scoped keys — Restrict keys to specific entity paths and permissions:
amfs_sk_live_abc123  →  checkout-service/**  [READ_WRITE]
                        shared/patterns/*     [READ]
Audit logging — Every state-changing operation is recorded. View in Dashboard → Audit Log.
Never hardcode API keys in files committed to git. Use environment variables or a secrets manager.

Troubleshooting

ProblemFix
401 UnauthorizedCheck your API key in Dashboard → Settings → API Keys
403 Scope DeniedKey doesn’t have permission for that entity path — check scopes
uvx: command not foundInstall uv: curl -LsSf https://astral.sh/uv/install.sh | sh