Serveur MCP siGit CLI
Commit 9 nov. 2026Permet à un agent IA de gérer des dépôts, de passer en revue des pull requests, de trier des issues et de rechercher du code sur sigit.si via des outils MCP.
Aussi connu sous getsigit/si, si
- Étoiles
- 6
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- 1.3.1
- Dernier commit
- 9 nov. 2026
- Licence
- —
Qu'est-ce que siGit CLI MCP ?
siGit CLI est un serveur MCP. Permet à un agent IA de gérer des dépôts, de passer en revue des pull requests, de trier des issues et de rechercher du code sur sigit.si via des outils MCP.
Résumé généré à partir du README du projet
À propos du MCP server siGit CLI
Ce MCP server permet aux agents IA de gérer des dépôts, de passer en revue des pull requests et de trier des issues sur sigit.si. Les développeurs peuvent connecter un agent à leur compte sigit.si en utilisant la CLI siGit via stdio ou en se connectant à un serveur distant hébergé via HTTP. Le serveur réutilise le jeton d'authentification créé lors d'un 'si auth login' standard, ce qui signifie qu'aucune clé API supplémentaire n'est nécessaire au fonctionnement de l'agent.
Les utilisateurs peuvent personnaliser les capacités de l'agent en utilisant des ensembles d'outils spécifiques tels que repo, issue, pr ou code pour limiter les commandes disponibles. Le serveur prend également en charge le changement d'environnement pour les serveurs locaux ou de staging et permet des modes en lecture seule pour empêcher l'agent d'effectuer des modifications. En pointant un éditeur vers le répertoire d'un dépôt spécifique, l'agent déduit automatiquement le propriétaire et le nom corrects pour toutes les tâches liées aux dépôts et aux pull requests.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Configuration
SIGIT_TOKENSecretsigit.si session token. Optional: the server otherwise reuses whatever `si auth login` stored.
SIGIT_HOSTSIGIT_TOOLSETSThe environment form of --toolsets, for clients that pass configuration as variables rather than arguments.
| Nom | Description | Type |
|---|---|---|
| SIGIT_TOKEN | sigit.si session token. Optional: the server otherwise reuses whatever `si auth login` stored. | Secret |
| SIGIT_HOST | — | |
| SIGIT_TOOLSETS | The environment form of --toolsets, for clients that pass configuration as variables rather than arguments. |
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessiblegetsigit/si is public and reachablegithub.com/getsigit/si ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)No licenseFaille
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-09github.com/getsigit/si ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur GitHubsigit-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
cargo install --path crates/cli
This installs a binary named si. On a machine with the .NET SDK there is also
a prebuilt tool:
dotnet tool install --global SiGit.Cli
Usage
si auth login # sign in with your sigit.si account
si repo list # your repositories
si repo create my-project --private
si repo clone seto/my-project # clone with your sign-in, no token in the URL
si 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 list
si pr view 42
si pr create --title "Fix the thing" --base main
si issue list --state open
si issue create --title "Bug: ..." --body "Steps to reproduce..."
si code search "TODO" --ref main
si code view README.md
si status set HEAD --state success --context ci/test
si status view # the checks on HEAD
si run start --repo seto/app "Fix the failing build"
si run list
si run view 12 # status and the end of the transcript
si site publish --wait # publish the default branch as a site
si site view
si session new --title "Refactor auth"
si models
si billing show
si auth signup # also: resend, reset-password, delete-account
si browse # open the current repo on sigit.si
si 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:
{
"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:
si mcp --read-only # drop every tool that writes
si 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
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— thesibinary: command parsing, terminal rendering, git remote resolution, and credential storage, built on top ofsigit-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:
| Listing | File | What it is |
|---|---|---|
si.sigit/cli |
server.json |
This CLI: a cargo package listing that runs si mcp over stdio. |
si.sigit/sigit |
server-sigit.json |
The 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
make build # cargo build --workspace
make test # cargo test --workspace
make lint # cargo clippy --workspace --all-targets -- -D warnings
make fmt # cargo fmt --all
make check # fmt + lint + test
Disclaimer
All em dashes are written by Seto Elkahfi.
License
Apache-2.0
Questions sur siGit CLI MCP
Comment puis-je authentifier le MCP server ?
Le serveur réutilise le jeton de la commande 'si auth login' stocké sur votre machine ; aucune authentification distincte n'est requise pour le MCP server lui-même.
Comment puis-je utiliser cela dans un environnement CI ?
Vous pouvez utiliser la variable d'environnement SIGIT_TOKEN pour vous authentifier sans connexion interactive.