terminal Built for the people doing the work

Suporta, from your command line

Suporta is a helpdesk that respects a terminal. Connect it to Claude Code, run its agents on your own machine, and file the ticket from wherever you happened to be.

extension Suporta MCP server

Your tickets, as tools in Claude Code

Two minutes of setup and your helpdesk becomes something your editor can reason about. Generate a scoped API token, drop a .mcp.json in the project, restart, done. Works with any codebase: Laravel, Vue, React, Node, whatever you have.

Try this one: "fetch ticket 1035-login-500 and implement it." Claude reads the ticket, explores the codebase, branches, implements, and posts the summary back onto the ticket, all through the MCP.

who-am-i

Verify your connection and role

list-projects

Every project the token can reach

get-ticket

Fetch a ticket by slug, or just paste its URL

list-my-tickets

Your assigned tickets, filtered

search-tickets

Keyword search across the queue

create-ticket

Open a ticket without leaving the editor

update-ticket

Status, priority, assignees

post-ticket-reply

Internal note or client-visible reply

Tokens are scoped to specific projects at generation time, so each developer and each tenant only ever sees what they should.

.mcp.json
{
  "mcpServers": {
    "suporta": {
      "command": "npx",
      "args": ["-y", "suporta-mcp-server"],
      "env": {
        "SUPORTA_URL": "https://company.suportahub.com",
        "SUPORTA_TOKEN": "sat_…"
      }
    }
  }
}
dns suporta-agent

Run the agents on your own Claude Code

Local Agent mode turns a developer machine into a worker for your Suporta queue. It claims queued tickets, prepares an isolated git worktree per repository, runs a headless Claude Code session on your own subscription, pushes the branch, and reports everything back to the ticket. No API tokens billed. Suporta stays the orchestrator and the source of truth.

zsh
# 1. pair this machine with your tenant
$ npx suporta-agent init
 registered · company.suportahub.com
 wrote ~/.suporta/agent.yml (0600)

# 2. check everything before you rely on it
$ npx suporta-agent validate
 git 2.43   claude   3 repositories mapped

# 3. go
$ npx suporta-agent start
 claimed #1035 · worktree ready (2 repos)
 claude code session · acceptEdits
 9 files changed · tests green
 pushed tickets/1035-login-500 · PR #482 opened
account_tree

A worktree per execution

Every run gets its own directory with a worktree per repository, branched off origin. Parallel runs never touch your checked-out branch or each other.

restart_alt

Survives a laptop lid

State is written per execution. On restart it reconciles with the server: finished work is cleaned up, an interrupted session resumes with a reassess-and-continue prompt.

cloud_off

Works through a bad connection

Progress updates queue up on disk when Suporta is unreachable. The result of a run is never dropped: it is retried, and replayed the next time the agent starts.

gavel

The model cannot self-certify

The model cannot declare its own work finished. Only the agent can, and only once it has verified the commits and the push.

lock

Your machine stays private

Where your code sits on disk, what is in your environment files, and the contents of your repositories never reach us. The agent refuses to send anything that would give it away.

call_split

Code travels over your remote

The push happens with your own git credentials, straight to your own remote. Suporta only opens the pull request afterwards.

shield

One token, locked down

The token lives in a single protected file, or outside it entirely in an environment variable. It is scrubbed out of every log line before anything is written.

key_off

Revocable in one click

Revoke a machine and its access dies immediately, with any work it had in flight handed back to the queue. Your personal API tokens are untouched.

Requires Node.js 18+, git 2.30+ and the Claude Code CLI. Runs on macOS, Linux and Windows.

mail Suporta for Outlook

The inbox is still where support starts

An Office add-in that lives in the reading pane. Open the mail, let AI read it and propose the company, project and ticket details, adjust, create. Then log the time you just spent on it, without switching tabs once.

  • psychology

    AI email analysis

    The add-in sends the mail for classification and comes back with a suggested company, project, title and description.

  • domain

    Company & project picker

    File the ticket against the right client on the first try, with the status chip showing where it landed.

  • timer

    Log time in the pane

    The time panel writes straight into the same timelogs your invoices come from.

  • stacks

    Batch & templates

    Handle a pile of mails in one pass, and keep reusable reply templates next to them.

confirmation_numberNew ticketAI filled

Company

Food la Route B.V. expand_more

Project

FLR Platform expand_more

Title

Login page returns 500 on invalid email

Description

Client reports a 500 when submitting the login form with a malformed address. Reproduced on production, 14:02 CET…
phone_iphone

The mobile app

A native iOS and Android app, not a wrapped website. Your dashboard with the time-tracking and ticket widgets, the full ticket view with the rich-text editor and attachments, the sprint board with its columns, your projects, and your notes. Available in English and Dutch.

DashboardTicketsSprint boardProjectsNotesTime trackingAttachmentsSecure token storage
api

REST API & tokens

Everything the app does is a documented endpoint under /api/v1. Generate API tokens in Settings, scope them to the projects they need, and revoke them when a laptop walks out the door.

  • check Per-developer tokens
  • check Per-project scoping
  • check Shown once, revocable anytime
  • check Real-time events over websockets

Wire it into your editor today

Generate a token, drop in the .mcp.json, and your backlog is one prompt away. The local agent is a single npx away after that.