Skip to content

Connect an AI Agent ​

Fluxify has an MCP server. MCP is a standard way for AI apps and coding agents to use outside tools. Once connected, an agent can read your projects, build routes and workflows, run tests and manage members, all as you.

For agents

Read llms.txt first. It lists every docs page, so you can fetch only the ones you need.

The URL ​

The MCP server lives on your Fluxify address, at /_/admin/mcp:

https://your-domain.com/_/admin/mcp

On a local install that is http://localhost:<port>/_/admin/mcp. Cloud apps such as claude.ai need a public https:// address. See Connecting AI clients.

Add the URL to your client. The first time it connects, your browser opens. Sign in to Fluxify and approve the app. That is all.

Claude Code

bash
claude mcp add --transport http fluxify https://your-domain.com/_/admin/mcp

Claude Desktop and claude.ai

Open Settings → Connectors → Add custom connector and paste the URL.

Cursor (~/.cursor/mcp.json)

json
{
  "mcpServers": {
    "fluxify": { "url": "https://your-domain.com/_/admin/mcp" }
  }
}

Connect with an access token ​

Use a token when the client can't open a browser, such as a script or a CI job.

  1. In Fluxify, open Account → Access tokens and create one. It starts with flx_.
  2. Copy it now. It is shown only once.
  3. Send it as a Bearer header:
bash
claude mcp add --transport http fluxify https://your-domain.com/_/admin/mcp \
  --header "Authorization: Bearer flx_your_token"
json
{
  "mcpServers": {
    "fluxify": {
      "url": "https://your-domain.com/_/admin/mcp",
      "headers": { "Authorization": "Bearer flx_your_token" }
    }
  }
}

Treat the token like a password. Anyone who has it can act as you.

What the agent can do ​

The agent gets your access, no more. In each project it can do what your role there allows:

  • Viewer reads routes, workflows, triggers, custom blocks, middlewares, test suites and logs.
  • Creator also reads app config, integrations, members and packages, changes things and runs tests.
  • Project Admin also manages members, packages and project settings.

If the agent asks for something your role does not allow, it gets an error like "You need the Creator role in this project." Ask a project admin for the role.

Every tool ​

"Real" means the tool does something outside Fluxify's own data: it sends a request, runs your code or reaches the internet.

ToolWhat it doesMinimum role
whoamiWho the agent is signed in as, and your project rolesAny signed-in user
get_instance_infoEdition, licence and versionViewer
get_block_schemasThe built-in blocks and their fieldsViewer
search_docsSearch the Fluxify docs; returns the matching sectionsViewer
read_docOne docs page's list of sections, or one section's textViewer
get_integration_schemaThe fields one integration type needsViewer
list_projectsYour projectsViewer
get_projectOne project's name and descriptionViewer
get_system_logsCompile results and other errors, including failed recorded runsViewer
list_routesA project's routesViewer
get_routeOne route's settings and request schemasViewer
list_workflowsA project's workflowsViewer
get_workflowOne workflow's settingsViewer
list_triggersA project's triggersViewer
get_triggerOne trigger's settingsViewer
list_custom_blocksA project's custom blocksViewer
get_custom_blockOne custom block's inputs and docsViewer
list_middlewaresA project's middlewaresViewer
get_middlewareOne middleware and its blocksViewer
list_test_suitesThe test suites of a route or workflowViewer
get_test_suiteOne test suiteViewer
get_canvasThe blocks and connections of a canvasViewer
list_app_configA project's app config keys (no values)Creator
get_app_configOne app config entry (secrets stay masked)Creator
list_integrationsA project's integrationsCreator
get_integrationOne integration's settingsCreator
list_membersA project's members and rolesCreator
list_packagesA project's npm packagesCreator
get_test_runsA test suite's recent runs and results, with each case's trace idCreator
list_recordingsA route's or workflow's recorded runsCreator
get_recordingOne recorded run, block by blockCreator
save_routeCreate or change a routeCreator
delete_routeDelete a routeCreator
save_workflowCreate or change a workflowCreator
delete_workflowDelete a workflowCreator
save_triggerCreate or change a triggerCreator
delete_triggerDelete a triggerCreator
save_middlewareCreate or change a middlewareCreator
delete_middlewareDelete a middlewareCreator
save_custom_blockCreate or change a custom block's detailsCreator
delete_custom_blockDelete a custom blockCreator
save_app_configCreate or change an app config entryCreator
delete_app_configDelete an app config entryCreator
save_integrationCreate or change an integrationCreator
delete_integrationDelete an integrationCreator
test_integration_connectionCheck an integration connects (real)Creator
get_integration_schema_detailsTables, columns and keys of a database integration (no rows)Creator
kv_getRead one key from a KV integration, with its expiryCreator
edit_canvasAdd, change and connect blocks on a canvasCreator
call_routeSend a request to a route (real)Creator
run_test_suiteRun a test suite (real)Creator
add_memberAdd a user to a projectProject Admin
update_member_roleChange a member's roleProject Admin
remove_memberRemove a memberProject Admin
install_packageInstall npm packages (real)Project Admin
remove_packageUninstall npm packagesProject Admin
update_projectChange a project's name, description or hidden flagProject Admin

Safety ​

Runs are real

call_route and run_test_suite run your code for real. If a route writes to a database, sends an email or calls another API, that happens. Point agents at a test project when you can.

Debug errors

When a route fails, its callers get a short message such as failed to execute native db block, never the database error or a stack trace. call_route also returns the real error: the block that failed, its message, the cause behind it (such as the SQL error), and, for an error in your own code, where in that code it happened. Only a creator calling through the tools gets it; anyone calling the route's URL, whatever headers they send, still gets the short message.

  • You approve every app. An app can't connect until you sign in and say yes in your browser.
  • Your client may ask before each change. Tools that delete or run things are marked as such, so most clients ask you first.
  • Revoke access any time. Open Account → Connected apps to remove an app, or Account → Access tokens to delete a token. It stops working at once.
  • Apps stay signed in for up to 30 days. A connected app gets a short-lived token and renews it by itself. Each renewal hands out a new one and retires the old one. If the app goes unused for 30 days, you sign in again. Removing the app ends all of this at once.

Released under the Apache License 2.0. Enterprise features are under the Fluxify Enterprise Edition License.