io.github.specshield-io/specshield-mcp-server
The API-change deploy gate for AI coding agents. Read-only breaking-change detection.
Open source Open in the app JSON README (API)
About
The API-change deploy gate for AI coding agents. Read-only breaking-change detection.
Details
- Kind
- MCP servers
- Topic
- Cloud & DevOps
- Publisher
- specshield-io
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.1.1
- Last push
- 2026-08-16T15:37:15Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 04:01:26
- Updated
- 2026-08-29 04:01:26
- Origin id
io.github.specshield-io/specshield-mcp-server
README
# SpecShield MCP Server
**The API-change deploy gate for AI coding agents.** Ask *"is it safe to ship this
API change to my consumers?"* right inside Claude, Cursor, and other MCP clients —
and catch breaking changes before they reach your consumers.
It's a thin adapter over the [SpecShield](https://specshield.io) backend. Every tool
is **read-only / analyze-only — it never modifies your code.**
> Why not just diff specs? Plenty of tools (including free ones) list breaking
> changes. SpecShield's job is the *decision*: **can I deploy this?** — the deploy
> gate is the hero tool here.
> ⚙️ **In CI/CD instead of an agent?** The [`specshield` CLI](https://www.npmjs.com/package/specshield) runs the same breaking-change and `can-i-deploy` checks in your pipeline (GitHub Action, exit codes). Same job, two entry points: this server for AI agents, the CLI for CI/CD.
## Tools
| # | Tool | What it answers |
|---|------|-----------------|
| 1 | **`is_change_safe`** ⭐ | Is this change safe to merge/deploy? Will it break consumers? (`safeToMerge` + risk + blocking reasons) |
| 2 | `explain_breaking_changes` | What breaks, developer & consumer impact, suggested migration |
| 3 | `generate_migration_guide` | Migration guide (markdown) + safe rollout steps |
| 4 | `generate_release_notes` | Release notes for developer / customer / internal |
| 5 | `compare_specs` | The raw diff (breaking / additions / modifications / warnings) + risk score |
| 6 | `run_governance_review` 🔒 | API governance ruleset beyond breaking changes (missing operationId, error responses, security scheme, pagination, versioning…) → located findings + suggested fixes. **Paid (Team+)** |
Tools 1–5 accept specs inline (`baseSpecContent` / `targetSpecContent`) or by path
(`baseSpecPath` / `targetSpecPath`). `run_governance_review` reviews a single spec
(`specContent` / `specPath`).
🔒 `run_governance_review` is a paid feature — a FREE API key returns a
`payment_required` error. Upgrade at [specshield.io/pricing](https://specshield.io/pricing).
> Full setup, verification & troubleshooting: **[docs/mcp-server-setup.md](docs/mcp-server-setup.md)**.
## Install
Requires **Node.js ≥ 20** and a SpecShield API key (from
[specshield.io/account](https://specshield.io/account)).
```bash
npx -y specshield-mcp-server
```
### Claude Desktop
`claude_desktop_config.json`:
```json
{
"mcpServers": {
"specshield": {
"command": "npx",
"args": ["-y", "specshield-mcp-server"],
"env": { "SPECSHIELD_API_KEY": "ss_your_key_here" }
}
}
}
```
### Claude Code
```bash
claude mcp add specshield --env SPECSHIELD_API_KEY=ss_your_key_here -- npx -y specshield-mcp-server
```
### Cursor
`~/.cursor/mcp.json` (or the project `.cursor/mcp.json`):
```json
{
"mcpServers": {
"specshield": {
"command": "npx",
"args": ["-y", "specshield-mcp-server"],
"env": { "SPECSHIELD_API_KEY": "ss_your_key_here" }
}
}
}
```
## Configuration
| Env var | Required | Default | Purpose |
|---------|----------|---------|---------|
| `SPECSHIELD_API_KEY` | **yes** | — | Your SpecShield API key. Store it as a secret; never commit it. |
| `SPECSHIELD_API_URL` | no | `https://api.specshield.io` | Backend base URL (override for self-hosted/staging). |
| `SPECSHIELD_TIMEOUT_MS` | no | `30000` | Per-request timeout. |
| `SPECSHIELD_LOG_LEVEL` | no | `info` | `debug` \| `info` \| `warn` \| `error` (logs go to stderr). |
## Example prompts (lead with the deploy gate)
- *"Here are my old and new `openapi.yaml` — **is it safe to ship this API change to my consumers?**"*
- *"Compare `v1.yaml` and `v2.yaml` and tell me if I can deploy, and why not."*
- *"Explain the breaking changes between these two specs and how consumers should migrate."*
- *"Generate customer-facing release notes for this API change."*
## Security & privacy
- **API key required.** Sent only as the `X-Api-Key` header to your configured backend.
- **Read-only / analyze-only.** No mutation tools, no shell execution, no arbitrary
file access (a spec file is read only when you explicitly pass a path).
- **No secret or spec logging.** The server never logs spec content, API keys, or
request bodies; error messages are redacted and machine-readable.
- Specs are sent to your configured SpecShield backend for analysis.
## Local development
```bash
npm install
npm run build # tsc → dist/
npm test # vitest (no network)
npm run lint
npm run smoke # boots the server against a stubbed backend and lists tools
npm start # run the built server over stdio
```
## License
MIT © SpecShield Software Private Limited