Skip to main content
Glama

sdlc-integrity-mcp

MCP server for enterprise SDLC code integrity. It exposes audit and safety-check tools over the Model Context Protocol so AI coding agents can scan a workspace for lifecycle teardown gaps, mock-theater tests, DRY violations, and language-specific safety issues in shell, JavaScript/HTML, and Python.

Tools

Tool

Runtime

What it checks

AuditCodeIntegrity

python3

Lifecycle teardown parity, mock-theater test detection, naming invariants, swallowed exceptions, DRY / duplicative functions. Returns structured JSON.

ShellSafetyChecker

bash

Missing set -euo pipefail, shebang issues, hardcoded credentials, background-job silent-failure risk; optionally shellcheck errors.

JsSafetyChecker

node

JS/HTML syntax errors, duplicate function definitions, duplicate HTML element IDs (AST-based via esprima).

PythonSafetyChecker

python3

bandit (High/Critical), ruff, AST checks for eval/exec, pickle loads, hardcoded credentials, mutable default args.

Each tool accepts:

  • target — file or directory to scan (relative paths resolve against the workspace root)

  • timeout — optional timeout in ms (default 120000, max 600000)

Exit code 1 with findings is surfaced as isError: true on the MCP tool result; unexpected crashes are reported as errors.

Related MCP server: aegis

Requirements

  • Node.js ≥ 22

  • Python 3 (for AuditCodeIntegrity and PythonSafetyChecker)

  • bash (for ShellSafetyChecker)

Optional / tool-specific

Dependency

Used by

Notes

shellcheck

ShellSafetyChecker

Strongly recommended; without it, custom heuristic checks still run

bandit

PythonSafetyChecker

Optional; skipped with a warning if missing (pip install bandit)

ruff

PythonSafetyChecker

Optional; skipped with a warning if missing

esprima is a declared npm dependency and is used by JsSafetyChecker.

Install

npm install
npm run build

Or run the published package:

npx -y @asobacloud/sdlc-integrity-mcp

CI & publishing

  • CI (.github/workflows/ci.yml) — on push/PR to master/main: npm ci, build, E2E tests.

  • Publish (.github/workflows/publish.yml) — on a published GitHub Release (or manual workflow_dispatch).

First npm publish (bootstrap)

Scoped package @asobacloud/sdlc-integrity-mcp needs publish rights on the asobacloud npm org.

  1. Create an npm automation/granular token with publish access to @asobacloud/*.

  2. Add it as a repo (or org) Actions secret named NPM_TOKEN.

  3. Create and publish a GitHub Release tagged v1.0.0 (tag must match package.json version, or bump the version first).

gh release create v1.0.0 --title "v1.0.0" --notes "Initial npm release"

Ongoing publishes (OIDC, preferred)

After the package exists on npm:

  1. On https://www.npmjs.com/package/@asobacloud/sdlc-integrity-mcpSettings → Trusted Publisher:

    • Organization: AsobaCloud

    • Repository: sdlc-integrity-mcp

    • Workflow filename: publish.yml

  2. You can remove NPM_TOKEN; subsequent releases publish via OIDC + provenance.

Cursor / MCP client config

Point your MCP client at the server over stdio. Set SDLC_WORKSPACE to the repo the agent should audit (defaults to the process cwd).

Cursor (~/.cursor/mcp.json or project .cursor/mcp.json):

{
  "mcpServers": {
    "sdlc-integrity": {
      "command": "npx",
      "args": ["-y", "@asobacloud/sdlc-integrity-mcp"],
      "env": {
        "SDLC_WORKSPACE": "/absolute/path/to/your/repo"
      }
    }
  }
}

For a local checkout 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"
      }
    }
  }
}

Custom rules (workspace overlay)

Drop JSON tool configs into <workspace>/.sdlc-rules/. Local rules override bundled tools with the same name, or add new ones. Script paths in local rules are resolved relative to .sdlc-rules/.

Example .sdlc-rules/MyCustomAudit.json:

{
  "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}} args are interpolated from the tool call arguments. If a flag’s value is omitted, that flag and its placeholder are skipped.

Architecture

rules/*.json          → declarative tool schemas + execution specs
scripts/*             → language-specific checker subprocesses
src/loader.ts         → load bundled rules, overlay .sdlc-rules/
src/runner.ts         → spawn runtime, timeouts, exit-code → isError
src/index.ts          → MCP stdio server (tools/list, tools/call)
bin/cli.js            → thin launcher for npx / bin
  1. On start, the server loads rules/*.json, then overlays <workspace>/.sdlc-rules/.

  2. tools/list returns each tool’s name, description, and inputSchema.

  3. tools/call resolves target against SDLC_WORKSPACE (or cwd), interpolates args, and runs runtime script ... with a capped timeout (stdout/stderr capped at 1MB).

Development

npm install
npm run build
npm test
npm start          # run MCP server on stdio
npm run dev        # rebuild-watch via node --watch on dist/

Integration tests in tests/mcp-server.test.mjs drive the real MCP Client (StdioClientTransport) against the built server and assert concrete findings from fixture files for every bundled tool (pass and fail paths), relative target resolution, and unknown-tool error handling.

License

MIT © AsobaCloud

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    Last updated
    14
    16
    15
    Apache 2.0
  • A
    license
    -
    quality
    D
    maintenance
    This MCP server enables security auditing for MCP configurations and AI agents, including prompt injection testing, data flow tracing, and security policy generation.
    Last updated
    106
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Security 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.
    Last updated
    2
    1
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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