powered by

MCP server tools reference

Every tool the Anythink MCP server gives Claude and other AI assistants, hosted and local, with arguments, sample calls and results.

Last updated

The Anythink MCP server runs in two places, and their tools overlap:

  • The hosted connector at https://mcp.anythink.cloud/mcp has a tool for every project command (78 of them), such as entities_list, data_create and workflows_trigger, plus projects_list and project_details.
  • The local server, anythink-mcp, has the same command tools, plus 15 tools for sign-in, saved profiles, billing accounts and projects, and the general-purpose cli tool, which runs any Anythink CLI command.

Every tool carries a title and is labelled read-only, write or destructive, so a client can ask before it changes or deletes anything.

Argument names are shown as an MCP client sends them. A ? marks an optional argument. Results are the text the tool returns to the assistant. To install the server and register it with your client, see Connect Claude to your backend with MCP. For how it relates to the AI panel in the Anythink dashboard, see How AI chat and MCP work.

Group Tools
Sign-in signup, login, login_google, login_direct, logout
Local profiles config_show, config_use, config_remove
Billing accounts accounts_list, accounts_create, accounts_use
Projects projects_list, projects_create, projects_use, projects_delete
Project commands One tool per command, listed below. Hosted and local.
Run any command cli. Local only.

Sign-in

These tools set up the local sign-in that the other tools use. Signing in with the CLI instead keeps your password out of the conversation. See Connect Claude to your backend with MCP.

signup

Registers a new Anythink account. It doesn't create a billing account or a project. If a confirmation email is sent, confirm it before you call login.

Argument Required Notes
firstName Yes
lastName Yes
email Yes Becomes your sign-in and must be unique.
password Yes
referralCode No If another customer invited you.
text
signup {"firstName":"Sam","lastName":"Rivera","email":"sam@example.com","password":"<password>"}
text
Account created. If a confirmation email was sent, the user must click the link in it before 'login' works — then call 'login' to sign in.

login

Signs in with an email and password and saves the session locally. The password passes through the conversation, so prefer anythink login in a terminal or login_google.

Argument Required Notes
email Yes
password Yes
text
Logged in successfully. Use 'accounts_list' and 'projects_use' to connect to a project.

login_google

Opens your browser to sign in with Google, then waits for you to approve it. It takes no arguments. It needs a browser on the machine that runs the server, so it works only with a local server.

text
Signed in with Google. Next: call 'accounts_list' to choose a billing account (then 'accounts_use'), …

login_direct

Saves credentials for one project without a billing account sign-in. It needs an API key or a token.

Argument Required Notes
orgId Yes The project's org id.
profile No The saved profile's name. Defaults to the org id.
apiKey One of apiKey or token A project API key. See API keys.
token One of apiKey or token An access token.
baseUrl No Overrides the API address. Defaults to https://<orgId>.api.anythink.cloud.
text
login_direct {"orgId":"12345678","profile":"my-project","apiKey":"<api-key>"}
text
Profile 'my-project' saved and set as active.

A key holds only the permissions you gave it, so it's the safest way to limit what an assistant can do. To keep a key out of the conversation, run anythink login --org-id <org-id> --api-key <api-key> yourself instead.

logout

Removes a saved profile from your local config, defaulting to the active one. It doesn't revoke the token and doesn't touch the project.

Argument Required Notes
profile No Defaults to the active profile.
text
logout {"profile":"my-project"}
text
Profile 'my-project' removed.

Local profiles

A profile is a saved connection to one project. The cli tool runs against the active profile. These tools read and change your local config only. They make no network calls.

config_show

Lists your saved profiles and platform sign-ins, and which of each is active. It takes no arguments.

text
config_show {}
json
{
  "ActiveProfile": "my-project",
  "ActivePlatform": "default",
  "Profiles": [
    { "Name": "my-project", "IsActive": true, "OrgId": "12345678", "Auth": "api-key", "Alias": null, "PlatformKey": "default" }
  ],
  "Platforms": [
    { "Key": "default", "IsActive": true, "AccountId": "…", "LoggedIn": true }
  ]
}

Each profile shows its name, org id, auth method (api-key or token), alias and platform. Each platform also shows its URLs.

config_use

Makes a saved profile the active one.

Argument Required Notes
profile Yes An existing profile's name.
text
config_use {"profile":"my-project"}
text
Active profile set to 'my-project'.

config_remove

Deletes a saved profile from your local config. It doesn't delete the project or revoke the token.

Argument Required Notes
profile Yes An existing profile's name.
text
Profile 'my-project' removed.

Billing accounts

A billing account holds your projects and payment details. The project tools work against the active billing account. They need a platform sign-in from login or login_google.

accounts_list

Lists your billing accounts with their id, name, billing email, currency and status, and flags the active one. It takes no arguments.

json
[
  { "Id": "3f6c1e2a-…", "Name": "Acme Inc", "Email": "billing@acme.example", "Currency": "gbp", "Status": "Active", "IsActive": true }
]

accounts_create

Creates a billing account and makes it active. Most people need only one, so check accounts_list first.

Argument Required Notes
name Yes Shown on invoices.
email Yes Receives invoices and receipts.
currency No gbp, usd or eur. Defaults to gbp. You can't change it later.
json
{ "Id": "3f6c1e2a-…", "Name": "Acme Inc", "Message": "Account created and set as active." }

accounts_use

Makes a billing account active.

Argument Required Notes
id Yes The full id or a unique prefix.
text
accounts_use {"id":"3f6c"}
text
Active account set to 'Acme Inc' (3f6c1e2a-…).

Projects

projects_list

Lists the projects in a billing account with their id, name, description, region, org id, status and API address.

Argument Required Notes
accountId No Defaults to the active billing account.
json
[
  { "Id": "9b1d…", "Name": "my-project", "Region": "lon1", "OrgId": 12345678, "Status": "Active", "ApiUrl": "https://12345678.api.anythink.cloud" }
]

Status is one of Initializing, Provisioning, Active, Suspended, Terminated or Error.

projects_create

Creates a project. Provisioning runs in the background, so call projects_list until its status is Active.

Argument Required Notes
name Yes
planId Yes A plan's id. Run plans through the cli tool to list them.
region No Defaults to lon1.
description No
accountId No Defaults to the active billing account.
json
{ "Id": "9b1d…", "Name": "my-project", "OrgId": 12345678, "ApiUrl": "https://12345678.api.anythink.cloud", "Message": "Project created. Use 'projects_use' to connect to it." }

projects_use

Connects to a project and saves it as the active profile, so later cli calls target it. The project must be Active.

Argument Required Notes
id Yes A name, org id, id or a unique prefix.
apiKey No Without it, the tool generates a project-scoped access token.
accountId No Defaults to the active billing account.
text
projects_use {"id":"my-project"}
json
{ "Profile": "my-project", "OrgId": "12345678", "ApiUrl": "https://12345678.api.anythink.cloud", "Auth": "token", "Message": "Connected to 'my-project'. Profile 'my-project' saved and set as active." }

projects_delete

Permanently deletes a project, including its database and files. This can't be undone, so give it a specific id rather than a short prefix.

Argument Required Notes
id Yes The project's id, name or a unique prefix.
accountId No Defaults to the active billing account.
text
Project 'my-project' (9b1d…) deleted.

Project command tools

Each command tool takes the same arguments as its CLI command, named as they appear in the tool's input schema. On an all-projects hosted connection, every tool also takes a project id; projects_list shows which ids the connection can reach.

Area Tools
Projects (hosted) projects_list, project_details
Entities entities_create, entities_delete, entities_get, entities_list, entities_update
Fields fields_add, fields_delete, fields_get, fields_list, fields_update
Records data_create, data_delete, data_get, data_list, data_rls, data_update
Workflows, steps and jobs workflows_create, workflows_delete, workflows_disable, workflows_enable, workflows_export, workflows_file_handler_add, workflows_file_handler_example, workflows_get, workflows_integration_add, workflows_jobs, workflows_list, workflows_step_add, workflows_step_delete, workflows_step_get, workflows_step_link, workflows_step_update, workflows_trigger, workflows_update
Roles and permissions roles_create, roles_delete, roles_list, roles_permissions_add, roles_permissions_list, roles_permissions_remove
Users users_delete, users_get, users_invite, users_list, users_me
Secrets secrets_create, secrets_delete, secrets_list, secrets_update
Files files_delete, files_get, files_list
Integrations integrations_connect, integrations_connections_list, integrations_disable, integrations_disconnect, integrations_enable, integrations_execute, integrations_get, integrations_list, integrations_oauth_callback_url, integrations_oauth_configure, integrations_oauth_status, integrations_test
Dashboard menus menus_add_item, menus_list
Search search_audit, search_purge, search_query, search_rehydrate, search_similar
Payments pay_methods, pay_payments, pay_status
API keys and the endpoint list api, api_keys_list, api_keys_revoke
API docs docs

The hosted connector leaves out commands that sign in, switch saved profiles, use your machine (opening a browser, or reading and writing local files), send raw fetch requests, or create API keys. Run those on the local server or with the CLI.

The cli tool

cli runs an anythink command against the active profile and returns what it prints. It's the only tool that reaches the data inside a project.

Argument Required Notes
command Yes The arguments you'd type after anythink, such as entities list or data get orders 42. Leave out anythink and --profile.
text
cli {"command":"entities create tickets"}
text
Creating entity 'tickets'...
✓ Entity tickets created (id: 684).
text
cli {"command":"data create tickets --data '{\"subject\":\"Checkout button unresponsive\",\"priority\":\"high\"}'"}
text
Creating tickets record...
✓ Record created in tickets (id: 1).
{
   "id": 1,
   "subject": "Checkout button unresponsive",
   "status": "open",
   "priority": "high",
   …
}

A failed command comes back as text beginning CLI exited with code <n>: followed by the CLI's message, so the assistant can read the reason and try again.

Command groups

A local server runs your installed anythink binary, so the cli tool can run any of these command groups. Each group lists its own subcommands with anythink <group> --help.

Group What it manages
entities, fields Entities and the fields on them
data Records: list (with --filter, --limit, --page, --all), get, create, update, delete
workflows Workflows, their steps and their jobs
users, roles, api-keys Users, roles and role permissions, and API keys
secrets, files Encrypted secrets and uploaded files
integrations, oauth Integration connections and social sign-in providers
menus Dashboard menus
search Search indexing
pay Anythink Pay
migrate Copying entities and fields between projects
fetch, api, docs Raw requests to your project's API, the endpoint list and the CLI reference
plans Available plans, used by projects_create
signup, login, logout, config, accounts, projects Also available, but use the dedicated tools above: these commands can prompt for input, and no one is there to answer

Add --json where a command supports it for output the assistant can parse. Commands run with your permissions, or your API key's, so a call succeeds only if you could make the same request yourself.

Allowed characters

command may contain letters, numbers, spaces and _ - . / : = , @ " ' { } [ ]. Any other character, including ? and &, makes the tool reject the whole command with Error: command contains disallowed characters. before anything runs. Keep JSON payloads to plain text.

Because query strings can't be sent, use a command's own filter option, such as data list <entity> --filter '{"status":"open"}', rather than a URL with ?status=open.

Confirmation

The tool has no terminal, so a command can't stop and ask you a question. A command that asks for confirmation, such as entities delete, fails with Failed to read input in non-interactive mode. Add --yes to confirm it, as in entities delete tickets --yes.

Your MCP client is the place to review it. Most clients show each tool call and ask before running it, so read the command first. Delete commands drop data for good.

Commands in the dashboard chat

The AI panel in the Anythink dashboard uses a hosted copy of this server that runs the same cli tool in your project, with the sign-in you're using in the dashboard. It supports a subset of commands, and a tool call runs as soon as the model makes it. For the full picture, including limits and permissions, see How AI chat and MCP work.

Command Supported in the dashboard chat
entities list, get <name>, create <name>, delete <name>
fields list <entity>, add <entity> <field> --type <type> (with --display and --required), delete <entity> <field>
data list <entity> (with --limit), get <entity> <id>, create <entity> --data '{...}', update <entity> <id> --data '{...}', delete <entity> <id>
workflows list, get, create, update, delete, trigger, enable, disable, jobs, step-add, step-get, step-update, step-link
users list, me, get <id>
roles list, get <id>
secrets list, create <key> --value <value>, delete <key>
files list, get <id>, delete <id>
fetch A raw request to your project's API. See below.
docs Returns your project's OpenAPI document.

Everything else, including integrations, menus, pay, search, migrate, api-keys and plans, and options such as data list --filter, runs only on a local server. The sign-in, profile, billing account and project tools are for local sessions too, because the dashboard chat already works in the project you're signed in to.

fetch syntax

fetch sends a request to a path under your project's API, for example /entities/orders/items/42. The method defaults to GET.

Where Syntax
Local server fetch <path> --method <METHOD> --body '{...}'
Dashboard chat fetch <METHOD> <path> --data '{...}'
text
cli {"command":"fetch /entities/tickets/items/2"}

Examples

These run on a local server:

text
entities create feedback
fields add feedback rating --type integer --required
data list orders --filter '{"status":"pending"}' --json
data create orders --data '{"customer_email":"sam@example.com","total":149.5,"status":"pending"}'
workflows jobs 4
fetch /entities/orders/items/42 --method PUT --body '{"status":"paid"}'

Next steps