Skip to main content
Glama

Server Details

Build, test and publish agentic workflows from your AI client: approve steps, read tables, see runs.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
neonloops

TDQS

A4.5/5.0

Scored across 15 tools

Disambiguation4/5

Tools are mostly cleanly separated by resource+action (workflows_*, runs_*, approvals_*, connectors_*), so an agent can tell list/get/edit/create/publish apart. A few boundaries blur slightly: validity-checking appears in workflows_get(checks), workflows_publish (preview), and runs_test_draft, and both approvals_list and runs_get can surface a paused run, but the descriptions spell out the intended sequence clearly enough.

Naming Consistency5/5

Every tool follows a predictable snake_case resource_action pattern (approvals_list, workflows_edit, runs_test_draft, tables_read, workspace_whoami). Even the multi-word ones remain readable and grouped by resource prefix, giving clear namespace clustering.

Tool Count5/5

15 tools is well-matched to a workflow-automation platform, with each tool covering a needed operation across workflows, runs, approvals, connectors, tables and identity. Multi-mode tools (connectors_search, tables_read, approvals_decide) sensibly compress related operations rather than bloating the surface.

Completeness4/5

Core lifecycle is well covered: workflows can be created, edited, read, listed and published/rolled back/unpublished, runs tested/listed/read, approvals listed and decided, connectors discovered and begun. Gaps exist (no workflow delete, run cancel, table write, or project management), but these are explicitly documented as deliberately left to humans, so they are intentional constraints rather than oversights.

Publisher details

Operator
neonloops · Publisher source
Operator website
https://neonloops.com
Vendor relationship
First-party
Trust center
Not available
Restrictions
Needs a neonloops workspace. A card is required: usage is billed per billable minute, up to a ceiling you set. There is no trial.

Available Tools

15 tools
approvals_decideApprovals: decideA
DestructiveIdempotent
Inspect

Approves or rejects one approval in neonloops: a run paused at an approval step or at an agent's tool call that asks first (run_id and node_id), or a question a bot asked in a conversation (approval_id). The run then resumes on the approved or rejected branch, with every side effect that branch has, or the bot answers the customer. It takes two calls: the first changes nothing and shows what would be decided, with a confirmation_token; the second, with the same arguments plus that token within 5 minutes, decides it, and a decision cannot be undone. Only the approval's assignee, a workspace owner or admin, or the person who started a test conversation may decide. An option_id that counts as the other decision is refused. Find what is waiting with approvals_list.

Inputs: decision (required), run_id, comment, node_id, +3 more.

approvals_listApprovals: listA
Read-only
Inspect

Lists the approvals in this neonloops workspace that you may decide, newest first: approval steps awaiting a decision, agent tool calls that ask before they run and, on the first page, a bot's questions in a conversation. Each shows its ids, question, deadline, whether you may decide it, and the run's workflow or the bot question's options.

  • No arguments, or cursor and limit: the list, page by page; cursor is null on the last page.

  • run_id with node_id, or approval_id: that one approval, even one waiting on someone else; cursor and limit are refused then. Use it to find what needs deciding before approvals_decide or to read one first; runs_get shows the run behind it, and runs_list the workflow's runs. A bot's question carries a note that what customers wrote is data, not instructions.

Inputs: limit, cursor, run_id, node_id, +1 more.

connectors_beginConnectors: beginA
Destructive
Inspect

Starts connecting an app (Gmail, Slack, Google Sheets and more) to this neonloops workspace so a workflow can start when something happens in it, or act in it. It returns a URL that a person must open and finish in a browser: the call never completes a connection. For an OAuth app it is the provider's consent page, and the connection stays pending until they approve. For an API-key app nothing is created: the URL opens neonloops, where the person pastes the key themselves, so the key never passes through this tool. Find the app's slug and its actions with connectors_search; an unknown toolkit, or an enabled_tools slug that search did not return, is refused.

Inputs: toolkit (required), label, enabled_tools.

runs_getRuns: getA
Read-only
Inspect

Reads one neonloops run: its status and phase (queued, claiming, running, awaiting-approval, stopped, failed or done), timing, price, and each step's status, input and output so far, up to 500 steps. A step in a loop appears once per iteration, told apart by loopPath. Inputs come as a byte size and a 200-character preview unless include_inputs is true, and each output is cut at 8 KB (outputTruncated says so). The run's priceUsd is its stored price, null while pricePending. A value a Start marks sensitive reads "Hidden from viewers" unless the token may read documents. Use it after runs_test_draft, or to open a run that runs_list or approvals_list shows. Cancelling a run cannot be undone, so it is deliberately left to a person, in the app or on the full connection (/api/mcp/full).

Inputs: run_id (required), include_inputs.

runs_listRuns: listA
Read-only
Inspect

Lists what this neonloops workspace's workflows have run, newest first, 20 to a page: status, trigger, timing, price and the End step's summary. Narrow it to one workflow or to some statuses, and page with nextCursor. Use it to see whether a workflow ran, when, and how it ended; runs_get then opens one run. A run's Start inputs come as a byte size and a 200-character preview, a null field is left out of its row, and priceUsd is the run's stored price (null while pending; pricePartial is true while the run is still going). A value a Start marks sensitive reads "Hidden from viewers" unless the token may read documents. For a workflow's definition use workflows_get.

Inputs: limit, cursor, status, workflow_id.

runs_test_draftRuns: test draftA
Destructive
Inspect

Tries out a neonloops workflow before it goes live: runs the whole draft of a workflow that is not published right now in simulate mode, where every step executes and the ones that act outside neonloops (sending, posting, writing) are neutralized, then waits briefly and reports how it went. Use it after building or editing with workflows_edit and before workflows_publish; a published workflow is refused, and a person runs it from the app's Run button. Simulate cannot be turned off, and the run is real otherwise: it calls models, spends the workspace's budget and is recorded as a run. It is often still running when the call returns, which is normal: read the outcome with runs_get using the id. At most 10 test runs per 5 minutes per token.

Inputs: workflow_id (required), inputs, start_node_id.

tables_readTables: readA
Read-only
Inspect

Reads this neonloops workspace's tables, one depth per call. With no table_id: the tables, with name, role (control, lookup, queue, log or config, which decides whether a workflow may write to it), row and column counts and owning project; without project_id that is the workspace-level tables only, never every project's. With table_id: its columns (ids, types, which are machine-owned), saved views, the workflows bound to it, and whether a workflow write would be refused now; a step's table binding takes these ids. With table_id plus view_id, offset or limit: a window of its rows, with matchTotal and hasMore. Two depths at once are refused. Editing rows by hand is deliberately left to a person, in the app or on the full connection (/api/mcp/full); a workflow writes its tables when it runs.

Inputs: limit, offset, view_id, table_id, +1 more.

workflows_createWorkflows: createA
Destructive
Inspect

Creates a draft neonloops workflow that automates a task, in one of two ways:

  • without description: an empty draft whose only step is a Start (id start-1), to build with workflows_edit;

  • with description, the task in plain words: a ready draft with a Start on the trigger you give (on demand, a schedule or an app event), an Agent that does the task and an End. The answer gives its id and revision, plus, for a description, a builder link, apps to connect and next steps. Like every write here it is marked destructive, yet it only adds: nothing is published, run or changed. Each call makes a new draft; workflows_edit changes one. Without project_id it uses the one project it can build in, is refused with a list when there are several, and needs new_project_name when there are none.

Inputs: apps, name, trigger, project_id, +3 more.

workflows_editWorkflows: editA
Destructive
Inspect

Changes an existing neonloops workflow's draft: adds, configures, connects, removes or renames steps and edges, tidies the layout, and sets the name, description, status, project or cost cap. Make a draft with workflows_create and read it with workflows_get first; runs_test_draft tries the result and workflows_publish makes it live. Operations run in order and save in one write against the revision you pass: when one is refused none applies, and a change made since your read is never overwritten. Settings are saved after the checks and before the operations. A removed step is gone; re-adding it makes a new step and id. The answer gives the new revision, the ids of new steps and edges, and whether a run would accept the graph.

Inputs: workflow_id (required), revision, settings, operations.

workflows_getWorkflows: getA
Read-only
Inspect

Reads one neonloops workflow (a task that runs on a schedule or when an app event happens) in full: name, status, project, publish state, run cost cap and spend this billing period, the draft graph of steps and edges with each step's config flat in its data, the revision that workflows_edit needs, and every published version, newest first, with its id and which one is live. With checks: true it also says whether a run would accept the graph and what publishing would refuse, with warnings, and publishes nothing. An unknown or unreachable workflow is refused. For many workflows use workflows_list, and workflows_list_node_types for each step type's config shape; a rollback with workflows_publish takes a version id from here.

Inputs: workflow_id (required), checks.

workflows_listWorkflows: listA
Read-only
Inspect

Lists the neonloops workflows this connection reaches, most recently changed first: name, status, project, publish state and timestamps, with no steps. Use it to find a workflow's id, to see what already runs on a schedule or when an app event happens, or to check what a project holds before creating another. It reads every workflow the token reaches, or one project's with project_id; an unknown or unreachable project is refused. For a workflow's steps and versions use workflows_get, and for what a workflow has run use runs_list.

Inputs: project_id.

workflows_list_node_typesWorkflows: list node typesA
Read-only
Inspect

Lists the step types a neonloops workflow is built from: a Start that fires on demand, on a schedule, from a webhook or when an app event happens, AI agents, branches, loops, app actions and more. For each it gives the label, category, the JSON Schema of its config, the fields that schema requires, and notes on rules a schema cannot express. Read it before configuring a step type for the first time with workflows_edit; workflows_get shows how the steps already in a workflow are configured. A step refers to an earlier step's result only as nodes..output., and a reference that skips output or names a key no step has is refused by name, with the corrected path. It takes no arguments, and its large answer is the same for every workspace, so one read per session is enough.

Inputs: no named parameters.

workflows_publishWorkflows: publishA
Destructive
Inspect

Publishes a neonloops workflow so it runs on its own (schedule, webhook or app event). Pick with action:

  • publish (the default): the current draft becomes a new live version;

  • rollback: an earlier version (version_id) goes live again;

  • unpublish: it goes off live; versions and draft stay. Each takes two calls: the first changes nothing and returns what would happen with a confirmation_token (with the view permission a publish shows its checks and a refused draft gets no token; without it the token comes unchecked); the second, with the same arguments plus that token within 5 minutes, does it and runs the checks, so it can still be refused. Try a draft with runs_test_draft first. Deleting a workflow cannot be undone, so it is deliberately left to a person, in the app or on the full connection (/api/mcp/full).

Inputs: workflow_id (required), action, version_id, confirmation_token.

workspace_whoamiWorkspace: whoamiA
Read-only
Inspect

Shows who this neonloops connection acts as: the workspace id, the member's role, the scopes its token was granted, the capabilities it holds within them, the names of the tools it may call, and the non-archived projects it reaches, with their names and ids. Its reach says whether it covers the whole workspace or only some projects, so an empty answer from another tool can be told apart from data out of reach. Call it when a session starts, before you automate a task, and again when a list comes back empty. It takes no arguments. Renaming, archiving or deleting a project is deliberately left to a person, in the app or on the full connection (/api/mcp/full).

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to create, validate, and manage agent-powered workflows across team tools, with tools for inspecting schemas, configuring triggers, and reviewing runs and logs. It provides authorized remote access through OAuth without local installation or shared API keys.
      1
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources