siGit CLI

si.sigitPublished by sigit.siv1.3.0Updated Oct 30, 2026

Run sigit.si locally: browse repos, search code, manage PRs, issues, and Cloud Sessions.

The publisher's own server: siGit

Overview

AI-generated overview

Local siGit CLI server that exposes sigit.si repositories, pull requests, issues, code search and Cloud Sessions to an AI assistant over stdio.

What you can do
  • Browse and create repositories, clone with stored sign-in, and publish a branch as a site
  • List, view and create pull requests, defaulting to the repo and branch of the current checkout
  • List and create issues, and search or view code at a given ref
  • Set and view commit status checks
  • Start, list and view Cloud Sessions and their transcripts
  • Inspect account, models and billing, or call raw API endpoints
When to use it
Useful when you work in sigit.si repositories and want an assistant to handle pull requests, issues, code search and status checks from the terminal, especially inside a checkout where the repo is inferred automatically.
Requirements
Runs as a local process installed with cargo (crate sigit-si-cli), started as si mcp over stdio. Needs a sigit.si account signed in via si auth login, or a SIGIT_TOKEN session token, which overrides the stored token. SIGIT_TOOLSETS or --toolsets limits the exposed tools; SIGIT_HOST or --environment selects a non-default server.
Before you install
Tools can write: creating repositories, pull requests, issues, statuses and sessions, and publishing sites. SIGIT_TOKEN is a session credential and should be kept out of shared configs. Use --read-only to drop every writing tool. Repository, issue and code-search data is served through sigit.si's MCP endpoint, so content goes to that service.

Installation

In SourceWeft

  1. Open siGit CLI in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

sigit-si-cli

si is the command line interface for sigit.si — sign in, manage repositories, review pull requests, triage issues, search code, and drive Cloud Sessions, all from the terminal.

Install

sh
cargo install --path crates/cli

This installs a binary named si.

Usage

sh
si auth login                     # sign in with your sigit.si accountsi repo list                      # your repositoriessi repo create my-project --privatesi repo clone seto/my-project      # clone with your sign-in, no token in the URLsi auth setup-git                  # or let plain `git clone` use it too
# Inside a repo checkout, si infers OWNER/NAME from the sigit.si git remote —# --repo is only needed when you're not standing in one.si pr listsi pr view 42si pr create --title "Fix the thing" --base main
si issue list --state opensi issue create --title "Bug: ..." --body "Steps to reproduce..."
si code search "TODO" --ref mainsi code view README.md
si status set HEAD --state success --context ci/testsi status view                     # the checks on HEAD
si run start --repo seto/app "Fix the failing build"si run listsi run view 12                     # status and the end of the transcript
si site publish --wait             # publish the default branch as a sitesi site view
si session new --title "Refactor auth"si modelssi billing show
si auth signup                     # also: resend, reset-password, delete-account
si browse                          # open the current repo on sigit.sisi api repos                       # raw escape hatch for any endpoint

Pass --json to any read command for machine-readable output.

As an MCP server

si mcp serves these same commands to an AI agent as MCP tools over stdio:

jsonc
{  "mcpServers": {    "sigit": { "command": "si", "args": ["mcp"] }  }}

There is nothing to authenticate — the server reuses the token si auth login stored. Point your editor at the directory of a checkout and repository tools default to the repo you're standing in, so the agent can say "list the open pull requests" without naming one; create_pull_request likewise defaults its head to the checked-out branch.

Trim the tool list when an agent doesn't need all of it:

sh
si mcp --read-only                    # drop every tool that writessi mcp --toolsets repo,issue,pr,code  # or SIGIT_TOOLSETS=repo,issue

Toolsets are account, repo, issue, pr, code, hook, session, and billing. sigit.si also hosts a remote MCP server at /api/v1/mcp for clients that would rather connect over HTTP than spawn a binary.

Environments

sh
si --environment dev repo list          # a local sigit.si server (localhost:3000)SIGIT_HOST=staging.example.com si repo list

Credentials are stored per-environment in ~/.sigit/token (or ~/.sigit-dev/token). SIGIT_TOKEN overrides the stored token, which is how CI authenticates without an interactive login.

Workspace layout

  • crates/sigit-si-api — a standalone, typed Rust client for the sigit.si JSON API. No CLI dependencies (clap, dialoguer, …); usable from any Rust project that wants to talk to sigit.si.
  • crates/cli — the si binary: command parsing, terminal rendering, git remote resolution, and credential storage, built on top of sigit-si-api.

Issues, pull requests, and code search have no REST surface on sigit.si yet — they're served over the same MCP (Model Context Protocol) JSON-RPC endpoint the AI agent uses. sigit-si-api speaks that transport internally; it's not visible at the call site.

MCP Registry listings

This repo publishes two entries to the official MCP Registry, one per way of reaching the same tools, so registry-aware clients can add either in one click:

ListingFileWhat it is
si.sigit/cliserver.jsonThis CLI: a cargo package listing that runs si mcp over stdio.
si.sigit/sigitserver-sigit.jsonThe hosted server at sigit.si/api/v1/mcp, a remote Streamable-HTTP listing. The endpoint sigit-si-api talks to, and the official server siGit Code bakes in.

The CLI holds server.json because it's what this repo ships, and that's the filename mcp-publisher defaults to. Sibling listings are named after their own leaf, so the file says which entry it publishes.

Both go out through the release-mcp-registry.yml workflow, and both prove namespace ownership with a DNS TXT record on sigit.si rather than GitHub OIDC, so one credential covers the pair. A package listing has a second hurdle: the registry fetches the crate from crates.io and looks for the mcp-name: si.sigit/cli marker in its README, which is why that marker sits in this file. Crate versions are immutable, so a release that ships without the marker can never be listed, and fixing it costs a new version. The internal setup and release runbook live with the server (private sigit-si repo).

To cut a release, bump [workspace.package].version and the sigit-si-api dependency in the root Cargo.toml, merge development into main, and push a vX.Y.Z tag. release-crates.yml checks the crate versions against the tag, publishes whichever of sigit-si-api and sigit-si-cli isn't on crates.io yet (through Trusted Publishing, so no token is stored), then dispatches release-mcp-registry.yml.

Development

sh
make build   # cargo build --workspacemake test    # cargo test --workspacemake lint    # cargo clippy --workspace --all-targets -- -D warningsmake fmt     # cargo fmt --allmake check   # fmt + lint + test

Disclaimer

All em dashes are written by Seto Elkahfi.

License

Apache-2.0

Source: README.md at commit a3ab1b3

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

2
  1. v1.3.0LatestOct 30, 2026
  2. v1.1.0Sep 16, 2026

Score

40% 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 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Sigit integrations