AgentStack

MCP server by AgentStack

Build and run a product's site, customer data, checkout and backend from your AI assistant through a single execute tool.

Needs an API key (Needs an API key from the vendor)Streamable HTTP

Connect to AgentStack

AgentStack needs an API key. Connect with its own URL and your key:

https://agentstack.tech/mcp

Send your key in the X-API-Key header. mcp.tc never sees or stores keys. Where to get a key

Share this server

Opens this page, with the URL and setup steps.

mcp.tc/i/agentstack

About

AgentStack is a hosted backend platform that an MCP-capable assistant can operate. Through one tool, agentstack.execute, it runs batched steps against projects covering data, auth, CRM, automation, knowledge, hosting, payments and scheduled tasks. Actions are found with discovery search and checked with a preflight step before writes.

It runs as a remote streamable HTTP endpoint at https://agentstack.tech/mcp. Work on your projects needs an AgentStack API key from Profile → API Keys, sent in the X-API-Key header (Authorization: Bearer with the same key also works). In Cursor, AgentStack's plugin can sign in with OAuth instead. To try it without an account, ask the assistant to create a project: AgentStack makes an anonymous one, limited to one project and 1,000 Logic Engine calls a month, and returns an API key to add to your client's headers. Each batch needs a project ID in its context. The server also ships prompts for logic rules, scheduled tasks, project setup and session setup.

What you can do

  • Run batched AgentStack actions with one execute tool
  • Discover available actions by describing a goal
  • Run preflight checks before write operations
  • Bind work to a specific project and manage its members
  • Create backend logic rules and scheduled tasks
  • Use built-in prompts for project and session setup

Tools 1

  • agentstack.executeCan delete

    Run AgentStack operations as steps with action and params, within a project context; can write or…

Read from the live server on 7 Oct 2026. Read-only, Writes and Can delete are hints the server declares; your client decides whether to ask before running a tool.

Example prompts

  • Create a new AgentStack project for my online course shop.

  • Search AgentStack for actions that manage customers and list them.

  • Add a scheduled task that runs a logic rule every morning.

  • Add a teammate to my project as a read-only member.

Set up

Every client connects to agentstack.tech. Pick yours; the page remembers your choice.

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport http agentstack https://agentstack.tech/mcp --header "X-API-Key: <YOUR_API_KEY>"
  1. Replace the placeholder with your key before you run it, then check it with /mcp inside Claude Code.

Add --scope user to make it available in every project, not just this one.

Claude Desktop

  1. Use the mcp-remote bridge, which keeps the key on this computer (a connector added on claude.ai with the key under Request headers also shows up here). Open Settings → Developer → Edit Config and add:
claude_desktop_config.json
{
  "mcpServers": {
    "agentstack": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://agentstack.tech/mcp",
        "--header",
        "X-API-Key: <YOUR_API_KEY>"
      ]
    }
  }
}
  1. Replace the placeholder with your key and restart Claude Desktop.

The bridge needs Node.js on your computer.

claude.ai

  1. Open the connector form on claude.ai. This button fills in the name and URL for you:
  1. Check that the URL reads https://agentstack.tech/mcp. Under Request headers, add X-API-Key: <YOUR_API_KEY> with your key from AgentStack, then click Add.
  2. Turn it on in a chat from the tools menu.

Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under Organization settings → Connectors.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "agentstack": {
      "url": "https://agentstack.tech/mcp",
      "headers": {
        "X-API-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

VS Code

Add it to .vscode/mcp.json. VS Code asks for the key the first time and stores it securely:

.vscode/mcp.json
{
  "servers": {
    "agentstack": {
      "type": "http",
      "url": "https://agentstack.tech/mcp",
      "headers": {
        "X-API-Key": "${input:x-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "x-api-key",
      "description": "X-API-Key",
      "password": true
    }
  ]
}

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "agentstack": {
      "serverUrl": "https://agentstack.tech/mcp",
      "headers": {
        "X-API-Key": "<YOUR_API_KEY>"
      }
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.

Codex

codex mcp add agentstack --url https://agentstack.tech/mcp

codex mcp add can’t set the X-API-Key header, so this step is required: put this entry in ~/.codex/config.toml instead of running the command, or add its env_http_headers line to the entry the command made:

config.toml
[mcp_servers.agentstack]
url = "https://agentstack.tech/mcp"
env_http_headers = { "X-API-Key" = "X_API_KEY" }

Codex reads the header values from the environment variables named in env_http_headers.

Gemini CLI

gemini mcp add --transport http --header "X-API-Key: <YOUR_API_KEY>" agentstack https://agentstack.tech/mcp

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI’s settings file.

{
  "mcpServers": {
    "agentstack": {
      "type": "http",
      "url": "https://agentstack.tech/mcp",
      "headers": {
        "X-API-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.

Client only starts local servers? Bridge it with npx -y mcp-remote https://agentstack.tech/mcp.

Embed

Show AgentStack in a README or on your site. Each embed links to this page, uses the server’s own URL, and sets no cookies. How embeds work

The card, the iframe and the JSON are in English. Add ?lang=it, fr, de or es to their address for another language.

README badge

Badge preview, lightBadge preview, dark
Markdown
[![AgentStack on mcp.tc](https://mcp.tc/i/agentstack/badge.svg)](https://mcp.tc/i/agentstack)
HTML
<a href="https://mcp.tc/i/agentstack"><img src="https://mcp.tc/i/agentstack/badge.svg" alt="AgentStack on mcp.tc" height="20"></a>

It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.

Website card

HTML
<script src="https://mcp.tc/w/agentstack.js" async></script>

The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.

iframe

HTML
<iframe src="https://mcp.tc/embed/agentstack" title="AgentStack on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.

JSON

The listing as data for your own pages and tools: name, tagline, the server’s own URL, tools and the “Add to” links. Any site can read it (CORS is open).

https://mcp.tc/i/agentstack.json

What each field means

AI prompt

Paste this into an AI coding assistant, such as Claude Code or Cursor, and it adds the AgentStack card to your site.

Markdown
Add the mcp.tc card for AgentStack, an MCP server, to my website. It is one static script: no build step, no package to install, no cookies.

Put this tag where the card should appear. The card renders right before it:

```html
<script src="https://mcp.tc/w/agentstack.js" async></script>
```

To show the card somewhere else, put this placeholder there and load the same script once, for example before `</body>`. Keep the link inside: visitors without JavaScript see it.

```html
<div data-mcptc="agentstack"><a href="https://mcp.tc/i/agentstack">AgentStack on mcp.tc</a></div>
```

Options:
- `data-theme="light"` or `"dark"` on the tag or the placeholder fixes the colors. Without it, the card follows the visitor’s light or dark mode.
- `data-size="compact"` gives a smaller card without the tagline.
- The CSS variable `--mcptc-max-width` on the placeholder or a parent sets the width (default `520px`).
- `?lang=` on the script URL sets the card’s language: `en`, `it`, `fr`, `de` or `es`.

If the site has a Content Security Policy, allow `script-src https://mcp.tc` and `img-src data:` (the icon is inline).

For a README or other Markdown docs, use the badge instead:

```markdown
[![AgentStack on mcp.tc](https://mcp.tc/i/agentstack/badge.svg)](https://mcp.tc/i/agentstack)
```

Reference: https://mcp.tc/embed

Change history

We read this server’s tool list every 3 hours and record what changes. Last read 8 Oct 2026, 07:29 UTC.

Follow AgentStack and we’ll email you when something changes.

  1. , Automatic check

    1 tool changed.

    Details, 7 Oct 2026, 22:33 UTC

    Changed 1

    • agentstack.executeinput schema and output schema
      • Description of context
        Before

        none

        After

        Execute scope. Set project_id on every batch after the session probe.

      • Description of options
        Before

        none

        After

        Batch controls: async jobs, recipes, playbook progress, and error policy.

  2. , Automatic check

    1 tool changed.

    Details, 7 Oct 2026, 16:36 UTC

    Changed 1

    • agentstack.executedescription
      Before

      AgentStack MCP = Work Graph control plane. After session + context.project_id: agents.work_next (mcp_work_loop_v1) -> plan_claim -> plan_execute (CAS/leases). Follow packet.next_action; catalog/discovery.search only if no packet. One-shot CRM/upload may call domain actions directly. Spine: agents.plan_get -> agents.work_next -> agents.plan_claim -> agents.plan_execute. Anti-pattern: Do not pick tools from catalog when packet.next_action is present. Mandatory session order: authenticate -> session probe auth.get_profile (alias auth.me) -> select/create project -> set context.project_id on every batch -> Work Graph loop. Playbook GET /mcp/prompts/get?name=agentstack_session_setup (recipe mcp_session_setup). Sync POST /mcp is lane mcp_batch (60000 ms) for the whole batch - not an RBAC cap. One heavy LLM step per sync execute (bots.simulate, knowledge.playground, agents.run with wait=true); that step widens to ai_stream (180000 ms). Large suites: options.async=true then poll discovery.job…

      After

      AgentStack MCP = Work Graph control plane. After session + context.project_id: agents.work_next (mcp_work_loop_v1) -> plan_claim -> plan_execute (CAS/leases). Follow packet.next_action; catalog/discovery.search only if no packet. One-shot CRM/upload may call domain actions directly. Spine: agents.plan_get -> agents.work_next -> agents.plan_claim -> agents.plan_execute. Anti-pattern: Do not pick tools from catalog when packet.next_action is present. Mandatory session order: authenticate -> session probe auth.get_profile (alias auth.me) -> select/create project -> set context.project_id on every batch -> Work Graph loop. Playbook GET /mcp/prompts/get?name=agentstack_session_setup (recipe mcp_session_setup). Sync POST /mcp is lane mcp_batch (60000 ms) for the whole batch - not an RBAC cap. One expensive step per sync execute (bots.simulate, knowledge.playground, agents.run with wait=true, agents.plan_*, context.get); LLM-heavy steps widen to ai_stream (180000 ms). Large suites: options.a…

  3. , Automatic check

    1 tool changed. Server instructions changed.

    New server instructions

    Details, 7 Oct 2026, 01:33 UTC

    Changed 1

    • agentstack.executedescription
      Before

      Bound project: agents.work_next (recipe mcp_work_loop_v1) before catalog search. discovery.search is fallback only. Mandatory session order: authenticate -> session probe auth.get_profile (alias auth.me) -> select/create project -> set context.project_id on every batch -> domain work. Playbook GET /mcp/prompts/get?name=agentstack_session_setup (recipe mcp_session_setup). Execute AgentStack operations as steps: id, action, params. Sync POST /mcp is lane mcp_batch (60000 ms) for the whole batch - not an RBAC cap. Heavy LLM actions (bots.simulate, knowledge.playground, agents.run with wait=true) : at most one per sync execute. A single heavy step is widened to ai_stream (180000 ms). Cheap discovery/list/get actions may batch (max 50 steps). Large suites: sequential executes, or options.async=true then poll discovery.job_status (REST GET /mcp/jobs/{{job_id}}). Catalog: GET /mcp/actions (see execute_budget). Cite one number: catalog_actions_public from GET /mcp/actions/summary. GET /mcp/he…

      After

      AgentStack MCP = Work Graph control plane. After session + context.project_id: agents.work_next (mcp_work_loop_v1) -> plan_claim -> plan_execute (CAS/leases). Follow packet.next_action; catalog/discovery.search only if no packet. One-shot CRM/upload may call domain actions directly. Spine: agents.plan_get -> agents.work_next -> agents.plan_claim -> agents.plan_execute. Anti-pattern: Do not pick tools from catalog when packet.next_action is present. Mandatory session order: authenticate -> session probe auth.get_profile (alias auth.me) -> select/create project -> set context.project_id on every batch -> Work Graph loop. Playbook GET /mcp/prompts/get?name=agentstack_session_setup (recipe mcp_session_setup). Sync POST /mcp is lane mcp_batch (60000 ms) for the whole batch - not an RBAC cap. One heavy LLM step per sync execute (bots.simulate, knowledge.playground, agents.run with wait=true); that step widens to ai_stream (180000 ms). Large suites: options.async=true then poll discovery.job…

    Server instructions

    Before

    AgentStack MCP — one tool: agentstack.execute (POST /mcp). Bound project: agents.work_next (recipe mcp_work_loop_v1) before catalog search. discovery.search is fallback only. Authenticate first: GPT/Cursor OAuth Connect (user logs in), or POST /mcp/.well-known/oauth-token grant_type=password, or MCP auth.login. If this client cannot complete OAuth, use the user's API key: header X-API-Key or Authorization: Bearer <user API key> from the profile. Session probe: auth.get_profile (alias auth.me). Bind context.project_id before domain work. If session_ready or mutation_allowed, do not log in again and do not switch_project. Then agents.work_next. Call discovery.status only when the work packet has no next_action. discovery.search for the human goal, discovery.describe for one action, preflight.check before writes. Empty lists are valid. Diagnose before repair. A timeout retries the same idempotency key. Do not call a heavy_llm action only to read state. A page at /s/{id}/ uses the hosted cookie, not operator MCP auth.login. Playbook: {hints['prompts_url']}?name=agentstack_session_setup. When discovery.search returns response_mode=workflow, run that step. Do not treat catalog_page as the command. OAuth often binds ecosystem project_id=1 — override with tenant id.

    After

    AgentStack MCP — one tool: agentstack.execute (POST /mcp). Bound project: agents.work_next (recipe mcp_work_loop_v1) before catalog search. discovery.search is fallback only. Authenticate first: GPT/Cursor OAuth Connect (user logs in), or POST /mcp/.well-known/oauth-token grant_type=password, or MCP auth.login. If this client cannot complete OAuth, use the user's API key: header X-API-Key or Authorization: Bearer <user API key> from the profile. Session probe: auth.get_profile (alias auth.me). Bind context.project_id, then agents.work_next. If session_ready or mutation_allowed, do not log in again and do not switch_project. discovery.search only when packet.next_action is absent. discovery.describe for one action. preflight.check before writes. Empty lists are valid. Diagnose before repair. A timeout retries the same idempotency key. Do not call a heavy_llm action only to read state. A page at /s/{id}/ uses the hosted cookie, not operator MCP auth.login. Playbook: /mcp/prompts/get?name=agentstack_session_setup. When discovery.search returns response_mode=workflow, run that step. Do not treat catalog_page as the command. OAuth often binds ecosystem project_id=1 — override with tenant id.

  4. , Automatic check

    Tracking started: 1 tool.

FAQ

Can I paste mcp.tc/i/agentstack into my MCP client?

No. mcp.tc links are pages, not server addresses. Connect with https://agentstack.tech/mcp, so your client talks to AgentStack directly. Your key goes there too, never to mcp.tc. The quick link is for sharing: it opens this page, with setup steps for every client.

Does AgentStack need an API key or a sign-in?

Yes. AgentStack needs an API key, sent as the X-API-Key header. Get one from AgentStack and keep it in your client’s config, never in a shared file.

Is AgentStack a remote or a local server?

Remote. AgentStack hosts it at https://agentstack.tech/mcp, and it speaks Streamable HTTP. There’s nothing to install.

What can AgentStack do?

It has 1 tool: agentstack.execute. You can run batched AgentStack actions with one execute tool, discover available actions by describing a goal and run preflight checks before write operations.

Which clients can use it?

Any client that supports remote MCP servers and can send your key: Claude Code, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. On claude.ai and Claude Desktop, add the key as a request header when you create the custom connector. ChatGPT can’t send a key, so it can’t use it.

Does mcp.tc track changes to AgentStack?

Yes. AgentStack’s History tab shows each change we find to its tools, down to descriptions and parameters, plus new versions and edits by its owner. Follow the listing to get an email when it changes.

Who wrote this page?

mcp.tc’s robot read AgentStack’s own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

mcp.tc isn’t affiliated with AgentStack. This page was built from AgentStack’s public metadata, last checked on 7 Oct 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.