Anythink all-in-one backend: data, auth, files, workflows, payments, APIs
NUGET · ANYTHINK-MCP · 2 COMPONENTS
Sick of stitched-together services? Anythink is the all-in-one backend, configured with AI.
Available components
Last scanned (5 hours ago)
Scores higher than 68% of NuGet servers
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Build provenance not yet verified. View diagnostics → Unverified
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 24 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 24748 tokens (~141/item across 175 items; 175 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management78
- Stability check failed: the tool surface changed between 0.2.22 and 0.2.37: 0 tool removals, 7 breaking changes, 159 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety93
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 42 of 59 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "pay_subscriptions_get" implies "pay" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 175 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 1 Nov 26 0
- Security disclosure: unverified → fail ▼ functional
- 30 Oct 26 0
- Security disclosure: fail → unverified ▼ functional
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 75 to 78.
- 27 Oct 26 −1
No change was recorded against any check on this day. Stability & Change Management went from 78 to 75.
- 21 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 75 to 78.
- 20 Oct 26 −1
No change was recorded against any check on this day. Stability & Change Management went from 78 to 75.
- 17 Oct 26 +3
No change was recorded against any check on this day. Stability & Change Management went from 61 to 78.
- 15 Oct 26 −3
No change was recorded against any check on this day. Stability & Change Management went from 78 to 58.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed nuget/anythink-mcp@0.2.37
Provenance Inconclusive
We could not complete the check, so nothing is claimed either way. This is a gap on our side, not a finding about the package.
| Result | Inconclusive |
|---|---|
| Ecosystem | nuget |
| Reason | Attestation not fetched |
Signer
| Signed as | Repository signature, names nuget.org |
|---|---|
| Subject | CN=NuGet.org Repository by Microsoft,O=NuGet.org Repository by Microsoft,L=Redmond,ST=Washington,C=US |
| Issuer | CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1,O=DigiCert\, Inc.,C=US |
| Valid from | 23 Feb 2024 |
| Valid until | 18 May 2027 |
| Service index | https://api.nuget.org/v3/index.json |
| Owners | chris_addams |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
Registry declarations For information only
What the registry and the package's own manifest say about this version. The publisher or the registry writes these, nothing here is verified, and none of it affects the score.
| Repository | https://github.com/anythink-cloud/anythink-cli |
|---|---|
| Repository type | git |
| Commit | fe0bae2cda9f536ea08e4a3caa2cb74d8312b9fa |
| Project URL | https://github.com/anythink-cloud/anythink-cli |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
signup Sign up for Anythink ~185
Register a brand-new Anythink platform account with email and password. Use this only when the user has no account yet; if they already have one, use 'login' instead. This creates the top-level user identity — it does not create a billing account or project (do that with 'accounts_create' and 'projects_create' after logging in). On success the user may need to click an email confirmation link before 'login' works; tell them to confirm, then call 'login'.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address — becomes the login identifier and must be unique | |
| firstName | string | yes | User's first name |
| lastName | string | yes | User's last name |
| password | string | yes | Password for the new account; choose a strong value |
| referralCode | string|null | – | Optional referral code, if the user was invited by another customer |
No output schema declared.
No examples provided.
users_delete Users: delete ~96
Delete a user by ID. Removes the user from this project, so they can no longer sign in to it or use their role's access. The role and its permissions stay in place for everyone else. Make sure you have the right person with `users_get` first. It changes or deletes existing data, so check with the user before running it.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | User ID to delete. Find it with users_list. |
No output schema declared.
No examples provided.
users_get Users: get ~80
Get a user by ID. Shows one user's name, email, role, whether they have confirmed their invitation and when they were created. Use it to check one person's role; use `users_list` to scan everyone, and `roles_permissions_list` to see what their role allows.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | User ID. Find it with users_list. |
No output schema declared.
No examples provided.
users_invite Users: invite ~130
Create a user and send an invitation email. Adds the person to this project with the role given by role_id, then emails them an invitation to confirm their account. Always pass role_id from `roles_list`: the API rejects an invite without an existing role, and administrator roles can't be given this way. Check `users_list` first so nobody is invited twice.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | User email address | |
| first_name | string | yes | First name |
| last_name | string | yes | Last name |
| role_id | integer | – | Role ID to assign. Find it with roles_list. |
No output schema declared.
No examples provided.
users_list Users: list ~71
List all users. Shows each person who can sign in to this project with their id, name, email, role and whether they have confirmed their invitation. Use it to find a user's id, or to see who holds a role before changing it with `roles_permissions_add` or deleting it with `roles_delete`.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
users_me Users: me ~70
Show the currently authenticated user. Shows the user you are signed in as in this project: id, name, email, role, whether confirmed and when created. Your role decides what every other tool may do, so check it when a call is refused; use `users_get` to look up someone else.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
workflows_create Workflows: create ~269
Create a new workflow. Creates the workflow with one trigger and no steps: Manual needs entity, Timed needs cron, Event needs entity plus an event (EntityCreated by default) and an optional filter, and Api needs api_route. It stays disabled unless enabled is set; add steps with `workflows_step_add`, then turn it on with `workflows_enable`.
| Name | Type | Req | Description |
|---|---|---|---|
| api_route | string | – | API route, required for an Api trigger |
| cron | string | – | Cron expression, required for a Timed trigger (e.g. '0 9 * * *') |
| description | string | – | Workflow description |
| enabled | boolean | – | Enable workflow immediately after creation |
| entity | string | – | Entity name, required for an Event or Manual trigger |
| event | string | – | Event for an Event trigger: EntityCreated (default), EntityUpdated, EntityDeleted, UserRegistered, PaymentSucceeded and others. Not case-sensitive |
| filter | string | – | Filter expression JSON for Event trigger (fires only when predicate matches the row) |
| filter_file | string | – | Path to a file containing the filter expression JSON |
| name | string | yes | Workflow name |
| trigger | string | – | Trigger type: Manual (default), Timed, Event, Api. Not case-sensitive |
No output schema declared.
No examples provided.
workflows_delete Workflows: delete ~87
Delete a workflow. Removes the workflow with its triggers and steps, so it stops running and can't be restored. To stop it for a while use `workflows_disable`; to keep a copy first, use `workflows_export`. It changes or deletes existing data, so check with the user before running it.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Workflow ID to delete. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_disable Workflows: disable ~73
Disable a workflow. Stops the workflow running from its triggers but keeps its triggers, steps and job history, so `workflows_enable` turns it back on. Prefer this to `workflows_delete` when a workflow should only stop for a while.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_enable Workflows: enable ~73
Enable a workflow. An enabled workflow runs on its own from its triggers: Timed on its cron schedule, Event when the matching event happens, Api when its route is called. Use `workflows_disable` to pause it without losing its steps.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_export Workflows: export ~123
Export an existing workflow to JSON (round-trippable with seed). Gives the workflow's definition as JSON with no ids: its triggers, and its steps with their parameters, linked by step key through on_success/on_failure. Use it to back up or copy a workflow; for the ids the step tools need, use `workflows_get`. It changes or deletes existing data, so check with the user before running it.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Workflow ID to export. Find it with workflows_list. |
| output | string | – | Write to FILE instead of stdout |
No output schema declared.
No examples provided.
workflows_file_handler_add Workflows: file handler add ~432
Add a FileHandler step with named flags (no hand-written params JSON). The step attaches a file to a record's file field: fetch_and_link downloads source_url, link_existing attaches existing_file_id, and detach unlinks it; entity, record_id (usually {{ $anythink.trigger.id }}) and field are always needed. Unlike `workflows_step_add` it can set on_success/on_failure in the same call, and the step is created disabled unless enabled is set.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | Enable step immediately |
| entity | string | – | Target entity name (required) |
| existing_file_id | string | – | Existing file ID (required for link_existing operation; templatable) |
| field | string | – | Field name on the record to link the file to (required, snake_case) |
| file_name | string | – | Filename to store the uploaded file as (templatable) |
| folder_id | string | – | Folder ID to upload the file into (optional, templatable) |
| is_public | boolean | – | Mark the uploaded file as public |
| link_mode | string | – | How to link to the field: set (single value) or add (append to multi-value). Default: set |
| name | string | – | Step display name (defaults to the step key) |
| on_failure | integer | – | Step ID to execute on failure |
| on_success | integer | – | Step ID to execute on success |
| operation | string | – | FileHandler operation: fetch_and_link, link_existing, detach |
| overwrite_if_present | boolean | – | Re-process even if the field already has a value (idempotency override) |
| record_id | string | – | Target record ID, typically '{{ $anythink.trigger.id }}' (required) |
| source_url | string | – | URL to fetch the file from (required for fetch_and_link; supports templating) |
| start | boolean | – | Set as start step |
| step_key | string | yes | Step key (unique identifier, snake_case) |
| workflow_id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_file_handler_example Workflows: file handler example ~84
Print a copy-paste-ready FileHandler params JSON. The sample uses {{ $anythink... }} templates for the source URL, record id and folder, and changes nothing in the project. Adapt it as params for `workflows_step_add` or `workflows_step_update`; to add a FileHandler step directly, `workflows_file_handler_add` is simpler.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
workflows_get Workflows: get ~102
Get workflow details and steps. Includes each trigger with its last and next run, and every step with its id, key, action, parameters, start-step flag and on_success/on_failure step ids. Use those step ids with `workflows_step_update`, `workflows_step_link` and `workflows_step_delete`; for a copy without ids, use `workflows_export`. Returns JSON.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_integration_add Workflows: integration add ~366
Add an Integration step (Claude, OpenAI, Slack…) with named flags (no hand-written params JSON). The step runs one provider operation, such as claude generate-text, with inputs given as key=value pairs that accept {{ $anythink... }} templates; find provider and operation keys with `integrations_get`. credential_source chooses the credentials (system, current_user, connection with connection_id, or entity_field), and the step is created disabled unless enabled is set.
| Name | Type | Req | Description |
|---|---|---|---|
| connection_id | string | – | Connection ID (required when --credential-source is 'connection'; templatable) |
| credential_field | string | – | Credential field path (required when --credential-source is 'entity_field') |
| credential_source | string | – | system | current_user | connection | entity_field (default: system) |
| enabled | boolean | – | Enable step immediately |
| input | array | – | Operation input as key=value (repeatable; values support {{templating}}) |
| inputs | string | – | Operation inputs as a JSON object (merged with --input flags) |
| model | string | – | Convenience shortcut for the 'model' input (AI providers) |
| name | string | – | Step display name (defaults to the step key) |
| on_failure | integer | – | Step ID to execute on failure |
| on_success | integer | – | Step ID to execute on success |
| operation | string | – | Operation key (see 'integrations get <provider>'). Required. |
| provider | string | – | Integration provider key (e.g. claude, openai, slack). Required. |
| start | boolean | – | Set as start step |
| step_key | string | yes | Step key (unique identifier, snake_case) |
| workflow_id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_jobs Workflows: jobs ~93
View job history for a workflow. Shows the 10 most recent runs, each with its status (Completed, Failed or Running), start time and error, plus every step's status, error and log. Use it after `workflows_trigger`, or when an event or schedule should have fired, to see whether a run worked and which step failed.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_list Workflows: list ~71
List all workflows. Each entry gives the workflow's id, name, description, enabled flag, step count and its triggers (Manual, Timed, Event or Api) with their config, but not the steps. Use `workflows_get` to see a workflow's steps and how they link. Returns JSON.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
workflows_seed Workflows: seed ~149
Create a workflow and its steps from a JSON file. Reads a JSON file on this machine in the `workflows_export` format (name, trigger or triggers, and steps with key, action, parameters and on_success/on_failure by step key), fills {{KEY}} placeholders from var, then creates the workflow, adds its steps and links them. It always creates a new workflow, so running it twice makes two copies.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | Override the workflow's enabled flag to true |
| file | string | yes | Path to a workflow JSON file (use `workflows export` to produce one) |
| var | array | – | Substitute {{KEY}} placeholders in the JSON. Repeatable. |
No output schema declared.
No examples provided.
workflows_step_add Workflows: step add ~235
Add a step to a workflow. Params are the action's settings as JSON, e.g. {"script":"return {}"} for RunScript or {"entity":"orders","data":{...}} for CreateData. The new step is unlinked: set start on the workflow's first step and chain the rest with `workflows_step_link`. For FileHandler or Integration steps, `workflows_file_handler_add` and `workflows_integration_add` build the params for you.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Action type: ReadData, CreateData, UpdateData, UpsertData, DeleteData, CallAnApi, RunScript, Condition, SendAnEmail, SendACommand, SendPushNotification, FileHandler, Integration (for Integration, pre… |
| enabled | boolean | – | Enable step immediately |
| key | string | yes | Step key (unique identifier) |
| name | string | – | Step display name |
| params | string | – | Step parameters as JSON |
| start | boolean | – | Set as start step |
| workflow_id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_step_delete Workflows: step delete ~123
Delete a step from a workflow (warns if other steps link to it). The API refuses to delete a step that other steps still point to through on_success or on_failure, so re-point those with `workflows_step_link` first. Deleting the start step leaves the workflow with no entry point until a new step is added with start. It changes or deletes existing data, so check with the user before running it.
| Name | Type | Req | Description |
|---|---|---|---|
| step_id | integer | yes | Step ID to delete |
| workflow_id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_step_get Workflows: step get ~88
View step details including parameters. Shows one step's key, action, enabled and start-step flags, on_success/on_failure step ids and its full parameters. Read it before `workflows_step_update`, because params passed there replace the step's parameters as a whole.
| Name | Type | Req | Description |
|---|---|---|---|
| step_id | integer | yes | Step ID |
| workflow_id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_step_link Workflows: step link ~154
Link workflow steps together (set on-success/on-failure). Sets which step runs next when this one succeeds (on_success) or fails (on_failure), by step id from `workflows_get`; a link you leave out keeps its current value. Links can be changed but not cleared here, and the step's name, action and params stay as they are. It changes or deletes existing data, so check with the user before running it.
| Name | Type | Req | Description |
|---|---|---|---|
| on_failure | integer | – | Step ID to execute on failure |
| on_success | integer | – | Step ID to execute on success |
| step_id | integer | yes | Step ID to update |
| workflow_id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_step_update Workflows: step update ~153
Update step parameters and properties. Changes a step's name, params or enabled flag and keeps its action, start flag and links; it can enable a step but not disable one. Params replace the step's parameters as a whole, so read them with `workflows_step_get` first; to change which step runs next, use `workflows_step_link`. It changes or deletes existing data, so check with the user before running it.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | Enable this step |
| name | string | – | Step name |
| params | string | – | Step parameters as JSON |
| step_id | integer | yes | Step ID |
| workflow_id | integer | yes | Workflow ID. Find it with workflows_list. |
No output schema declared.
No examples provided.
workflows_trigger Workflows: trigger ~140
Manually trigger a workflow. Starts a run now and returns without the run's result; check the outcome with `workflows_jobs`. A Manual-trigger workflow needs entity (and entity_id for a specific record), and payload is a JSON object the steps read as $anythink.trigger.data.
| Name | Type | Req | Description |
|---|---|---|---|
| entity | string | – | Entity name for the trigger (required for Manual-trigger workflows) |
| entity_id | integer | – | Optional entity/record id to associate with the trigger |
| id | integer | yes | Workflow ID. Find it with workflows_list. |
| payload | string | – | Optional JSON record to pass to the workflow (available as $anythink.trigger.data) |
No output schema declared.
No examples provided.
workflows_update Workflows: update ~139
Update a workflow's name or description. Only the name and description change; the triggers, steps, group and enabled state are sent back unchanged, and no tool here edits a trigger. It refuses to run while an existing trigger is incomplete (e.g. a Timed trigger with no cron), which must be fixed in the dashboard first. To change a step, use `workflows_step_update`. It changes or deletes existing data, so check with the user before running it.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | New workflow description |
| id | integer | yes | Workflow ID. Find it with workflows_list. |
| name | string | – | New workflow name |
No output schema declared.
No examples provided.
How do I install the Anythink all-in-one backend: data, auth, files, workflows… MCP server?
Anythink all-in-one backend: data, auth, files, workflows… runs locally as a NuGet package, launched with dnx anythink-mcp@0.2.37 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
nuget · anythink-mcp
claude mcp add cloud-anythink-anythink -- dnx anythink-mcp@0.2.37 --yes
What is the Anythink all-in-one backend: data, auth, files, workflows… MCP server?
Anythink all-in-one backend: data, auth, files, workflows… is an MCP server listed in the public MCP registry as cloud.anythink/anythink. Sick of stitched-together services? Anythink is the all-in-one backend, configured with AI. This page covers its NuGet package (anythink-mcp).
Is the Anythink all-in-one backend: data, auth, files, workflows… MCP server safe to use?
Anythink all-in-one backend: data, auth, files, workflows… scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Anythink all-in-one backend: data, auth, files, workflows… MCP server expose?
Anythink all-in-one backend: data, auth, files, workflows… exposes 175 tools: email_templates_update, pay_offers_create, pay_subscriptions_resync, integrations_test, workflows_file_handler_add, and 170 more. Their descriptions and schemas cost roughly 24,748 tokens of context every time the server is loaded.
Is the Anythink all-in-one backend: data, auth, files, workflows… MCP server still maintained?
Anythink all-in-one backend: data, auth, files, workflows… is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Anythink all-in-one backend: data, auth, files, workflows… MCP server under?
Anythink all-in-one backend: data, auth, files, workflows… declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.