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/mcpPick one of two auth styles per client:
- OAuth (zero config) — the client gets a
401on 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/healthExpect "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
No bearer token reached the server and the client did not run the OAuth flow. The 401 body
includes a WWW-Authenticate header pointing at
/.well-known/oauth-protected-resource/mcp — clients that support MCP OAuth should recover
automatically. Otherwise add the Authorization header shown above, and mind that headers
apply on initialize (the token binds to the session).
Sessions idle for more than 12 hours are evicted server-side. Spec-compliant clients
re-initialize transparently on 404; if yours does not, restart or reconnect the server entry.
Loopback URLs and IDE custom schemes such as cursor:// and vscode:// are always accepted.
Any other public HTTPS redirect URI must first be registered via POST /register (open dynamic
client registration) — most hosts do this automatically during discovery. PKCE is mandatory:
requests without a code_challenge are refused.
finance_* and inventory_* tools are gated on the store having that integration active. The
payload names the fix: call integrations_subscribe for the store (see the
tools reference).
The full surface is 138 tools (~360 KiB of schema). If your client struggles, steer the agent
toward tools_search — the built-in retrieval tool that returns the top-k relevant tools for a
task instead of the whole catalog.
MCP server
The hosted Feeef MCP server at mcp.feeef.org — let AI agents manage stores, products, orders, delivery, landing pages and finance over the Model Context Protocol.
Tools reference
All 138 tools of the Feeef MCP server, namespace by namespace — plus the tools_search discovery gateway and the server:// resources.