Skip to content

Releases

PlugIt v0.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 23:39

The first release of PlugIt: turn any REST API into a curated, safe MCP server from your terminal.

PlugIt reads an OpenAPI 3.0/3.1 or Swagger 2.0 spec, or a Postman v2.0/v2.1 collection, and serves the operations you pick as MCP tools to Claude Desktop, Claude Code, OpenAI Codex, Cursor, VS Code (GitHub Copilot), Windsurf, Gemini CLI, LM Studio and any other MCP client. One local binary: no accounts, no hosted backend, no LLM calls, no telemetry.

Website and live demo: https://plugit.swayam.li/

Install

go install github.com/swayam5342/plugit/cmd/plugit@v0.1.0

Or download the archive for your platform below (Windows, macOS and Linux, amd64 and arm64) and put plugit on your PATH.

What's in it

  • Try a spec with nothing saved: plugit run <spec> serves it read-only on stdio.
  • Curate in the terminal:
    • plugit add and plugit edit open a picker grouped by tag, with a fuzzy filter.
    • Rename tools and edit their descriptions.
    • Watch a live token budget and lint badges.
    • Open a tool detail screen.
    • Keep only the response fields you need.
  • Install into your clients:
    • plugit install picks from a list of detected clients, shows a diff and makes a backup before writing.
    • For Claude Code and Codex it uses their own CLIs.
    • No secret is ever written into a client config.
  • Credentials:
    • Bearer, header, query and Basic auth, plus cookies.
    • OAuth2 client credentials and OAuth2 device sign-in.
    • All from the OS keyring or environment variables, never from config files or the command line.
  • Policy modes:
    • read-only (the default), confirm-writes (asks you in the client before each write) or full.
    • Switch with m in the picker; moving to full takes a second press.
    • Per tool, confirm and deny can only make a tool stricter.
  • See what happens:
    • plugit try makes one real call, with secrets masked.
    • plugit logs is a live call inspector.
    • plugit stats shows calls, error rates, p50/p95 latency and token cost per tool.
  • Keep specs honest:
    • plugit lint runs 13 rules, including instructions hidden in descriptions, and exits 1 on errors for CI.
    • plugit sync reviews spec changes; overrides are kept and the base URL never moves.
  • Also:
    • Form and multipart request bodies.
    • A loopback-only Streamable HTTP transport with a bearer token.
    • Toolsets.
    • Per-tool rate limits.
    • plugit doctor.

Security model

  • PlugIt treats the spec, the model's arguments and the API's responses as untrusted.
  • Pinned base URL.
    • Credentials are attached only to requests for exactly that origin.
    • Redirects stay on it.
    • The host never comes from the model or the spec.
  • SSRF guard.
    • The resolved IP is checked at connect time.
    • Loopback and private ranges need allow_private: true.
    • Cloud metadata addresses are always blocked.
  • Redaction. Secrets are masked in raw, percent-encoded and base64 form, in logs, errors and every tool result.
  • Strict arguments.
    • Arguments are validated against the schema.
    • Unknown arguments, .. path segments and CR/LF in headers are refused.
    • Auth and hop-by-hop headers are never tool parameters.
  • Parsing limits.
    • Untrusted specs are parsed in a child process, with limits on size, $ref depth, aliases and time.
    • External $refs are never fetched.

Report vulnerabilities privately: see SECURITY.md.

Verify the download

Each release has SHA-256 checksums signed with cosign (keyless, from this repository's release workflow), SBOMs and build provenance:

cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
  --certificate-identity-regexp '^https://github.com/swayam5342/plugit/' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum --ignore-missing -c checksums.txt
gh attestation verify plugit_0.1.0_<os>_<arch>.tar.gz --repo swayam5342/plugit

Known limits

  • Pre-1.0. The CLI and the plugit.yaml format may still change; config changes come with a version bump and an automatic migration.
  • No package managers yet. There's no Homebrew or Scoop package for now.
  • Unsigned binaries. The binaries aren't signed with an Apple or Windows code-signing certificate, so macOS Gatekeeper or Windows SmartScreen may warn on first run.