Docs
API 2026-05-27.dahlia Dashboard

Build with AI agents

Connect to Fluveo MCP

Use with AI

Add Fluveo MCP to Claude Code, Cursor, Codex, VS Code or any client.

The Fluveo MCP server is not available in production yet.

Before you start#

For OAuth, you need a Dashboard sign-in with the owner, admin or developer role in the store the agent will use. MCP sign-in with OAuth shows the consent page and how to revoke a connection.

For an agent key, you need a restricted test key (rk_test_...) made in the Dashboard for an AI agent. Authentication shows how to make one.

Put the key in FLUVEO_MCP_KEY in the shell that starts your client. read -s takes the key without showing it on screen or saving it in the shell history.

bash
read -rs FLUVEO_MCP_KEY && export FLUVEO_MCP_KEY

Start the client from that same shell. Each file on this page names the variable, never the key, so no file holds a secret and you can commit it with your project.

Claude Code#

Sign in with OAuth#

Add the server with its address only.

The Fluveo MCP server is not available in production yet.

Start Claude Code and run /mcp. Pick fluveo and start its sign-in. Claude Code opens the consent page in your browser. After you click Allow access, the browser returns to Claude Code, and /mcp shows fluveo as connected, with its tools.

Use an agent key#

Add the server to .mcp.json at the root of your project. Claude Code replaces ${FLUVEO_MCP_KEY} with the value of the variable when it starts the server.

The Fluveo MCP server is not available in production yet.

Claude Code asks you to approve a server from a project's .mcp.json before it connects. Inside Claude Code, run /mcp. The list shows fluveo as connected, with its tools. From the shell, claude mcp get fluveo shows the same server.

To use the server for one session only, save the same JSON to any file and pass it with --mcp-config:

bash
claude --mcp-config fluveo.json

Cursor#

Sign in with OAuth#

Add the server to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for every project, with its address and no headers.

The Fluveo MCP server is not available in production yet.

With the Cursor CLI, approve the server once, sign in, then list its tools. login opens the consent page in your browser.

bash
cursor-agent mcp enable fluveo
cursor-agent mcp login fluveo
cursor-agent mcp list-tools fluveo

Use an agent key#

Add the key's header to the same entry. Cursor reads an environment variable as ${env:NAME}.

The Fluveo MCP server is not available in production yet.

With the Cursor CLI, approve the server once, then list its tools:

bash
cursor-agent mcp enable fluveo
cursor-agent mcp list-tools fluveo

Codex#

Sign in with OAuth#

Add the server with its address, then sign in. codex mcp login opens the consent page in your browser. On a machine without a browser, add --no-browser: Codex prints the address to open, and then takes the address your browser lands on after you click Allow access.

The Fluveo MCP server is not available in production yet.

Use an agent key#

Add the server to ~/.codex/config.toml. Codex takes the name of the variable in bearer_token_env_var and sends its value as the Bearer token.

The Fluveo MCP server is not available in production yet.

Either way, show the server Codex loaded:

bash
codex mcp get fluveo

VS Code#

VS Code's Copilot agent reads MCP servers from .mcp.json at the root of the workspace, or from ~/.copilot/mcp-config.json for every workspace. Both files take the same shape as Claude Code's, so one .mcp.json serves both clients.

Sign in with OAuth#

Add the server with its address and no headers.

The Fluveo MCP server is not available in production yet.

Open the Command Palette and run MCP: List Servers. When VS Code asks you to sign in to fluveo, accept, and it opens the consent page in your browser. If it does not ask, pick Authenticate in the server's actions.

Use an agent key#

Add the key's header to the same entry. VS Code reads an environment variable as ${NAME}, in braces.

The Fluveo MCP server is not available in production yet.

Start VS Code from the shell that holds the key, for example with code ., so the variable reaches it. Then open the Command Palette and run MCP: List Servers. The list shows fluveo.

Other clients#

The Fluveo MCP server is not available in production yet.

Check the connection#

Ask the agent to call get_account_info. It answers the store the key belongs to, or the store you picked on the consent page. account_id starts with mch_, and livemode is false, because the server works in test mode only.

get_account_info (first fields)
{
  "account_id": "mch_...",
  "livemode": false,
  "permissions": { "account": "read" }
}

When get_account_info is not in the agent's tools, the key or the connection has no Read permission on Account. Tools lists every tool and the permission it needs.

When it does not connect#

The server answers a refused request with an HTTP status, and a 401 also carries a JSON body with a code.

AnswerWhyWhat to do
401 api_key_requiredThe request carried no key or token. With an agent key, FLUVEO_MCP_KEY was empty in the shell that started the client. With OAuth, the client has not signed in yet.Export the key in that shell and start the client again, or start the client's sign-in.
401 invalid_tokenThe OAuth access token expired, or the connection was revoked or ended.Start the client's sign-in again, such as /mcp in Claude Code.
401 agent_key_requiredThe key is a secret, publishable or live key, or a restricted test key made without This key is for an AI agent.Use a restricted test key (rk_test_...) made for an AI agent, or sign in with OAuth.
401 api_key_invalidNo store has this key.Copy the key again from the Dashboard, or make a new one.
401 api_key_expiredThe key expired or was revoked.Make a new agent key in the Dashboard.
403The request came with a browser Origin the server does not allow.Connect from a client that runs outside the browser.
406The Accept header leaves out application/json.Send Accept: application/json, or no Accept header.

Security explains what the server refuses and why.

Next#