sdlc-integrity-mcp
This MCP server provides AI coding agents with tools to audit and enforce code integrity, safety, and quality across an SDLC workspace. It supports scanning multiple languages and catching issues like lifecycle gaps, insecure patterns, and style violations.
AuditCodeIntegrity: Detects lifecycle teardown gaps, mock-theater tests, naming invariant violations, swallowed exceptions, and DRY violations. Returns structured JSON findings.
ShellSafetyChecker: Scans shell scripts for missing
set -euo pipefail, shebang issues, hardcoded credentials, background-job silent-failure risks, and optionally integratesshellcheck.JsSafetyChecker: AST-based analysis of JavaScript/HTML files for syntax errors, duplicate function definitions, and duplicate HTML element IDs.
PythonSafetyChecker: Runs
bandit(High/Critical security issues),ruff(lint/style), and AST checks foreval/exec, unsafepickleloads, hardcoded credentials, and mutable default arguments.
All tools accept a target (file or directory) and optional timeout up to 600 seconds; relative paths resolve against the SDLC_WORKSPACE environment variable. Findings are returned as MCP results with isError: true if issues are found. The server can be extended via custom rules placed in <workspace>/.sdlc-rules/.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sdlc-integrity-mcpaudit my project for lifecycle gaps and safety issues"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SDLC Code Integrity
MCP server for enterprise SDLC code integrity. AI coding agents call its tools over the Model Context Protocol to scan a workspace for lifecycle teardown gaps, mock-theater tests, DRY violations, and language-specific safety issues in shell, JavaScript/HTML, and Python.
Quick start
Set SDLC_WORKSPACE to the absolute path of the repo to audit. If omitted, the server uses its process working directory. The server speaks MCP over stdio (no HTTP port).
Cursor
Add to ~/.cursor/mcp.json or the project .cursor/mcp.json:
{
"mcpServers": {
"sdlc-integrity": {
"command": "npx",
"args": ["-y", "@asobacloud/sdlc-integrity-mcp"],
"env": {
"SDLC_WORKSPACE": "/absolute/path/to/your/repo"
}
}
}
}Restart Cursor (or reload MCP servers), then ask the agent to run the integrity tools.
Claude Code
CLI (user scope):
claude mcp add --transport stdio --scope user \
--env SDLC_WORKSPACE=/absolute/path/to/your/repo \
sdlc-integrity -- npx -y @asobacloud/sdlc-integrity-mcpOr put the same JSON under mcpServers in project .mcp.json (team-shared) or ~/.claude.json (user-wide):
{
"mcpServers": {
"sdlc-integrity": {
"command": "npx",
"args": ["-y", "@asobacloud/sdlc-integrity-mcp"],
"env": {
"SDLC_WORKSPACE": "/absolute/path/to/your/repo"
}
}
}
}Verify with claude mcp list. Project .mcp.json servers need approval the first time you open the repo in Claude Code.
Codex
CLI:
codex mcp add sdlc-integrity --env SDLC_WORKSPACE=/absolute/path/to/your/repo -- npx -y @asobacloud/sdlc-integrity-mcpOr edit ~/.codex/config.toml (or project .codex/config.toml in a trusted project):
[mcp_servers.sdlc-integrity]
command = "npx"
args = ["-y", "@asobacloud/sdlc-integrity-mcp"]
[mcp_servers.sdlc-integrity.env]
SDLC_WORKSPACE = "/absolute/path/to/your/repo"Codex CLI, the IDE extension, and the ChatGPT desktop Codex host share this config.
Run directly
npx -y @asobacloud/sdlc-integrity-mcpRelated MCP server: aegis
Tools
Tool | Runtime | What it checks |
|
| Lifecycle teardown parity, mock-theater test detection, naming invariants, swallowed exceptions, DRY / duplicative functions. Returns structured JSON. |
|
| Missing |
|
| JS/HTML syntax errors, duplicate function definitions, duplicate HTML element IDs (AST-based via esprima). |
|
| bandit (High/Critical), ruff, AST checks for |
Each tool accepts:
target— file or directory to scan (relative paths resolve againstSDLC_WORKSPACE)timeout— optional timeout in ms (default120000, max600000)
Checker exit code 1 (findings) becomes isError: true on the MCP result. Unexpected crashes are reported as errors.
Requirements
Runtime | Required for |
Node.js ≥ 22 | MCP server + |
Python 3 |
|
bash |
|
Optional (skipped with a warning if missing):
Tool | Improves |
| |
| |
|
Custom rules
Drop JSON tool configs into <workspace>/.sdlc-rules/. Local rules override bundled tools with the same name, or add new ones. Script paths resolve relative to .sdlc-rules/.
{
"name": "MyCustomAudit",
"description": "Project-specific integrity check",
"input_schema": {
"type": "object",
"properties": {
"target": { "type": "string", "description": "File or directory to scan" },
"timeout": { "type": "integer", "description": "Timeout in ms (max 600000)" }
}
},
"execution": {
"runtime": "python3",
"script": "./my-audit.py",
"args": ["--target", "{{target}}"],
"default_timeout": 120000,
"max_timeout": 600000
}
}{{placeholder}} values are filled from the tool call. If a value is omitted, that flag and its placeholder are skipped.
Architecture
rules/*.json → tool schemas + execution specs
scripts/* → checker subprocesses
src/loader.ts → bundled rules + .sdlc-rules/ overlay
src/runner.ts → spawn, timeouts, exit-code → isError
src/index.ts → MCP stdio server
bin/cli.js → npx / bin entrypointDevelopment
git clone https://github.com/AsobaCloud/sdlc-integrity-mcp.git
cd sdlc-integrity-mcp
npm install
npm run build
npm testScript | Purpose |
| Compile TypeScript → |
| E2E via real MCP |
| Run the server on stdio |
|
|
Local MCP config (instead of npx):
{
"mcpServers": {
"sdlc-integrity": {
"command": "node",
"args": ["/absolute/path/to/sdlc-integrity-mcp/dist/index.js"],
"env": {
"SDLC_WORKSPACE": "/absolute/path/to/your/repo"
}
}
}
}Releasing
CI runs build + E2E on every push/PR. To publish a new version:
Bump
versioninpackage.jsonCommit, push, and create a GitHub Release (
gh release create vX.Y.Z --generate-notes).github/workflows/publish.ymlpublishes to npm (Trusted Publisher / OIDC, orNPM_TOKENif configured)
License
MIT © Asoba
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP security server for AI coding agents. 12 tools: pre-install guardian, vulnerability audit, supply-chain attack detection via static code analysis, and CycloneDX 1.6 SBOM generation. Zero runtime dependencies.143815Apache 2.0
- Flicense-qualityBmaintenanceMCP server for auditing AI agent permissions and access by scanning for the trifecta of credentials, injection, and reach without heavy infrastructure.
- AlicenseCqualityBmaintenanceSecurity scanner and MCP server that catches dangerous patterns in MCP servers and AI agent projects, such as leaked secrets, shell execution, and prompt-injection text. Runs as both a CLI and MCP server with CI-friendly severity gates.21MIT
- Alicense-qualityAmaintenanceAn MCP server that enforces repository governance rules for AI coding agents, providing tools to validate plans, diffs, and scan for architectural and safety violations.MIT
Related MCP Connectors
Scans MCP servers for tool poisoning, prompt injection and supply chain risks.
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AsobaCloud/sdlc-integrity-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server