Public log

@sandboxapis/mcp

MCP server for SandboxAPIs — read-only, API-compatible replicas of 21 developer and SaaS APIs (GitHub, GitLab, Jira, Linear, Slack, Sentry, PagerDuty, Salesforce, CircleCI, OpenAI, Anthropic and more), preloaded with one realistic simulated data set.

npm · fingerprint e556198e317b9128d81b9d0c · repository · RSS

10tools
3recorded versions
45dtracked
unchanged 9d

What changed

Changed 2026-10-08 13:36 UTC

1 description rewritten.

--- pinned/orient
+++ observed/orient
  {
-   "description": "START HERE. Returns everything needed to use SandboxAPIs with no docs: the universe/theme, every API surface and its base URL (git hosts and issue trackers), live-vs-snapshot modes and how to pin, the org and its teams/repos, notable entry points (each with a ready-to-run REST path), where the coverage manifest lives, and this server's access block — whether a key is set and how many requests are left this hour. Writes: this server is READ-ONLY, including for a scratch-enabled key — the scratch layer (a per-key, 24-hour overlay on GitHub issues and issue comments) is a REST feature, so use the GitHub base URL above with your key for it, and expect the tools here to answer from the shared data set alone.",
+   "description": "START HERE. Returns everything needed to use SandboxAPIs with no docs: the universe/theme, every API surface and its base URL (git hosts and issue trackers), live-vs-snapshot modes and how to pin, the org and its teams/repos, notable entry points (each with a ready-to-run REST path), where the coverage manifest lives, and this server's access block — whether a key is set and how many requests are left this hour. Writes: this server is READ-ONLY, including for a scratch-enabled key — the scratch layer (a per-key, 24-hour overlay: GitHub issues and issue comments, Jira comments and transitions, and Slack messages into existing channels) is a REST feature, so use the GitHub, Jira or Slack base URL above with your key for it, and expect the tools here to answer from the shared data set alone.",
    "execution": {
      "taskSupport": "forbidden"
    },

Changed 2026-10-05 14:36 UTC

1 description rewritten, 8 schema or annotation changes with the description left byte-identical, 1 tool added.

+ tool added: check_budget

--- pinned/get_pull_request
+++ observed/get_pull_request
  {
    "description": "Fetch one PR (GitHub) / MR (GitLab) plus its reviews (GitHub) / approvals (GitLab). Returns both in one result; each carries provider-form ids for cross-referencing.",
    "execution": {
+           "circleci",
+           "zendesk",
            "gitlab",
            "bitbucket",
            "ado",
-           "pagerduty"
+           "pagerduty",
+           "salesforce",
+           "hubspot",
+           "buildkite",
+           "statuspage"
          ],
          "type": "string"
        },
--- pinned/get_repository
+++ observed/get_repository
  {
    "description": "Fetch one repository by name (default: the flagship repo). Provider-shaped, with provider-form ids.",
    "execution": {
+           "circleci",
+           "zendesk",
            "gitlab",
            "bitbucket",
            "ado",
-           "pagerduty"
+           "pagerduty",
+           "salesforce",
+           "hubspot",
+           "buildkite",
+           "statuspage"
          ],
          "type": "string"
        },
--- pinned/get_snapshot
+++ observed/get_snapshot
  {
    "description": "Return the pinned, reproducible hostname for a provider — point your client's base URL at it for drift-free CI. A snapshot regenerates byte-identically on every request.",
    "execution": {
+           "circleci",
+           "zendesk",
            "gitlab",
            "bitbucket",
            "ado",
-           "pagerduty"
+           "pagerduty",
+           "salesforce",
+           "hubspot",
+           "buildkite",
+           "statuspage"
          ],
          "type": "string"
        }
--- pinned/get_user
+++ observed/get_user
  {
    "description": "Fetch a user by login/username. Provider-shaped, with provider-form ids.",
    "execution": {
+           "circleci",
+           "zendesk",
            "gitlab",
            "bitbucket",
            "ado",
-           "pagerduty"
+           "pagerduty",
+           "salesforce",
+           "hubspot",
+           "buildkite",
+           "statuspage"
          ],
          "type": "string"
        }
--- pinned/list_issues
+++ observed/list_issues
  {
    "description": "List a repo's issues. Optional state filter (open/closed/all).",
    "execution": {
+           "circleci",
+           "zendesk",
            "gitlab",
            "bitbucket",
            "ado",
-           "pagerduty"
+           "pagerduty",
+           "salesforce",
+           "hubspot",
+           "buildkite",
+           "statuspage"
          ],
          "type": "string"
        },
--- pinned/list_pull_requests
+++ observed/list_pull_requests
  {
    "description": "List a repo's pull requests (GitHub) or merge requests (GitLab). Optional state filter.",
    "execution": {
+           "circleci",
+           "zendesk",
            "gitlab",
            "bitbucket",
            "ado",
-           "pagerduty"
+           "pagerduty",
+           "salesforce",
+           "hubspot",
+           "buildkite",
+           "statuspage"
          ],
          "type": "string"
        },
--- pinned/list_repositories
+++ observed/list_repositories
  {
    "description": "List repositories for the universe's org. Results are identical to the provider's REST API and carry provider-form ids (node_id / numeric id).",
    "execution": {
+           "circleci",
+           "zendesk",
            "gitlab",
            "bitbucket",
            "ado",
-           "pagerduty"
+           "pagerduty",
+           "salesforce",
+           "hubspot",
+           "buildkite",
+           "statuspage"
          ],
          "type": "string"
        }
--- pinned/orient
+++ observed/orient
  {
-   "description": "START HERE. Returns everything needed to use SandboxAPIs with no docs: the universe/theme, every API surface and its base URL (git hosts and issue trackers), live-vs-snapshot modes and how to pin, the org and its teams/repos, notable entry points (each with a ready-to-run REST path), and where the coverage manifest lives.",
+   "description": "START HERE. Returns everything needed to use SandboxAPIs with no docs: the universe/theme, every API surface and its base URL (git hosts and issue trackers), live-vs-snapshot modes and how to pin, the org and its teams/repos, notable entry points (each with a ready-to-run REST path), where the coverage manifest lives, and this server's access block — whether a key is set and how many requests are left this hour. Writes: this server is READ-ONLY, including for a scratch-enabled key — the scratch layer (a per-key, 24-hour overlay on GitHub issues and issue comments) is a REST feature, so use the GitHub base URL above with your key for it, and expect the tools here to answer from the shared data set alone.",
    "execution": {
      "taskSupport": "forbidden"
    },
--- pinned/search_commits_by_author
+++ observed/search_commits_by_author
  {
    "description": "Find commits authored by a given login in a repo. Returns SHAs (identical across GitHub and GitLab, invariant #5) with a REST path to fetch each — so you can cross-reference against either provider.",
    "execution": {
+           "circleci",
+           "zendesk",
            "gitlab",
            "bitbucket",
            "ado",
-           "pagerduty"
+           "pagerduty",
+           "salesforce",
+           "hubspot",
+           "buildkite",
+           "statuspage"
          ],
          "type": "string"
        },

Current tools

Show all 10 tool fingerprints
check_budget
d17827aa7f23a6e9
get_pull_request
f5047406feea9445
get_repository
a5050ff601b963f4
get_snapshot
44c351dd758a02de
get_user
562d1a66b1e73968
list_issues
792e0ad8691dc1f5
list_pull_requests
819cf9fba36fd511
list_repositories
d5ce44ccb020f2d5
orient
97c65d6e9aeae1df
search_commits_by_author
4c0350b12e621940

Watch this server yourself

If you run this server, put the proxy in front of it. It pins these exact fingerprints on first connect and stops the session if they move.

npx -y mcp-pin@0.2.3 -- <your @sandboxapis/mcp command>

Or subscribe to this page's RSS feed to be told when it changes.

Badge

mcp-pin status badge for @sandboxapis/mcp

The badge states one fact about time and nothing else. It never claims a server is safe.

[![mcp-pin](https://mcp-pin.gautamkhosla.com/badge/1a1be9b62a85657b.svg)](https://mcp-pin.gautamkhosla.com/servers/1a1be9b62a85657b.html)