Back to Browse

Si MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

MCP server for siGit (sigit.si): browse repos, search code, manage PRs/issues, web search.

About

MCP server for siGit (sigit.si): browse repos, search code, manage PRs/issues, web search.

Remote endpoints: streamable-http: https://sigit.si/api/v1/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 4 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

Endpoint verified · Requires authentication · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

file_system

Applies to the server that hosts this plugin, not to your machine.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "si-sigit-sigit": {
      "url": "https://sigit.si/api/v1/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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

cargo install --path crates/cli

This installs a binary named si.

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 — 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

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

Reviews

No reviews yet

Be the first to review this server!