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/mcphas a tool for every project command (78 of them), such asentities_list,data_createandworkflows_trigger, plusprojects_listandproject_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-purposeclitool, 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. |
signup {"firstName":"Sam","lastName":"Rivera","email":"sam@example.com","password":"<password>"}
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 |
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.
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. |
login_direct {"orgId":"12345678","profile":"my-project","apiKey":"<api-key>"}
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. |
logout {"profile":"my-project"}
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.
config_show {}
{
"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. |
config_use {"profile":"my-project"}
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. |
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.
[
{ "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. |
{ "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. |
accounts_use {"id":"3f6c"}
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. |
[
{ "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. |
{ "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. |
projects_use {"id":"my-project"}
{ "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. |
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. |
cli {"command":"entities create tickets"}
Creating entity 'tickets'...
✓ Entity tickets created (id: 684).
cli {"command":"data create tickets --data '{\"subject\":\"Checkout button unresponsive\",\"priority\":\"high\"}'"}
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 '{...}' |
cli {"command":"fetch /entities/tickets/items/2"}
Examples
These run on a local server:
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"}'