Skip to main content
Glama

MCP Shamash - Security Audit & Compliance Server

A Model Context Protocol (MCP) server for security auditing, penetration testing, and compliance validation with strict project boundary enforcement.

Features

  • Project-Scoped Security Scanning: Never escapes project boundaries

  • Multiple Security Tools: Semgrep, Trivy, Gitleaks, OWASP ZAP, and more

  • Network Penetration Testing: Safe network scanning within project scope

  • Compliance Validation: OWASP, CIS, NIST, ISO 27001 frameworks

  • Containerized Execution: Isolated scanner execution with Docker

  • Parallel Processing: Concurrent scanner execution for speed

  • Intelligent Caching: Results cached for performance optimization

  • Token Efficiency: <1000 tokens per operation with monitoring

  • Comprehensive Audit Logging: Complete operation trails

  • Real-Time Boundary Enforcement: Multi-layer security isolation

Quick Start

Installation

npm install
npm run build

Running the Server

npm start

Or for development:

npm run dev

Demo

Experience all features with the interactive demo:

node demo.js

This demonstrates:

  • Real security tool integration (Semgrep, Trivy, Gitleaks, OWASP ZAP)

  • Boundary enforcement (prevents external access)

  • Network scanning within project scope

  • Compliance validation (OWASP, CIS, NIST)

  • Caching performance improvements

  • Parallel scanner execution

MCP Integration

Configure in your MCP-compatible client:

{
  "mcpServers": {
    "shamash": {
      "command": "node",
      "args": ["/path/to/mcp_shamash/dist/index.js"]
    }
  }
}

Available Tools

scan_project

Comprehensive security scan of project directory.

{
  "name": "scan_project",
  "arguments": {
    "path": "/path/to/project",
    "profile": "standard",
    "tools": ["semgrep", "trivy", "gitleaks"]
  }
}

scan_network

Network scanning within project boundaries.

{
  "name": "scan_network",
  "arguments": {
    "target": "127.0.0.1",
    "ports": "80,443",
    "serviceDetection": true
  }
}

pentest_application

Penetration testing of deployed applications.

{
  "name": "pentest_application",
  "arguments": {
    "targetUrl": "http://localhost:3000",
    "testTypes": ["sql_injection", "xss", "csrf"],
    "depth": "thorough"
  }
}

check_compliance

Compliance framework validation.

{
  "name": "check_compliance",
  "arguments": {
    "path": "/path/to/project",
    "frameworks": ["OWASP", "CIS", "NIST"]
  }
}

Security Boundaries

Project Scope Detection

  • Automatic discovery of Docker Compose networks

  • Kubernetes service detection

  • Package.json analysis for Node.js apps

  • Local service enumeration

Multi-Layer Enforcement

  1. Path Validation: Prevents directory traversal

  2. Network Boundaries: CIDR-based network restrictions

  3. Container Isolation: Docker security hardening

  4. Resource Limits: Memory, CPU, and process constraints

Blocked Operations

  • System path access (/etc, /usr, /var)

  • External network scanning

  • Management port access (22, 3389, 445)

  • Privilege escalation attempts

Architecture

mcp-shamash/
├── src/
│   ├── core/           # MCP server core
│   ├── boundaries/     # Scope enforcement
│   ├── scanners/       # Tool integrations
│   ├── compliance/     # Framework validators
│   └── utils/          # Token management, audit logging
├── containers/         # Docker configurations
├── rules/             # Security rules
└── tests/            # Test suites

Development

Building

npm run build

Testing

npm test
npm run test:coverage

Linting

npm run lint
npm run format

Container Usage

Build Scanner Containers

# Build Semgrep scanner
docker build -f containers/Dockerfile.semgrep -t shamash-semgrep .

# Build all scanners
docker-compose -f containers/docker-compose.scanners.yml build

Run Isolated Scan

# Set target path and run scan
export SHAMASH_TARGET_PATH=/path/to/project
docker-compose -f containers/docker-compose.scanners.yml up semgrep

Configuration

Environment Variables

  • SHAMASH_MAX_TOKENS_PER_SCAN: Token limit per scan (default: 1000)

  • SHAMASH_MAX_TOKENS_PER_HOUR: Hourly token limit (default: 50000)

  • SHAMASH_AUDIT_LOG_PATH: Audit log location (default: ./audit.log)

Project Configuration

Create .shamash.yml in project root:

networks:
  allowed:
    - 172.20.0.0/16
    - 127.0.0.1/32
  blocked:
    - 10.0.0.0/8

ports:
  allowed: [80, 443, 3000, 8080]
  blocked: [22, 3389, 445]

tools:
  semgrep:
    config: "auto"
    timeout: 300
  trivy:
    severity: "HIGH,CRITICAL"
  gitleaks:
    entropy_threshold: 4.5

Compliance Frameworks

OWASP Top 10 Coverage

  • A01: Broken Access Control

  • A02: Cryptographic Failures

  • A03: Injection

  • A04: Insecure Design

  • A05: Security Misconfiguration

  • A06: Vulnerable Components

  • A07: Authentication Failures

  • A08: Software/Data Integrity

  • A09: Security Logging

  • A10: Server-Side Request Forgery

CIS Controls

  • Inventory and Control of Assets

  • Access Control Management

  • Continuous Vulnerability Management

  • Network Infrastructure Management

  • Data Protection

NIST Cybersecurity Framework

  • Identify: Asset management, governance

  • Protect: Access control, data security

  • Detect: Security monitoring, detection processes

  • Respond: Response planning, incident management

  • Recover: Recovery planning, improvements

Security Considerations

Defensive Only

  • No offensive capabilities

  • Read-only filesystem operations

  • No credential harvesting

  • Audit trail for all operations

Boundary Enforcement

  • Multiple validation layers

  • Real-time monitoring

  • Automatic violation detection

  • Emergency shutdown capability

Token Management

  • Per-scan limits (1000 tokens)

  • Rate limiting (5000/minute, 50000/hour)

  • Usage tracking and reporting

License

MIT License

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Add tests for new functionality

  4. Ensure all tests pass

  5. Submit a pull request

Support

For issues and questions:

  • Create an issue on GitHub

  • Check the audit logs for troubleshooting

  • Review boundary enforcement logs

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/NeoTecDigital/mcp_shamash'

If you have feedback or need assistance with the MCP directory API, please join our Discord server