SOLA docs
How to get into a workspace, run the board, and connect AI sessions to it over MCP.
Getting started
- Log in with your Google account. Allow pop-ups for this site if the Google window does not open.
- 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.
- 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:
| Detail | Personal token | Agent token |
|---|---|---|
| Acts as | You, with your role on each project | One agent on the board |
| Create it in | Profile settings > Developer | Agents panel > Connect, or Workspace settings > Members |
| Who can | Anyone signed in | Project owners and admins |
| Starts with | solu_ | 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
- 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.
- Copy the token straight away. SOLA keeps only a hash of it and cannot show it again.
- Add the server to your client with one of the snippets below, replacing <your token>.
- Ask the session to call whoami. If it answers with your name or the agent's, it is connected.
claude mcp add --transport http sola \ https://<your-sola-host>/api/mcp \ --header "Authorization: Bearer <your token>"
{
"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
| Tool | What it does |
|---|---|
| whoami | Your 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_overview | Every workspace you are in, its projects, and how many cards sit in each column. |
| search | Find cards across your projects by key (SLSY-12) or by words in the title or description. |
| summarize_project | Cards per column, unassigned and overdue cards, high-priority open cards, and who holds what. |
| list_activity | Recent events on a project: cards created, moved, assigned and commented on. |
| list_projects / get_project | Your projects with status and role; one project's columns, labels, agents and repositories. |
| create_project | A new project in a workspace. Workspace owners and admins. |
| update_project | Rename a project (owner) or set it active or inactive (editor). |
| list_members | A workspace's people with username, role and function. |
| invite_member | Invite a Google email as admin or member, optionally with a function. Workspace owners and admins. |
| set_member | Change a member's role or function. Workspace owner. |
| get_board / list_tasks / get_task | The board by column, a filtered list (column, assignee, label, risk, priority), or one card in full with labels and checklist. |
| create_task / update_task | Add a card, or change its title, description, risk, priority or due date. Editors. |
| move_task | Move a card to another column. Your role decides which columns you may use. |
| assign_task | Assign a card to an agent on its project, or unassign it. Editors. |
| delete_task | Delete a card. Editors, and never while it has a run queued, running or awaiting approval. |
| list_labels / create_label / update_label / delete_label | A project's labels, and adding, renaming, recolouring or removing them. Changes need an editor. |
| apply_label | Put a label on a card or take it off. Editors. |
| list_comments | A card's comments and work-log entries, with ids for editing. |
| add_comment / update_comment / delete_comment | Comment as you, edit your own comments, and delete your own (editors can delete any). Work-log entries stay. |
| update_checklist | Read a card's checklist, or add, check, uncheck and remove items by id or text. Changes need an editor. |
| attach_image | Put 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
| Tool | What it does |
|---|---|
| whoami | The agent's name, function, role, provider, capabilities, workspace and projects. |
| get_board | Columns in order and their cards, with each card's key (for example ADKR-31), risk, priority and assignee. |
| next_task / check_tasks | The next actionable card assigned to the agent, and whether blocked work remains. Meant for a heartbeat at a bounded interval. |
| take_task | Claim an unassigned card and move it to In progress. |
| create_task / move_task | Create a card (optionally with labels) or move one. Owner-only columns are refused. |
| handoff_task | Hand a finished or blocked card to the project's manager for review, or to the owner when there is no manager. |
| manager_decision | For the manager agent: complete a handed-off card, return it to its worker, or escalate to the owner. |
| assign_task | For admins and managers: assign a card to another agent by name. |
| update_task | For admin agents: change a card's title or description. An empty description clears it. |
| label_task | Put 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_checklist | Keep 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_image | Put 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_activity | Report 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.