On this page
Connecting MCP
From an access token to a working agent: one command for Claude Code, a config file for everything else.
The MCP server is an HTTP endpoint authenticated with a Bearer token. Through it an agent
reads and changes nodes directly, without leaving its workflow: tools like create_node,
get_node and rag_query show up in its tool list.
The server address is the same for everyone: https://mcp.flow.shipoora.ru/mcp.
Step 1. Get a token
- Sign in to the web app.
- Open Settings → MCP and click Generate access token, giving it a name — say,
my-laptop. The name is what lets you revoke this one token later instead of all of them. - Copy the token immediately. It looks like
aiflow_pat_...and is shown once — only its hash is stored on the server, so there is nothing to show again.
The same page carries ready-made configs with the token already filled in, each with a copy button.
Step 2. Connect a client
Everything at once — the npm package
npx @flownix/cli mcp --token aiflow_pat_...The package verifies the token against the server before writing any config: a client
configured with a bad token costs half an hour of searching for nothing. With no arguments
(npx @flownix/cli) it also installs the skills and the reporter hook
described further down this page.
It writes config only for the clients whose format is documented here — Claude Code and Cursor; for the rest it prints a ready snippet to paste.
Claude Code — one command
claude mcp add --transport http flownix https://mcp.flow.shipoora.ru/mcp \
--header "Authorization: Bearer aiflow_pat_..." \
--scope user--scope user makes the server available in all of your projects. The alternatives are
local (the default, current directory only) and project — don't use that one with a
token: project writes to .mcp.json, a file meant to be committed, and your token
rides along into the repository.
Verify — the server should answer:
claude mcp listIn a session the tools appear as mcp__flownix__create_node, mcp__flownix__rag_query
and so on. The prefix is whatever name you registered the server under (flownix above).
The server never checks its own name, so one connected under the old ai-flow key keeps
working — renaming it is optional.
Claude Code — by config
If you edit the config by hand, the fragment looks like this:
{
"mcpServers": {
"flownix": {
"url": "https://mcp.flow.shipoora.ru/mcp",
"headers": { "Authorization": "Bearer aiflow_pat_..." }
}
}
}Cursor
Same shape; the file is ~/.cursor/mcp.json for every project, or .cursor/mcp.json
inside one:
{
"mcpServers": {
"flownix": {
"url": "https://mcp.flow.shipoora.ru/mcp",
"headers": { "Authorization": "Bearer aiflow_pat_..." }
}
}
}Any other client
The transport is Streamable HTTP and authentication is the Authorization: Bearer <token>
header. Nothing in the protocol is client-specific.
Step 3. Confirm the server answers
When the client stays silent and it isn't clear whose problem it is, ask the server directly:
curl -X POST https://mcp.flow.shipoora.ru/mcp \
-H "Authorization: Bearer aiflow_pat_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-11-25",
"capabilities":{},"clientInfo":{"name":"my-agent","version":"1.0"}}}'A response carrying result.serverInfo means the token was accepted and the server works —
what's left to debug is the client config. A 401 means the token is wrong or revoked.
What's next
A connected server is access, nothing more. For the agent to work by the rules rather than improvise, it needs skills: installing skills. After that — your first project.
Token reporter
The agent presence panel shows who is working on what. How many tokens were spent is known only to the client — the MCP server cannot see it by design — so a separate script reports it. The script is optional: without it presence works in full, one field stays empty, and the panel states why it is empty instead of drawing a zero.
npx @flownix/cli hook install --token <your-token>curl -fsSL https://flow.shipoora.ru/flownix-reporter.sh | bash -s -- install <your-token>The installer places the script in ~/.claude (or the directory from CLAUDE_CONFIG_DIR),
registers it as Stop and SessionEnd hooks in settings.json, and keeps a copy of your
previous settings next to it. It leaves the status line alone: if another plugin configured
one, it keeps working.
npx @flownix/cli hook check