🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@marboba/mcp

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@marboba/mcp

Model Context Protocol server for MarBoba — exposes the /v1 catalog as MCP tools so Cursor / Claude Code / Copilot / Cline / Windsurf can read your projects, APIs, runbooks, and on-call schedules inline.

latest
Source
npmnpm
Version
0.2.2
Version published
Weekly downloads
35
Maintainers
1
Weekly downloads
 
Created
Source

@marboba/mcp — MarBoba Model Context Protocol server

Wraps the public MarBoba /v1 REST surface as MCP tools so any MCP-aware client — Cursor, Claude Code, GitHub Copilot, Cline, Windsurf — can read and update your MarBoba catalog inline while you code.

Auth uses a Personal Access Token (mb_pat_*); the same token shape the MarBoba CLI and the Terraform provider use.

What it exposes

30 read tools covering the whole catalog:

ResourceListGet
Projectslist_projectsget_project
Teamslist_teamsget_team
APIslist_apisget_api, fetch_api_spec
Runbookslist_runbooksget_runbook
On-calllist_oncall_schedulesget_oncall_binding
Scorecardslist_scorecardsget_scorecard
SLOslist_slosget_slo
Resourceslist_resourcesget_resource
Systemslist_systemsget_system
Domainslist_domainsget_domain
Issuesget_issue
Deploymentsget_deployment
Dependencieslist_dependencies
Driftlist_drift
Integrationslist_integrations
Scaffold templateslist_scaffold_templates
Secrets metadata (no values)list_secrets
Agent actionslist_agent_actionsget_agent_run

Write tools

34 mutating tools cover the catalog CRUD surface, in two tiers:

Tier 1 — direct catalog writes. create_* / update_* / delete_* for projects, teams, APIs, resources, systems, domains, dependencies (create/delete only), issues, runbooks, on-call bindings, and SLOs. The /v1 API enforces your PAT's scope:

OperationRequired PAT scope
create_*, update_*, refresh_oncall_bindingwrite
delete_*admin

Every write emits an audit-log row server-side, so mutations made through MCP are attributable exactly like UI or CLI changes.

Tier 2 — privileged actions. propose_agent_action opens an agent run (rotate-vault-secret, rollback-to-last-green, scale-service) that a different human approves in the web app's two-person flow. The MCP server never executes a privileged action directly — it can only propose one.

Token-management, billing, SSO, and the approve/reject side of the agent flow are intentionally out of scope.

Quick start

1. Get a Personal Access Token

In the MarBoba app: Settings → API Tokens → New token. Tokens look like mb_pat_live_AbCd... and inherit the scopes you grant. For read-only catalog access, the read scope is enough.

2. Add to your MCP client config

Claude Code

~/.claude/settings.json (or ~/.config/claude/settings.json):

{
  "mcpServers": {
    "marboba": {
      "command": "npx",
      "args": ["-y", "@marboba/mcp"],
      "env": {
        "MARBOBA_API_TOKEN": "mb_pat_live_..."
      }
    }
  }
}

Cursor

~/.cursor/mcp.json (or per-project .cursor/mcp.json):

{
  "mcpServers": {
    "marboba": {
      "command": "npx",
      "args": ["-y", "@marboba/mcp"],
      "env": {
        "MARBOBA_API_TOKEN": "mb_pat_live_..."
      }
    }
  }
}

Cline / Windsurf / Continue

These editors all read MCP servers from the same mcpServers block shape. Drop the same JSON into the editor's MCP config file.

3. Override the endpoint for self-hosted / dev / qa / staging

{
  "env": {
    "MARBOBA_API_TOKEN": "mb_pat_test_...",
    "MARBOBA_ENDPOINT": "https://api-dev.marboba.com"
  }
}

Defaults to https://api.marboba.com (prod).

Run it with Docker

For boxes without Node. The image speaks MCP over stdio, so run it with -i:

{
  "mcpServers": {
    "marboba": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "MARBOBA_API_TOKEN",
        "ghcr.io/somexai-applications-group/marboba-mcp"
      ],
      "env": { "MARBOBA_API_TOKEN": "mb_pat_live_..." }
    }
  }
}

Pin a version with :0.2.1 instead of the default :latest.

Install with Homebrew

Puts a marboba-mcp binary on PATH (still needs Node — use Docker for a Node-free box):

brew install SomexAI-Applications-Group/marboba/marboba-mcp

Then point your MCP client's command at marboba-mcp (no npx).

Try it without installing

If you're checking it out from this repo:

cd marboba-mcp
npm install
npm run build
MARBOBA_API_TOKEN=mb_pat_... node dist/index.js

The server speaks stdio. To exercise it from the command line without a real MCP client, send a list-tools JSON-RPC call:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
  | MARBOBA_API_TOKEN=mb_pat_... node dist/index.js

How it works

your editor → MCP client → stdio → marboba-mcp → /v1 REST → MarBoba

The server is one process per editor session. Stateless — every tool call hits /v1 fresh, so you never see a cached catalog. The PAT is only ever in-process; we don't write it to disk or forward it anywhere except the Authorization header on outbound calls.

Development

# Hermetic tests — no real network
npm test

# Watch mode for the test runner
npm run build -- --watch

The client.ts module is pure transport (uses an injectable fetchImpl). Every tool registered in src/tools/index.ts is a thin adapter from MCP shape → typed /v1 call.

Releasing

  • Bump version in package.json.
  • npm test && npm run build — ensure the suite is green.
  • npm publish --access public.

The package is published as @marboba/mcp so customers can npx @marboba/mcp without thinking about the registry path.

Security

  • Tokens are read from environment variables only — no config file.
  • The server validates the token shape (mb_pat_*) and warns to stderr on mismatch, but lets the API decide if the token is actually valid.
  • HTTPS-only by default; if MARBOBA_ENDPOINT is set to an http:// URL the request still goes (for self-hosted plain-HTTP clusters) but the standard PAT-leak risks apply.

License

MIT — see LICENSE.

Keywords

mcp

FAQs

Package last updated on 08 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts