Skip to main content
Last updated · October 27, 2026Early access

AltOrbit for AI agents (MCP)

Connect the AI assistant you already use to AltOrbit. It reads and updates your tickets, tracks your time and runs project reports — as you, with your permissions, only when you ask it to.

Overview

AltOrbit runs a remote server that speaks the Model Context Protocol (MCP), the open standard AI apps use to call outside tools. Add it to your AI client once, and the assistant can work with your AltOrbit workspace: find and read tickets, create and update them, comment, move them across the board, track time and summarise how a project is going. Clients of a studio can follow and manage their own requests the same way.

Server URL
https://api.altorbit.app/mcp

The server uses Streamable HTTP. Clients sign in with OAuth: you approve the connection on an AltOrbit page, and no password or key is ever pasted into the AI app. Clients that cannot sign in can use a personal access token instead.

What you can do with it

The tools you get depend on your role in the workspace, not on your job title. A few things people ask for:

Project managers and owners

Get a project overview, delivery flow and estimate accuracy in one answer, see who is overloaded, approve or decline new client requests, offer a budget, and keep the board's columns and labels in order.

“How is WEB going this month, and what is blocked?”

Developers

See what is assigned to you, start work on a ticket and get its branch name and commit message, run the timer, comment, link blockers and move the ticket to review — without leaving the editor.

“Start work on WEB-142 and start my timer.”

QA

Check a ticket in review against what was asked for, read its history and earlier versions, file bugs as subtasks or blockers, and move it back or forward with a comment.

“Verify WEB-142 against its description and list what is missing.”

Clients of a studio

See where your requests stand and what waits for you, open a request, answer a budget offer, review delivered files, reply to the studio, and accept finished work or send it back.

“What is waiting for my answer on the website project?”

Connect your AI client

Every client below signs in through AltOrbit's consent page: it opens in your browser, shows which app is asking and what it may do, and asks you to confirm it is you before you approve. Pick the workspace the app should work in there. You can also find this guide, with ready-made buttons, in the web app under Settings › AI agents.

Claude

On claude.ai or in the Claude desktop app, open Settings › Connectors and choose Add custom connector. Name it AltOrbit, paste the server URL and press Add, then Connect and approve the request in AltOrbit. Turn the connector on in a chat from the tools menu.

Once AltOrbit is listed in Claude's connectors directory, you can add it from there instead of pasting the URL.

Claude Code

Run this in a terminal:

claude mcp add --transport http altorbit https://api.altorbit.app/mcp

Then type /mcp in Claude Code, choose altorbit and sign in. Add --scope user to use it in every project, or --scope project to share it with your repository.

Cursor

Use the install link below, then press Connect beside altorbit in Cursor Settings › MCP and approve the request.

Add AltOrbit to Cursor →

Or add it by hand:

~/.cursor/mcp.json
{
  "mcpServers": {
    "altorbit": {
      "url": "https://api.altorbit.app/mcp?toolsets=compact"
    }
  }
}

The link and the config use the compact preset, because Cursor counts the tools of all your MCP servers together. Remove ?toolsets=compact to get every tool, or add toolsets after it, such as compact,reports.

VS Code

Use the install link below. VS Code asks you to sign in the first time GitHub Copilot uses an AltOrbit tool in agent mode.

Add AltOrbit to VS Code →

Or add it to your workspace by hand:

.vscode/mcp.json
{
  "servers": {
    "altorbit": {
      "type": "http",
      "url": "https://api.altorbit.app/mcp"
    }
  }
}

Codex

Add the server to ~/.codex/config.toml, then sign in from a terminal:

~/.codex/config.toml
[mcp_servers.altorbit]
url = "https://api.altorbit.app/mcp"
codex mcp login altorbit

ChatGPT

In ChatGPT, open Settings › Apps & Connectors › Advanced settings and turn on Developer mode (where your plan offers it). Then choose Create, name it AltOrbit, paste the server URL, choose OAuth and approve the request in AltOrbit.

Windsurf

Open Windsurf Settings › Cascade › MCP servers, choose to edit the raw config and add the server. If Windsurf does not offer to sign in, use a personal access token as shown below. The config uses the compact preset: like Cursor, Windsurf counts the tools of all your servers together.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "altorbit": {
      "serverUrl": "https://api.altorbit.app/mcp?toolsets=compact"
    }
  }
}

Personal access tokens

For a client or script that cannot sign in with OAuth, send a token in the Authorization header. A token acts as you, in one workspace, with only the permissions you pick.

  • In the AltOrbit web app, open Settings › AI agents › Personal access tokens and choose Create token.
  • Name it, pick the workspace and the permissions, and confirm it is you. You can set a shorter lifetime.
  • Copy the token — it starts with ao_pat_ and is shown only once — and send it as a bearer token.
Authorization: Bearer ao_pat_…

For example:

Claude Code
claude mcp add --transport http altorbit https://api.altorbit.app/mcp --header "Authorization: Bearer ao_pat_…"
Windsurf
{
  "mcpServers": {
    "altorbit": {
      "serverUrl": "https://api.altorbit.app/mcp?toolsets=compact",
      "headers": {
        "Authorization": "Bearer ao_pat_…"
      }
    }
  }
}

Toolsets

Tools are grouped into toolsets. By default a connection gets every tool your role and permissions allow. To offer the AI fewer tools, name the toolsets you want, or a preset; core is always included.

ToolsetWhat is in it
coreWho you are, your projects and a project's board: columns, labels, milestones and people. Always on.
ticketsSearch, read, create and change tickets, comments and links, start work and watch tickets; for admins also the trash. Clients find, read and reply on their own requests.
revisionsA ticket's earlier versions, and restoring one.
setupBoard columns and project labels. Owners and admins.
requestsDeciding on client requests and offering a budget. Owners and admins.
filesFiles on tickets: list and open them, attach new ones, show them to the client or hide them, delete them.
timeYour timer and time entries.
reportsProject overview, delivery flow, estimate accuracy and team workload.
inboxYour notifications.
clientFor clients of a studio: project status, opening and editing requests, budget offers, reviewing deliveries, accepting or sending back work, and the cards your own side works.

Add ?toolsets= to the server URL with a comma-separated list, for example ?toolsets=tickets,time. A client that cannot change the URL can send the X-MCP-Toolsets header instead; the URL wins if both are set. Unknown names are ignored.

Cursor and Windsurf: the compact preset

Cursor and Windsurf count the tools of all your MCP servers together and stop offering the model any beyond their limit. AltOrbit alone can offer an owner a few dozen tools, so next to other servers some of them may quietly drop out. The compact preset keeps the everyday work — core, tickets, time and client — and leaves out versions, board setup, request decisions, files, reports and notifications. The Cursor and Windsurf setup above already uses it. How many tools each role gets:

ConnectionOwners and adminsTeam membersClients
Every toolset
https://api.altorbit.app/mcp
362923
Compact preset
https://api.altorbit.app/mcp?toolsets=compact
211918

Presets and toolsets combine: ?toolsets=compact,reports adds the reports, ?toolsets=compact,files adds files.

The toolset list does not change what you are allowed to do, and the sign-in is the same with or without it.

Tools

Every tool, by toolset. Who is the lowest role that sees the tool; Scope is the permission the connection needs; Type says whether the tool only reads, changes something, or can remove or overwrite something, which AI clients use to decide when to ask you first. Tools name things the way people do: tickets by key (WEB-123), projects by key or name, people by name or “me”, columns, labels and milestones by name. Lists are paginated and long texts are shortened and marked.

core

ToolWhat it doesWhoScopeType
whoamiWho this connection acts as: your name, side, role, workspace, teams, time zone and granted scopes.EveryoneprofileReads
projects_listThe projects you work on, with their ticket key prefix, team, status and tracked time.Team membersprojects.readReads
projects_get_boardA project's vocabulary: columns with ticket counts, labels, milestones and assignable people; optionally what deleting a column would affect.Team membersprojects.readReads
projects_listThe projects a studio invited you to: progress, open requests, what waits for you and the next milestone.Clientsprojects.readReads

tickets

ToolWhat it doesWhoScopeType
tickets_searchFind tickets by text and filters in one project or across all of yours, e.g. everything assigned to you.Team memberstickets.readReads
tickets_getOne ticket in full: description, status, people, dates, estimate and time, subtasks, blockers, pull request, money if your role sees it, latest comments.Team memberstickets.readReads
tickets_historyA ticket's activity log: moves, assignments, edits, comments, links, time and pull requests.Team memberstickets.readReads
tickets_createCreate a ticket with status, labels, milestone, people, parent and dates.Team memberstickets.writeChanges
tickets_updateChange title, description, priority, dates, estimate, story points, milestone, client visibility, parent, order or labels.Team memberstickets.writeChanges
tickets_set_statusMove a ticket to another column, optionally to an exact place in it.Team memberstickets.writeChanges
tickets_assignAdd or remove an assignee, or set the ticket's lead.Team memberstickets.writeChanges
tickets_linkAdd or remove a link: blocker, related or duplicate.Team memberstickets.writeChanges
tickets_commentComment on a ticket — internal by default, or public to the project's clients.Team memberstickets.writeChanges
tickets_comment_editEdit your own comment, or delete one (someone else's needs an admin).Team memberstickets.writeRemoves or overwrites
tickets_watchStart or stop notifications about a ticket for you or a teammate.Team memberstickets.writeChanges
tickets_start_workTake a ticket, move it to in progress and get a branch name and commit message.Team memberstickets.writeChanges
tickets_trashMove a ticket and its subtasks to the project trash.Owners and adminstickets.writeRemoves or overwrites
tickets_restoreBring a ticket back from the trash.Owners and adminstickets.writeChanges
tickets_searchYour requests and the tickets a studio shares with you: what waits for you, what is in progress, what is done.Clientstickets.readReads
tickets_getOne of your tickets: description, status, who works on it, dates, price, what you may do now and the conversation.Clientstickets.readReads
tickets_historyWhat happened on one of your tickets, as the studio shares it with you.Clientstickets.readReads
tickets_commentReply in the conversation of one of your tickets.Clientstickets.writeChanges
tickets_comment_editEdit or delete a reply you wrote.Clientstickets.writeRemoves or overwrites

revisions

ToolWhat it doesWhoScopeType
tickets_revisionsA ticket's stored versions: who changed what and from where (app, client portal, MCP), a past version, or the difference between two.Team memberstickets.readReads
tickets_restore_revisionPut an earlier version's fields back as a new version; nothing is lost.Team memberstickets.writeChanges
tickets_revisionsEarlier versions of one of your tickets, as you see the card.Clientstickets.readReads

setup

ToolWhat it doesWhoScopeType
board_columns_manageAdd, rename, recolour, reorder or delete a board column, or make one the intake.Owners and adminstickets.writeRemoves or overwrites
labels_manageCreate, rename, recolour or delete a project label.Owners and adminstickets.writeRemoves or overwrites

requests

ToolWhat it doesWhoScopeType
requests_triageApprove a client request onto the board, decline it, or ask for changes.Owners and adminstickets.writeRemoves or overwrites
tickets_offerOffer the studio's price for a client request still being negotiated.Owners and adminstickets.writeChanges

files

ToolWhat it doesWhoScopeType
tickets_attachmentsList a ticket's files, or open one: images and small text files inline, anything else as a 15-minute download link.Team memberstickets.readReads
tickets_attachment_uploadAttach a file to a ticket — only one you gave the AI or asked it to make.Team memberstickets.writeChanges
tickets_attachment_visibilityShow a studio file to the project's clients, or hide it again.Team memberstickets.writeChanges
tickets_attachment_deleteDelete a file from a ticket for good (its uploader, an owner or an admin).Team memberstickets.writeRemoves or overwrites
tickets_attachmentsList the files on one of your tickets — the studio's deliveries and your own — or open one.Clientstickets.readReads
tickets_attachment_uploadAttach a file to one of your open tickets.Clientstickets.writeChanges
tickets_attachment_deleteDelete a file you attached to one of your open tickets.Clientstickets.writeRemoves or overwrites

time

ToolWhat it doesWhoScopeType
time_statusYour running timer and the hours you tracked today and this week.Team memberstime.readReads
time_startStart your timer on a ticket or a project.Team memberstime.writeChanges
time_stopStop your timer and save the entry, with an optional note.Team memberstime.writeChanges
time_logRecord time you already worked as a finished entry.Team memberstime.writeChanges

reports

ToolWhat it doesWhoScopeType
reports_overviewA project's state: tickets per column, overdue and blocked work, pending requests and weekly throughput.Team membersreports.readReads
reports_flowLead and cycle time of completed tickets and time spent in each column.Team membersreports.readReads
reports_estimatesEstimates against tracked time, and open tickets already over their estimate.Team membersreports.readReads
reports_workloadOpen work per person in a project, and what is unassigned.Owners and adminsreports.readReads

inbox

ToolWhat it doesWhoScopeType
inbox_listYour notifications, newest first. Reading them here does not mark them read.EveryoneprofileReads

client

ToolWhat it doesWhoScopeType
client_project_statusWhere one of your projects stands: milestones, forecast, the studio's latest update and time tracked this month if shared.Clientsprojects.readReads
client_request_createSend the studio a new request, optionally with a proposed budget.Clientstickets.writeChanges
client_ticket_editReword the title or description of a ticket you opened, while it can still be edited.Clientstickets.writeChanges
client_request_withdrawWithdraw a request the studio has not approved yet.Clientstickets.writeRemoves or overwrites
client_ticket_acceptAccept finished work and close the ticket.Clientstickets.writeChanges
client_ticket_reopenSend finished work back with what is missing.Clientstickets.writeChanges
client_offer_respondAccept or decline the studio's price for your request, or propose your own; declining ends the request.Clientstickets.writeRemoves or overwrites
client_attachment_reviewApprove a file the studio delivered, or ask for changes to it.Clientstickets.writeChanges
client_ticket_moveMove a card your side works to another column.Clientstickets.writeChanges
client_ticket_assignChoose who from your company works a card your side works, or who leads it.Clientstickets.writeChanges
client_ticket_transferHand a card your side works over to the studio as a request.Clientstickets.writeChanges

Only in the AltOrbit app

Some things stay in the app on purpose: emptying the trash, editing a description together live, seeing who is online, turning chat messages into tickets, managing people, invites and badges, posting revenue, and files over 700 KB.

Prompts

The server also offers ready-made prompts. Clients show them differently — as slash commands in Claude Code, for example.

  • my_day — plan your day from your assigned tickets, timer and unread notifications (Team members)
  • status_report — draft a status update for a project from its board, flow and estimates (Team members)
  • triage_intake — walk through new tickets and client requests nobody has sorted yet (Team members)
  • verify_ticket — check a ticket in review against what was asked for (Team members)
  • my_requests_status — summarise your requests to the studio and what waits for your answer (Clients)

Permissions

An AI app acts as you. It sees and changes only what you could in AltOrbit yourself, in the one workspace you connected it to, and never more than the scopes you granted. Every rule of the app — who may see money, who may trash a ticket, what a client may edit — is checked by AltOrbit on each call, whatever the AI asks for.

Scopes

ScopeAllowsClients
profileWho you are, your workspace and your notifications.Yes
projects.readYour projects, their boards and, for clients, project status.Yes
tickets.readRead tickets, comments, files, history and versions.Yes
tickets.writeCreate and change tickets, comments, links, files and assignments; for clients, requests, offers and replies.Yes
time.readYour timer and tracked hours.No
time.writeStart and stop your timer and log time.No
reports.readProject reports.No

Roles

  • Team members get ticket, time, report and inbox tools on the projects they belong to. Money fields appear only where their role shows them in the app.
  • Owners, company admins and team admins also get the team workload report, board columns and labels, the trash, and deciding on client requests and their budgets.
  • Clients of a studio get only client tools, see only what the studio shares with them, and can hold only the profile, projects.read, tickets.read and tickets.write scopes.

If a tool needs a scope the connection lacks, the server answers with 403 insufficient_scope and names it, so your client can ask you to approve more. A tool your role cannot use is simply not offered.

Workspace controls

Owners and company admins decide whether AI apps may work with the workspace at all. They can:

  • Turn AI connections off for the whole workspace; they are on by default. Turning them off pauses connected apps and tokens rather than revoking them: every tool call is refused with an error saying your organisation has turned off AI agent access, and no new app can be connected or token created. Turning them back on resumes every app and token that was not revoked or did not lapse meanwhile, without reconnecting.
  • See and revoke every AI app and token connected to the workspace, whoever connected it. Its holder is notified when one is revoked.
  • Hear about new connections — owners and company admins are notified when a member connects an AI app or creates a personal access token.

Security

How AltOrbit keeps a connected AI app in check:

  • Consent with re-authentication — OAuth 2.1 with PKCE. The consent page on app.altorbit.app shows which app is asking, who vouches for it and where access goes. Approving an app or creating a token asks you to confirm it is you, with any one of: a passkey (Face ID or fingerprint), a linked account such as Google, Apple or GitHub, a two-factor code, your password, or a one-time code sent to your email. After you sign in or confirm, you are not asked again for 2 hours; each approval or new token restarts that time.
  • Short-lived access — an access token lasts one hour. Refresh tokens change on every use and lapse after 30 days unused, and after 365 days at most.
  • Personal access tokens are shown once, lapse after 90 days unused and after 365 days at most (or sooner if you choose), and carry a fixed ao_pat_ prefix so secret scanners can spot a leaked one.
  • No stored secrets — tokens are kept only as keyed hashes; we show you the last four characters to tell them apart.
  • Checked on every call — your membership, role and client access are read fresh each time, so losing access in AltOrbit cuts the AI app off at once.
  • Account events reach agents — resetting your password, changing two-factor sign-in, or signing out of all other sessions also disconnects every AI app and token. An owner or company admin turning AI connections off for the workspace pauses them instead — see Workspace controls.
  • Audit trail — the actions AltOrbit audits when you take them in the app, such as ticket, board and request changes, are recorded in the workspace audit log when an AI app takes them too, along with refused attempts. Each record names the tool, the connection and the name the app gave itself.
  • Marked in ticket history — every stored version of a ticket says where the change came from: the app, the client portal or MCP.
  • Content is data — AltOrbit tells the model to treat titles, descriptions and comments as data and never as instructions, and marks which tools change things so your client can ask you first. Your permissions are enforced on the server either way.
  • Rate limits — an AI app meets the same per-user limits as you do in the app.

Revoke access

  • Connected apps — in the web app, open Settings › AI agents and choose Disconnect beside the app. Its tokens stop working at once; to use it again, connect and approve it again.
  • Personal access tokens — in the same place, choose Revoke. Any tool using the token stops working at once.
  • Owners and company admins can revoke any app or token connected to the workspace, or pause them all by turning AI connections off — see Workspace controls.
  • Deleting your AltOrbit account removes all of your connections and tokens. You can also remove AltOrbit from your AI client, but only revoking it in AltOrbit ends its access.

Troubleshooting

401 Unauthorized

The token is missing, expired or revoked. Sign in again from your client (in Claude Code: /mcp, then choose altorbit). With a personal access token, check the Authorization: Bearer header and that the token is still listed in Settings › AI agents.

The email code doesn't arrive

A one-time code is sent only to a verified email address. Verify your email first, or confirm it is you another way.

403 insufficient_scope

The tool needs a permission this connection was not granted; the error names it. Reconnect and approve that permission, or create a token that includes it.

AI_AGENTS_DISABLED

Your organisation has turned off AI agent access to the workspace. Your client stays connected, but every tool call returns this error and no new app or token can be connected. Only an owner or company admin can turn it back on — ask one of them. Your apps and tokens are kept and work again without reconnecting.

A tool is missing

Your role may not include it (some tools are for owners and admins, others only for clients), the connection may lack its scope, or the server URL may name toolsets that leave it out. Ask the AI to call whoami to see your role and scopes. Some things are done only in the app — see Only in the AltOrbit app.

Cursor or Windsurf ignores some tools

You are probably over the client's limit on tools across all servers. Connect AltOrbit with ?toolsets=compact, add only the toolsets you need, or turn off servers you don't use.

An answer is cut short

Large results are trimmed to fit the AI's context and say so; long texts are shortened and marked as truncated. Ask for less at once: filter a search, read one ticket, or page through with the cursor.

“Ambiguous” or “not found” names

When a name matches more than one ticket, person or column, the error lists the candidates. Tell the AI which one you mean, or use the ticket key.

429 Too many requests

The AI app hit a rate limit. The error says how many seconds to wait before calling again.

Support and privacy

Questions or problems with the connector: email support@altorbit.app or use the form on the support page. How we handle data when you connect an AI app is described in our Privacy Policy; security reports go to security@altorbit.app.