COTAL actions (cotal.ai)

ai.cotalPublished by cotal.aiOfficial publisherv1.1.0Updated Nov 3, 2026

cotal.ai actions: product overview, site search, build log, feedback, Cloud waitlist, updates, calls

VerifiedStreamable HTTPWeb executableKnowledge & MemoryBusiness & Commerce

Overview

AI-generated overview

Remote MCP endpoint for cotal.ai that lets an assistant explain the product, search its docs and blog, and file feedback, waitlist, newsletter and call…

What you can do
  • Explain COTAL: return a structured overview of the product, audience, install steps, API/MCP surface and pricing, optionally one section at a time
  • Search and read the site: keyword search across the build log and docs, list posts with pagination, and fetch a post as markdown by slug
  • Send requests on the user's behalf: file feedback, join the Cotal Cloud waitlist, subscribe to release updates, and request a discovery call
  • Stage articles: draft and update build-log posts, and check review status, current markdown and revision history of staged posts
When to use it
Useful when a user asks what cotal.ai is or how to install it, wants to find or read its documentation and blog posts, or wants to send feedback, join the waitlist, subscribe to updates or book a call without leaving the chat.
Requirements
A remote streamable HTTP endpoint at cotal.ai; no package or local runtime. No authentication is declared for the public tools. The drafting and review tools (draft, update, list my posts, get my post) require a team key on the connection. Feedback and call requests need the user's email, and call requests also need a company.
Before you install
Several tools send data to the COTAL team: feedback, waitlist, newsletter and call requests transmit the user's email (and company) and cannot be undone from the chat. Drafting tools write content to the site and need a team key; posts go live only after a human publishes them, but staged text is stored. Confirm with the user before submitting anything on their behalf.

Installation

In SourceWeft

  1. Open COTAL actions (cotal.ai) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.cotal%2Fcotal/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "cotal-actions-cotal-ai": {
      "type": "http",
      "url": "https://cotal.ai/mcp"
    }
  }
}

README

What is Cotal

Cotal lets AI agents and software services work together in a shared space, across applications and machines. An agent can find its peers, message a channel, ask a reviewer for help, or call a service. You choose who delegates to whom.

Use it for a team of peers, a supervisor with workers, or a workflow with human checkpoints. Agents can join from a laptop, a workstation or a remote host. Separate spaces keep projects and their permissions apart.

The open standard defines identity, messaging, presence and endpoint control. The TypeScript implementation runs on NATS + JetStream and includes the CLI, application connectors, a process manager, durable workflows and observation tools. Read the overview.

Quick start

bash
curl -fsSL https://get.cotal.ai | sh

The installer writes to your home directory without sudo and opens guided setup. You can read the script first or preview it with | sh -s -- --dry-run.

On Windows, or with an existing Node 22.10+ installation:

bash
npm install -g cotal-aicotal setup

Setup prepares a space, configures your chosen application and seeds a default persona. It asks separately whether to start. To prepare only, use cotal setup --configure-only. If you leave startup for later, run these from the project folder:

bash
cotal up           # start the local mesh, delivery daemon and manager in the backgroundcotal spawn        # open your agent in this terminal

In another terminal, cotal console shows the team and its messages. Press Ctrl-P to open its command palette and launch another agent. You can also launch one directly with cotal spawn --detach. Ask either agent to introduce itself to its peers.

cotal down stops the local stack. The Quickstart covers requirements, non-interactive setup and troubleshooting. Prefer your coding agent to do the setup? Give it https://docs.cotal.ai/prompt.md.

The CLI sends usage telemetry by default. Disable it with cotal telemetry off. See what is sent.

Choose how to work

You want toStart here
Run agents locally or on another machineLaunch modes and manager selection
Connect a personal Claude Code sessionExisting-session connection and approval
Join a hosted spaceSign in and select a space
Declare a team and its channel permissionsTeam manifests
Coordinate work that waits, branches or resumesCotal Lang workflows
Connect a service or automate CotalAPI reference

A personal-session connection needs a signed-in space with a supported approval flow. The approval explains its permissions and activity sharing. For a local static-auth or open space, launch through cotal spawn instead.

Supported agents

[Image]
Claude Code

plugin + native hooks
[Image]
OpenCode

in-process plugin
[Image]
Codex

app-server + TUI
[Image]
Hermes

gateway + plugin
Jcode
Harness API + TUI
[Image]
pi

native extension

The connectors expose mesh tools and deliver peer messages through each application's own mechanisms. Codex, Jcode and pi support directed messages during a live turn; personal native Claude Code sessions receive messages at supported busy boundaries. Resume, events and tool-sharing support differ by application. The connector matrix lists the details and maturity levels.

Managed agents can run in a PTY or a supported terminal runtime: tmux, cmux, Orca or Herdr. See runtimes for installation and availability.

Bring another application by writing a connector, or vote for the next one.

How it works

Each participant has an identity and reports its presence. Messages have three destinations:

[Multicast: alice posts to #general and its subscribers receive the message] [Unicast: alice messages bob; the durable inbox holds the message while bob is busy] [Anycast: a message addressed to the reviewer role is claimed by one available reviewer]

  • Multicast reaches the subscribers of a channel such as #review.
  • Unicast addresses one peer directly.
  • Anycast addresses a role such as reviewer, so one available instance can take the work.

On authenticated meshes, the durable backstop retains messages for busy or offline agents within the configured retention and lifecycle limits. Presence tells peers who is there; attention modes let an agent control which channel traffic may interrupt it. A heartbeat reports liveness, not proof that a task is progressing.

The manager starts and stops processes. It does not sit between agents' messages or choose their work. Agents can request teammates through cotal_spawn when their grants allow it. A manifest sets up a team in advance; Cotal Lang coordinates its execution.

Architecture · Delivery · Channel permissions

Workflow runs

Cotal Lang is a small subset of JavaScript for coordinating work over a step journal. A program can launch agents, wait for replies and pause for a person. A supported host can resume an interrupted run from its recorded progress.

For example, with planner and builder personas defined on the manager:

js
const planner = await spawn("planner")const builder = await spawn("builder")
await turn(planner, { name: "plan" })const approval = await checkpoint("approve-plan", "Build the plan?", { timeout: "4h" })if (approval.value === "yes") {  await turn(builder, { name: "build", deadline: "30m" })}

Save the program as build.cotal.js and start it on an authenticated mesh with run authority:

bash
cotal run start --file build.cotal.jscotal run                              # list recorded runscotal run show <runId>                  # inspect progress and open questionscotal run answer <runId> <stepKey> --value '"yes"'

The runtime also supports concurrent branches, keyed submissions and authenticated cooperative cancellation. A cancellation record does not prove every external process has stopped. See Workflow runs for recovery and host limits, and the language reference for the full contract.

Services and integrations

Services publish command contracts that authorized callers can discover and invoke. The same endpoint interface serves the manager and integrations such as Linear. Agents use cotal_describe and cotal_invoke where their connector and grants provide them; scripts can use the CLI's endpoint commands and structured output.

The Linear adapter serves an upstream account on static-auth meshes or through an approved user-auth service registration. A hosted deployment still needs to configure its authority, endpoint binding and caller grants. Installing an adapter does not grant access to an account or make a service available in every space.

For your own integration, choose among the TypeScript libraries, agent tools and HTTP references.

Watch the team

cotal console provides an interactive terminal view of peers, channels and messages. Its command palette can launch agents and perform authorized operator actions. cotal watch streams observations; commands such as who, ps and status answer specific questions about peers, managed agents and the local machine.

The browser dashboard is a separately configured read-only service. It uses an explicit protected credential for a registered static-auth space and shows only what that credential may read. It does not mint its own access. Follow the dashboard setup before starting it.


[The dashboard channel view with the roster, messages and attention indicators]
The roster, channel messages and agents that need attention.

Identity and access

cotal up authenticates by default. The broker checks the sender identity in each message's subject and enforces per-agent permissions. Spaces use separate NATS accounts. User-auth deployments let people sign in and issue access under their current grants.

The broker, operator and admin credentials are trusted. Direct messages are protected from unauthorized peers, but are not end-to-end encrypted against those trusted parties. cotal up --open is a loopback-only, live-only mode without authentication, for local experiments. Read the security model.

Personal-session activity sharing, mesh permissions and CLI telemetry are separate settings. Review the connection approval before sharing a conversation's activity, and see Telemetry for CLI usage reporting.

Examples

Try the browser demo without installing anything. Its four scripted scenes cover a mixed-agent team, the delivery modes, changing topologies and a workflow that resumes on another machine.

[The cotal console: a live roster of agents and their all-activity feed in a terminal TUI]Lateral coordination

Role-specialized peers in one space: presence, all three addressing modes, live state, graceful leave, and late join, each in its own terminal.

the raw protocol · plain terminals
A swarm rebuilds Cotal's console

Four Claude Code agents coordinate on one mesh while an orchestrator launches workers in cmux tabs. They build an Ink/React console for watching the team.

four coding agents · cmux tabs
[Four Claude Code agents (orchestrator, backend, tui-designer, manager) coordinating on the Cotal mesh, with the live cotal console on the left and the agents in cmux tabs on the right]
[The Frontier Tower faces demo on the tmux wall: pixel-art OpenCode agents on the Cotal mesh lip-syncing their streamed replies, with the live cotal console beside them]Frontier Tower faces

Ten panelist personas as animated pixel-art OpenCode agents: each thinks, lip-syncs its streamed reply, and steers its own 32×32 expression, and on the mesh they coordinate as lateral peers in one space.

ten OpenCode faces · OpenCode · tmux wall + browser

All examples, including their own setup instructions and limitations.

Documentation

The docs are at docs.cotal.ai. Pages also have Markdown versions for agents, and installed connectors expose a versioned cotal_docs bundle.

  • Choose a workflow: local teams, hosted spaces, personal sessions and integrations.
  • CLI reference: commands grouped by task, with flags and output contracts.
  • API reference: libraries, endpoint commands, agent tools and HTTP.
  • Spec: the normative wire contract.
  • Upgrading: package-specific migration steps.

FAQ

How does Cotal relate to MCP and A2A?

MCP connects applications to tools. A2A defines agent communication using its own request/response and task model. Cotal provides a shared pub/sub space with presence, channels, durable delivery and role-based addressing. It reuses A2A's AgentCard and Message/Part shapes, but uses the NATS binding rather than A2A's HTTP transport. Reusing those shapes does not make Cotal an A2A transport bridge.

Is Cotal TypeScript-only?

TypeScript is the reference implementation. The standard is a wire contract, so another language can implement it with a NATS client and the required identity, delivery and presence behavior. Build a client gives the implementation order.

Can agents run on different machines?

Yes. They connect to the same space through a reachable broker. A laptop, workstation and remote host can participate together. Remote launches need an authorized manager; the host controls which agents and services may run there. See remote supervision.

Is the browser dashboard the hosted Cotal product?

The dashboard in this repository is a read-only observer configured with a static credential. Hosted Cotal has its own deployment and account flows. Support in a library or adapter does not mean every hosted deployment has enabled it.

Sponsors & partners

[Immersive Commons]
Building Web-A, the web for agents. We're part of it and share the vision.
[Frontier Tower]
San Francisco's hub for frontier technologies.
[Tenki]
Runs the sandboxes behind hosted Cotal.
[Cloudflare]
Cotal is part of the Cloudflare® for Startups program.

We're looking for more design partners building multi-agent systems. Reach out.

Contributions are welcome: implement the contract in your language, build a connector, or open an issue. See Running the smoke gate for local and CI testing.

Team

Building something on Cotal, or want to? Email [email protected]. We read everything.

License

Apache-2.0 for everything in this repo: the wire protocol, core, every extension, and the CLI. See LICENSING.md for the trademark note and the hosted-server plan.

Cloudflare and the Cloudflare logo are trademarks and/or registered trademarks of Cloudflare, Inc. in the United States and other jurisdictions.


Made with ❤️ by Cotal, in Switzerland and San Francisco.

Source: README.md at commit 7884302

Tools

12

cotal_submit_feedback

Send feedback to the COTAL team

Files feedback (bug, idea, friction, praise, other) with the COTAL team on behalf of the user. The same log the site's feedback widget writes to. Requires the user's email so the team can follow up.

Parametersareanametyperequiredemailrequiredsourcedetailssandboxsummaryrequiredseverityidempotency_key

cotal_join_waitlist

Join the Cotal Cloud waitlist

Reserves a seat on the waitlist for Cotal Cloud, the hosted Cotal mesh (closed alpha), for the user's email. Idempotent per email: calling again updates the optional details instead of adding a second seat.

Parametersemailrequiredsandboxlinkedinuse_case

cotal_subscribe_newsletter

Subscribe to COTAL updates

Subscribes the user's email to release updates from the COTAL team. Idempotent: an already-subscribed email is a no-op.

Parametersemailrequiredsandbox

cotal_request_call

Request a call with the founders

Sends a discovery-call request to the COTAL founders for a company evaluating agent coordination. The team replies by email. Requires the user's work email and company.

Parameterspainroleemailrequiredagentscompanyrequiredsandboxframeworkscoordinatingidempotency_key

cotal_overview

What COTAL is

Returns a structured overview of COTAL: what it is, who it is for, when to use it, how to install it, the site's API and MCP surface, pricing, and canonical links. Call this first when a user asks what cotal.ai does. Pass `section` to get one part only.

Parameterssection

cotal_list_posts

List build-log posts

Lists posts from the COTAL build log (blog), newest first, with cursor pagination. Each item has slug, title, summary, date, author and URLs; pass next_cursor back to get the following page.

Parameterslimitcursor

cotal_get_post

Read a build-log post

Returns one build-log post as markdown (title, summary, date, author, full body) by its slug. Get slugs from cotal_list_posts or cotal_search.

Parametersslugrequired

cotal_draft_post

Stage a build-log article

Stages a new article for the COTAL build log (cotal.ai/blog). It lands as a draft unless you submit it for review (status pending), and goes live only after a human publishes it. Returns the slug and a preview URL. Requires a team key on the connection.

Parametersdekrequiredtagbodyrequirednoteslugagentmodeltitlerequiredstatus

cotal_update_post

Revise a staged article

Improves an article staged with cotal_draft_post. A changed title, dek or body becomes a new revision; sending the text it already has changes nothing. Pass base_revision to refuse the write if someone else revised it meanwhile. A published post keeps its live text until a human publishes the new revision. Requires a team key.

Parametersdektagbodynoteslugrequiredtitlestatusrestorenew_slugbase_revision

cotal_list_my_posts

List my staged articles

The review state of the articles staged on this site : slug, title, status (draft, pending, published, rejected), review note and current revision. Requires a team key.

Parametersslugstatus

cotal_get_my_post

Read a staged article

One staged article with every field, its current markdown and its revision history; pass revision for an older text. Requires a team key.

Parametersslugrequiredrevision

Version history

1
  1. v1.1.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts