.dev
MCP server

Connect a client

Add the Feeef MCP server to Cursor, Claude Code, Claude Desktop or VS Code — with browser OAuth or a bearer-token header.

Every client points at the same endpoint:

https://mcp.feeef.org/mcp

Pick one of two auth styles per client:

  • OAuth (zero config) — the client gets a 401 on first contact, discovers the OAuth metadata, opens your browser to the Feeef sign-in and stores the token itself. Best when the client supports the MCP authorization spec (Cursor, Claude, VS Code all do).
  • Bearer header — you paste a Feeef API token into the client config. Best for scripts, CI, or when you want a token with narrower scopes than the * scope the OAuth bridge requests.

Client setup

Add the server to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json in a project. With no headers configured, Cursor runs the browser OAuth flow automatically — the server accepts Cursor's cursor:// redirect out of the box:

{
  "mcpServers": {
    "feeef": {
      "url": "https://mcp.feeef.org/mcp"
    }
  }
}

To pin a token instead (skips the browser flow):

{
  "mcpServers": {
    "feeef": {
      "url": "https://mcp.feeef.org/mcp",
      "headers": {
        "Authorization": "Bearer oat_your_token_here"
      }
    }
  }
}

Enable the server under Settings → MCP, then use any agent chat.

Getting a token for bearer mode

Any valid Feeef API bearer token works. For personal use, the first-party sign-in endpoint is the fastest — the token.token field of the response is the bearer value:

curl -X POST https://api.feeef.org/v1/users/auth/signin \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "your-password"}'

First-party tokens carry full * abilities. For distributed or least-privilege setups, mint a token through your own OAuth app so it carries only consented scopes — the same pattern the CLI uses.

Verify it works

Check the server is reachable. No auth required:

curl -H "Accept: application/json" https://mcp.feeef.org/health

Expect "ok": true with feeefBaseUrl pointing at https://api.feeef.org/v1.

Ask the agent for your identity. In your client's chat, prompt:

Call auth_me and tell me which Feeef account I am signed in as.

A correct setup returns your user profile. Agents are instructed to call auth_me first and reuse the returned id as user_id for store listing.

List your stores. Prompt "list my stores" — the agent should chain auth_me into stores_list and answer with your store names and their publicUrl links. You can also read the server://info and server://scope resources from any client that surfaces MCP resources.

Troubleshooting

On this page