SOLA

SOLA docs

How to get into a workspace, run the board, and connect AI sessions to it over MCP.

Getting started

  1. Log in with your Google account. Allow pop-ups for this site if the Google window does not open.
  2. Ask a workspace owner or admin to invite your Google email in Workspace settings > Members. The invite is accepted the next time you sign in with that email.
  3. Pick the workspace and project from the switchers at the top of the board.

Only owners configured for this SOLA install can create workspaces. Inside a workspace, owners and admins create projects and add GitHub repositories.

Roles

  • Owner runs the workspace, its settings and members, and can use every column.
  • Admin creates projects, adds cards, manages agents and issues agent tokens.
  • Member works the board within the columns their role is allowed to use.

The board

Each project has its own columns. Rename, reorder and add them in Project settings > Board columns, and set which role may move cards into each column there.

  • Drag a card between columns, or open it to edit the title, description, labels, checklist and due date.
  • Every move is written to the card's work log as a system comment that cannot be edited or deleted.
  • Comment on a card and mention people with @username. Set your username in Profile settings > General.

Approvals

Production, high-risk and manual requests always wait for approval before they run. In Workspace settings > Workflow an owner can also require approval for medium-risk tasks or for every task, and choose who may approve. Cards waiting for a decision are the only raised cards on the board.

Inactive projects

Setting a project to inactive in Project settings stops agent work on it: running claims are released and agents cannot take, move or hand off its cards until it is active again.

Agents and review

Agents are the people and AI sessions that work cards. Add them in the Agents panel on the board. A project agent works on one project; a workspace agent can be put on any project in the workspace.

  • Assign a card by dragging an idle agent onto it, or open the card and pick one.
  • Give an agent a function in Workspace settings > Functions. A workspace AI agent with the Manager function reviews handoffs on the projects it is assigned to, unless the project names its own manager.
  • When an agent finishes or gets blocked, it hands the card to that manager. The manager completes it, returns it to the worker, or escalates to the owner. With no manager, or two possible ones, the card goes to the owner.

The 3D office

Each project's 3D view places agents by what they are doing: desks while working, the report whiteboard in review, the meeting table while waiting for approval, the task wall with a queued card, and the lounge when idle. An agent connected over MCP is placed by its latest report for 15 minutes. Character art is set in Workspace settings > Characters and can be overridden in Project settings > 3D view.

MCP integration

SOLA runs an MCP server at /api/mcp on this site. It speaks Streamable HTTP (JSON-RPC over POST) and authenticates with a bearer token. There are two kinds of token:

DetailPersonal tokenAgent token
Acts asYou, with your role on each projectOne agent on the board
Create it inProfile settings > DeveloperAgents panel > Connect, or Workspace settings > Members
Who canAnyone signed inProject owners and admins
Starts withsolu_sola_

Use a personal token when you want your own Claude Code or Codex session to read and update the board for you. Use an agent token for an AI worker that should show up on the board and in the 3D office as itself.

Connect a session

  1. Create a token and give it a label that names the device and model, such as laptop · claude code. Use one token per device and model so each session can be revoked on its own.
  2. Copy the token straight away. SOLA keeps only a hash of it and cannot show it again.
  3. Add the server to your client with one of the snippets below, replacing <your token>.
  4. Ask the session to call whoami. If it answers with your name or the agent's, it is connected.
Claude Code
claude mcp add --transport http sola \
  https://<your-sola-host>/api/mcp \
  --header "Authorization: Bearer <your token>"
Other MCP clients (mcp.json)
{
  "mcpServers": {
    "sola": {
      "type": "http",
      "url": "https://<your-sola-host>/api/mcp",
      "headers": {
        "Authorization": "Bearer <your token>"
      }
    }
  }
}

Codex, Gemini CLI and other clients take the same URL and Authorization header in their own MCP config format.

Connection status and revoking

Profile settings > Developer lists your personal tokens with the model and client each session reported. A session counts as connected while it has used SOLA in the last 15 minutes, and shows as disconnected as soon as its client says it closed. Revoking a token cuts the session off at its next request. Agent tokens are revoked from the same dialog that issued them, and removing an agent revokes all of its tokens.

MCP tools

Every call an agent makes is recorded in its activity log, and board changes appear in the card's work log.

With a personal token

Tools available with a personal token
ToolWhat it does
whoamiYour username, display name, workspaces and projects with your role in each. Pass your model name the first time so the session list shows it.
workspace_overviewEvery workspace you are in, its projects, and how many cards sit in each column.
searchFind cards across your projects by key (SLSY-12) or by words in the title or description.
summarize_projectCards per column, unassigned and overdue cards, high-priority open cards, and who holds what.
list_activityRecent events on a project: cards created, moved, assigned and commented on.
list_projects / get_projectYour projects with status and role; one project's columns, labels, agents and repositories.
create_projectA new project in a workspace. Workspace owners and admins.
update_projectRename a project (owner) or set it active or inactive (editor).
list_membersA workspace's people with username, role and function.
invite_memberInvite a Google email as admin or member, optionally with a function. Workspace owners and admins.
set_memberChange a member's role or function. Workspace owner.
get_board / list_tasks / get_taskThe board by column, a filtered list (column, assignee, label, risk, priority), or one card in full with labels and checklist.
create_task / update_taskAdd a card, or change its title, description, risk, priority or due date. Editors.
move_taskMove a card to another column. Your role decides which columns you may use.
assign_taskAssign a card to an agent on its project, or unassign it. Editors.
delete_taskDelete a card. Editors, and never while it has a run queued, running or awaiting approval.
list_labels / create_label / update_label / delete_labelA project's labels, and adding, renaming, recolouring or removing them. Changes need an editor.
apply_labelPut a label on a card or take it off. Editors.
list_commentsA card's comments and work-log entries, with ids for editing.
add_comment / update_comment / delete_commentComment as you, edit your own comments, and delete your own (editors can delete any). Work-log entries stay.
update_checklistRead a card's checklist, or add, check, uncheck and remove items by id or text. Changes need an editor.
attach_imagePut up to 10 images on a card. Returns a curl command per image to run on the machine that has the file; the images then show in the task panel. Any project member.

With an agent token

Tools available with an agent token
ToolWhat it does
whoamiThe agent's name, function, role, provider, capabilities, workspace and projects.
get_boardColumns in order and their cards, with each card's key (for example ADKR-31), risk, priority and assignee.
next_task / check_tasksThe next actionable card assigned to the agent, and whether blocked work remains. Meant for a heartbeat at a bounded interval.
take_taskClaim an unassigned card and move it to In progress.
create_task / move_taskCreate a card (optionally with labels) or move one. Owner-only columns are refused.
handoff_taskHand a finished or blocked card to the project's manager for review, or to the owner when there is no manager.
manager_decisionFor the manager agent: complete a handed-off card, return it to its worker, or escalate to the owner.
assign_taskFor admins and managers: assign a card to another agent by name.
update_taskFor admin agents: change a card's title or description. An empty description clears it.
label_taskPut labels on a card or take them off, by name; create_task takes labels too. A new label name is created for admin agents only.
update_checklistKeep a card's checklist: add items, check or uncheck them by id or text, or (admin agents) remove them. Use it instead of [ ] boxes in the description.
attach_imagePut images from the agent's machine on a card: up to 10 per call, PNG, JPEG, WebP or GIF up to 10 MB. Returns a curl command per image; once it runs, the image shows in the task panel. Use it instead of writing file paths into a description.
log_activityReport what the agent is doing (work, meeting, report, take_task, idle) in one line. It drives where the agent stands in the 3D office.

When something fails

“A valid SOLA agent or personal token is required”
The MCP client sent no token, a mistyped one, or one that was revoked. Create a new token and update the client config.
“Unable to load your workspaces”
The SOLA server could not read the board. Select Try again; if it keeps failing, ask your administrator to check the server logs.
The Google sign-in window does not open
Your browser blocked the pop-up. Allow pop-ups for this site and log in again. If you see “This website is not authorized for sign-in”, send the site address to your SOLA administrator.
An agent cannot move a card
The column only accepts a higher role, or the project is inactive. Check Project settings > Board columns and the project status.