Skip to main content
Glama
armorcode-mcp

armorcode-mcp

by raviraj-ntp

ArmorCode MCP

Local MCP server for ArmorCode — finding triage, scans, exceptions, risk scores, and release gate checks.


Quick start

{
  "mcpServers": {
    "armorcode": {
      "command": "npx",
      "args": ["-y", "@raviraj87/armorcode-mcp"],
      "env": {
        "ARMORCODE_URL": "https://your-tenant.armorcode.com",
        "ARMORCODE_API_TOKEN": "your-api-token"
      }
    }
  }
}

ARMORCODE_WRITE_ENABLED is optional — omit it for safe defaults (write tools preview only).


Related MCP server: bd-skill

Environment variables

Variable

Required

Description

ARMORCODE_URL

Yes

Tenant base URL

ARMORCODE_API_TOKEN

Yes

API token from Manage → Integrations → API

ARMORCODE_WRITE_ENABLED

No

Set true to apply writes with dryRun: false


Tools (v1.0)

Findings

Tool

Purpose

armorcode_search_findings

Search/filter findings

armorcode_get_finding

Full finding detail

armorcode_get_finding_events

Audit trail

armorcode_get_findings_stats

Counts by severity/status

armorcode_get_severity_stats

Severity breakdown

Status & comments (write, dry-run default)

Tool

Purpose

armorcode_confirm_finding

OPEN → CONFIRMED

armorcode_control_finding

→ CONTROLLED

armorcode_block_finding

Block via accept-risk

armorcode_accept_risk

Accept risk

armorcode_mark_false_positive

False positive

armorcode_reopen_finding

Reopen

armorcode_triage_finding

→ TRIAGE

armorcode_mitigate_finding

→ MITIGATED

armorcode_suppress_finding

Suppress

armorcode_add_comment

Add note

armorcode_add_exploitability_comment

Structured exploitability

armorcode_update_finding_severity

Change severity

Products & risk

Tool

Purpose

armorcode_list_products

List products/groups

armorcode_list_subproducts

List subproducts

armorcode_get_product_risk_score

Product risk

armorcode_get_subproduct_risk_score

Subproduct risk

armorcode_get_all_product_risk_scores

All products

Scans & exceptions

Tool

Purpose

armorcode_list_scans

List scans

armorcode_get_scan

Scan details

armorcode_execute_scan

Trigger scan

armorcode_trigger_scan_pull

PULL tool scheduler (Black Duck, etc.)

armorcode_list_scan_schedulers

List schedulers

armorcode_delete_scan_scheduler

Clean up scheduler

armorcode_list_exceptions

Open exceptions

armorcode_get_exception

Exception detail

armorcode_create_exception

Create risk register entry

armorcode_release_gate_status

Jenkins release gate check

Escape hatch

Tool

Purpose

armorcode_health

Connectivity check

armorcode_api

Any GET/POST/PUT/DELETE path


Dev

cd armorcode-mcp
npm install
npm run build
ARMORCODE_URL=... ARMORCODE_API_TOKEN=... npm run test:readonly

License

MIT — Copyright © 2026 Ravi Raj

Available Tools

37 tools
armorcode_accept_riskAccept RiskD

Accept Risk. dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_add_commentAdd CommentC

Add comment to finding. dryRun defaults true.

Inputs: note (required), findingId (required), dryRun.

armorcode_add_exploitability_commentExploitability CommentD

Structured exploitable/notexploitable comment. dryRun defaults true.

Inputs: reason (required), findingId (required), exploitable (required), dryRun.

armorcode_add_finding_tagsAdd Finding TagsA

Add/remove finding tags only (no comment). For exploitability triage use armorcode_set_product_exploitability. dryRun defaults true.

Inputs: tags (required), findingId (required), dryRun, removeTags.

armorcode_apiArmorCode APIC

Escape hatch for any ArmorCode REST path.

Inputs: path (required), method (required), body, dryRun.

armorcode_block_findingBlock FindingC

Block via accept-risk (fix unavailable). dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_bulk_set_product_exploitabilityBulk Set Product ExploitabilityB

Triage multiple findings: comment first, then product_exploitability tag per finding. dryRun defaults true.

Inputs: reason (required), productName (required), dryRun, status, +5 more.

armorcode_confirm_findingConfirm FindingC

Confirm Finding. dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_control_findingControl FindingC

Control Finding. dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_create_exceptionCreate ExceptionC

Create risk register exception. dryRun defaults true.

Inputs: name (required), endDate (required), startDate (required), description (required), +5 more.

armorcode_delete_scan_schedulerDelete Scan SchedulerC

Delete scheduler config. dryRun defaults true.

Inputs: schedulerId (required), dryRun.

armorcode_execute_scanExecute ScanC

Trigger scan for subproduct. dryRun defaults true.

Inputs: toolName (required), environment (required), subproductName (required), dryRun, +1 more.

armorcode_get_all_product_risk_scoresAll Product Risk ScoresC

Risk scores for all products.

Inputs: environment.

armorcode_get_exceptionGet ExceptionC

Exception details by ID.

Inputs: exceptionId (required).

armorcode_get_findingGet FindingC

Full finding details by ID.

Inputs: findingId (required).

armorcode_get_finding_eventsFinding EventsC

Audit events for a finding.

Inputs: findingId (required).

armorcode_get_findings_statsFindings StatsC

Finding counts by severity/status.

Inputs: status, severity, sourceTool, productName, +1 more.

armorcode_get_product_risk_scoreProduct Risk ScoreC

Risk score for a product by name.

Inputs: productName (required), environment.

armorcode_get_scanGet ScanC

Scan details by ID.

Inputs: scanId (required).

armorcode_get_severity_statsSeverity StatsC

Severity breakdown for product/subproduct.

Inputs: productName, subproductName.

armorcode_get_subproduct_risk_scoreSubproduct Risk ScoreC

Risk score for a subproduct.

Inputs: subproductName (required), environment, productName.

armorcode_healthArmorCode HealthA

Verify ArmorCode API connectivity.

Inputs: no named parameters.

armorcode_list_exceptionsList ExceptionsC

Open risk register exceptions.

Inputs: no named parameters.

armorcode_list_productsList ProductsC

List ArmorCode products/groups.

Inputs: search.

armorcode_list_scansList ScansC

List security scans with filters.

Inputs: pageSize, toolName, scanStatus, environment, +2 more.

armorcode_list_scan_schedulersList Scan SchedulersD

Schedulers for a security tool.

Inputs: toolName (required).

armorcode_list_subproductsList SubproductsC

List subproducts, optionally by product.

Inputs: search, productName.

armorcode_mark_false_positiveFalse PositiveD

False Positive. dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_mitigate_findingMitigate FindingC

Mitigate Finding. dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_release_gate_statusRelease Gate StatusC

Check ArmorCode release gate (/client/build).

Inputs: env (required), product (required), subProducts (required).

armorcode_reopen_findingReopen FindingC

Reopen Finding. dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_search_findingsSearch FindingsA

Search/filter ArmorCode findings. Severity and excludeTagPrefix are applied client-side when server filters fail. Use fetchAll=true to paginate.

Inputs: cves, tags, status, afterKey, +9 more.

armorcode_set_product_exploitabilitySet Product ExploitabilityB

Triage exploitability: adds comment first, then product_exploitability tag. dryRun defaults true.

Inputs: reason (required), findingId (required), exploitable (required), dryRun.

armorcode_suppress_findingSuppress FindingC

Suppress Finding. dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_triage_findingTriage FindingD

Triage Finding. dryRun defaults true.

Inputs: findingId (required), notes, dryRun, reason.

armorcode_trigger_scan_pullTrigger Scan PullC

Create temporary scheduler for PULL tools (e.g. Black Duck). dryRun defaults true.

Inputs: toolName (required), productName (required), subproductName (required), dryRun, +1 more.

armorcode_update_finding_severityUpdate SeverityC

Update finding severity. dryRun defaults true.

Inputs: severity (required), findingId (required), notes, dryRun, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.5/5.0

    Scored across 37 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes, especially for findings where each action (accept, confirm, mitigate, etc.) targets a specific status. However, the sheer number of finding-related tools (15+) could cause some confusion, particularly between armorcode_accept_risk and armorcode_block_finding, though descriptions clarify.

    Naming Consistency5/5

    All tools follow the consistent pattern of 'armorcode_verb_noun' with underscores, using predictable verbs like get, list, add, create, delete, search, etc. The naming is uniform and easy to understand across the entire set.

    Tool Count2/5

    With 37 tools, the count is well above typical well-scoped MCP servers (3-15) and exceeds the 25+ threshold for 'too many'. While the ArmorCode domain may have many operations, the tool surface feels overly granular, with many separate tools that could be parameterized.

    Completeness4/5

    The tool set covers the core ArmorCode workflows: findings (CRUD-like status changes, tagging, comments), scans, products, exceptions, and risk scores. Missing operations like deleting findings or updating products are minor gaps that do not severely hinder common use cases, especially with the armorcode_api escape hatch.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      An MCP server that integrates SAST, DAST, and SCA security tools to enable AI-driven vulnerability scanning and automated security reporting. It allows AI assistants to execute and analyze results from tools like Semgrep, OWASP ZAP, and Trivy within a DevSecOps workflow.
      6
      MIT
    • F
      license
      Not graded
      quality
      Not graded
      maintenance
      An MCP server that provides Claude Code with access to Black Duck SCA for managing vulnerabilities, licenses, and policy violations through natural language. It enables users to query component risks and execute Black Duck Detect scans directly within their workspace.
      -
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for the StepSecurity platform that enables investigating supply-chain and CI/CD security issues through natural language.
      30
      120 npm
      5
      Apache 2.0