Skip to main content
Glama
ZeroPath MCP Server

ZeroPath MCP Server

Official
by ZeroPathAI

ZeroPath MCP Server

License: MIT

Interact with ZeroPath security findings via MCP-compatible tools.

This MCP server calls ZeroPath tRPC V2 procedures directly (no REST wrappers) and returns structured JSON responses suitable for agent consumption.


Blog Post

Learn more about why we built this and how it fits into the evolving AI development ecosystem:

Chat With Your AppSec Scans: Introducing the ZeroPath MCP Server

Related MCP server: Checkmarx

Installation

Install directly from GitHub:

# Using pip
pip install git+https://github.com/ZeroPathAI/zeropath-mcp-server.git

# Using uvx (run without installing)
uvx --from git+https://github.com/ZeroPathAI/zeropath-mcp-server zeropath-mcp-server

You can also pin to a specific version:

# Specific version tag
pip install git+https://github.com/ZeroPathAI/zeropath-mcp-server.git@v0.1.0

# Latest from main branch
uvx --from "git+https://github.com/ZeroPathAI/zeropath-mcp-server@main" zeropath-mcp-server

From Source

git clone https://github.com/ZeroPathAI/zeropath-mcp-server.git
cd zeropath-mcp-server
uv sync

From PyPI (Optional)

If the package is published to PyPI, you can also install via:

pip install zeropath-mcp-server

Setup

1. Generate API Key

Generate a user-scoped or admin API key from ZeroPath Settings.

2. Configure Environment Variables

export ZEROPATH_BASE_URL="https://zeropath.com"  # optional (defaults to https://zeropath.com)
export ZEROPATH_TOKEN_ID=your_token_id
export ZEROPATH_TOKEN_SECRET=your_token_secret
export ZEROPATH_ORG_ID=your_org_id

Use ZEROPATH_BASE_URL to target staging or another environment, for example:

export ZEROPATH_BASE_URL="https://staging.branch.zeropath.com"

Configuration

Add the following to your MCP config file (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "zeropath": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/ZeroPathAI/zeropath-mcp-server",
        "zeropath-mcp-server"
      ],
      "env": {
        "ZEROPATH_BASE_URL": "https://zeropath.com",
        "ZEROPATH_TOKEN_ID": "your_token_id",
        "ZEROPATH_TOKEN_SECRET": "your_token_secret",
        "ZEROPATH_ORG_ID": "your_org_id"
      }
    }
  }
}

Using source install

{
  "mcpServers": {
    "zeropath": {
      "command": "uv",
      "args": [
        "run",
        "--project",
        "/path/to/zeropath-mcp-server",
        "python",
        "-m",
        "zeropath_mcp_server"
      ],
      "env": {
        "ZEROPATH_BASE_URL": "https://zeropath.com",
        "ZEROPATH_TOKEN_ID": "your_token_id",
        "ZEROPATH_TOKEN_SECRET": "your_token_secret",
        "ZEROPATH_ORG_ID": "your_org_id"
      }
    }
  }
}

Using PyPI install (Optional)

{
  "mcpServers": {
    "zeropath": {
      "command": "zeropath-mcp-server",
      "env": {
        "ZEROPATH_BASE_URL": "https://zeropath.com",
        "ZEROPATH_TOKEN_ID": "your_token_id",
        "ZEROPATH_TOKEN_SECRET": "your_token_secret",
        "ZEROPATH_ORG_ID": "your_org_id"
      }
    }
  }
}

Tool Surface (tRPC V2)

Tools are loaded dynamically from the ZeroPath frontend's MCP manifest at startup.

All tool calls use tRPC V2 procedures directly using tRPC v10 HTTP conventions:

  • Queries: GET /trpc/<procedure>?input=<url-encoded-json>

  • Mutations: POST /trpc/<procedure> with the raw JSON input object as the body (not wrapped).

Successful responses are returned as structured JSON with the { "result": { "data": ... } } wrapper removed. Errors return the tRPC error object directly.

The server also performs best-effort client-side input validation using each tool's inputSchema from the manifest and returns a BAD_REQUEST error before calling tRPC when inputs are invalid. If a schema uses unsupported JSON Schema features, client-side validation is skipped for that call (server-side validation remains authoritative).


Example Calls

List issues:

{
  "tool": "issues.list",
  "input": {
    "page": 1,
    "pageSize": 25,
    "statuses": ["PENDING_REVIEW"],
    "sortBy": "score",
    "sortOrder": "desc"
  }
}

Archive issues:

{
  "tool": "issues.archive",
  "input": {
    "issueIds": ["issue_123", "issue_456"],
    "reason": "Confirmed duplicate"
  }
}

Create a rule:

{
  "tool": "rules.create",
  "input": {
    "name": "Detect unsafe eval",
    "rule": "Detect any use of eval() on user input",
    "globPattern": "**/*.js",
    "sourceTypes": ["FILE_HANDLER"],
    "repositoryIds": ["repo_123"]
  }
}

Fetch stats summary:

{
  "tool": "stats.summary",
  "input": {
    "organizationId": "org_123"
  }
}

Development

Running Tests

uv run pytest tests/ -v

Building the Package

uv build

Publishing to PyPI (Optional)

uv publish

Contributing

We welcome contributions from the security, AI, and developer tools communities.

  • Found a bug? Open an issue

  • Want to improve a tool or add a new one? Submit a pull request

  • Have feedback or questions? Join us on Discord


License

MIT License - see LICENSE for details.

Available Tools

17 tools
approve_patchC
Approve a patch for a specific vulnerability issue.

Args:
    issue_id (str): The ID of the issue whose patch should be approved
NameRequiredDescriptionDefault
issue_idYes
archive_issueB
Archive a security issue to remove it from active view.

Args:
    issue_id: The ID of the issue to archive
NameRequiredDescriptionDefault
issue_idYes
generate_patchC
Generate an automated patch/fix for a security issue.

Args:
    issue_id: The ID of the issue to generate a patch for
NameRequiredDescriptionDefault
issue_idYes
get_issueB
Get a specific vulnerability issue by its ID, including patch information if available.

Args:
    issue_id (str): The ID of the issue to retrieve
NameRequiredDescriptionDefault
issue_idYes
get_issues_by_vuln_classB

Get issue statistics grouped by vulnerability class/type. Shows distribution of vulnerabilities by category (XSS, SQLi, etc.).

NameRequiredDescriptionDefault

No parameters

get_sca_vulnerabilityC
Get detailed information about a specific SCA vulnerability.

Args:
    vulnerability_id: The ID of the vulnerability to retrieve
NameRequiredDescriptionDefault
vulnerability_idYes
get_security_postureB

Get the overall security posture metrics for the organization. Returns security score, vulnerability trends, and risk assessment.

NameRequiredDescriptionDefault

No parameters

get_summary_statisticsB

Get aggregated summary statistics across the organization. Includes total issues, patches, repositories, and key metrics.

NameRequiredDescriptionDefault

No parameters

list_repositoriesB
List all repositories in the organization.

Args:
    search_query: Optional search term to filter repositories
NameRequiredDescriptionDefault
search_queryNo
list_scansB
List security scans with optional filtering and pagination.

Args:
    search_query: Optional search term to filter scans
    repository_ids: Optional list of repository IDs to filter by
    scan_type: Optional scan type filter (FullScan, PrScan, SCAScan)
    page: Page number (default: 1)
    page_size: Number of results per page (default: 10)
NameRequiredDescriptionDefault
search_queryNo
repository_idsNo
scan_typeNo
pageNo
page_sizeNo
list_sca_repositoriesB

List repositories with their aggregated dependency inventory information. Shows which repositories have been analyzed for dependencies.

NameRequiredDescriptionDefault

No parameters

list_sca_vulnerabilitiesB
Search for SCA (Software Composition Analysis) vulnerabilities in dependencies.

Args:
    search_query: Optional search term to filter vulnerabilities
    repository_ids: Optional list of repository IDs to filter by
    ecosystems: Optional list of ecosystems to filter (npm, pip, maven, etc.)
    transitivity: Optional filter by dependency type (direct, transitive)
    page: Page number (default: 1)
    page_size: Number of results per page (default: 50)
NameRequiredDescriptionDefault
search_queryNo
repository_idsNo
ecosystemsNo
transitivityNo
pageNo
page_sizeNo
mark_false_positiveA
Mark a security issue as a false positive (not a real vulnerability).

Args:
    issue_id: The ID of the issue to mark as false positive
NameRequiredDescriptionDefault
issue_idYes
mark_true_positiveC
Mark a security issue as a true positive (confirmed vulnerability).

Args:
    issue_id: The ID of the issue to mark as true positive
NameRequiredDescriptionDefault
issue_idYes
search_vulnerabilitiesC

Search for vulnerabilities using the Zeropath API with a simple search query.

NameRequiredDescriptionDefault
search_queryNo
start_scanC
Start a new security scan on one or more repositories.

Args:
    repository_ids: List of repository IDs to scan
NameRequiredDescriptionDefault
repository_idsNo
unarchive_issueB
Unarchive a previously archived security issue to restore it to active view.

Args:
    issue_id: The ID of the issue to unarchive
NameRequiredDescriptionDefault
issue_idYes

Tool Schema Changelog

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

  1. 17 tool updates
    • First observedapprove_patch
    • First observedarchive_issue
    • First observedgenerate_patch
    • First observedget_issue
    • First observedget_issues_by_vuln_class
    • First observedget_sca_vulnerability
    • First observedget_security_posture
    • First observedget_summary_statistics
    • First observedlist_repositories
    • First observedlist_sca_repositories
    • First observedlist_sca_vulnerabilities
    • First observedlist_scans
    • First observedmark_false_positive
    • First observedmark_true_positive
    • First observedsearch_vulnerabilities
    • First observedstart_scan
    • First observedunarchive_issue

TDQS

B3.4/5.0

Scored across 17 tools

Disambiguation4/5

Most tools have distinct purposes, but some overlap exists: 'get_issues_by_vuln_class' and 'search_vulnerabilities' both involve vulnerability discovery, though the former focuses on statistics and the latter on search. 'list_sca_vulnerabilities' and 'search_vulnerabilities' could be confused as both handle vulnerability queries, but their scopes differ (SCA vs. general). Overall, descriptions help clarify boundaries, but minor ambiguity remains.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern (e.g., 'approve_patch', 'archive_issue', 'generate_patch'). There are no deviations in style or convention, making the set predictable and easy to parse. This uniformity enhances usability and reduces cognitive load for agents.

Tool Count4/5

With 17 tools, the count is slightly high but reasonable for a security vulnerability management domain, covering issues, patches, scans, repositories, and SCA. It feels comprehensive without being overwhelming, though it borders on the upper limit of typical scoping (3-15 tools).

Completeness5/5

The toolset provides complete coverage for security vulnerability management: CRUD operations for issues (get, archive/unarchive, mark status), patch lifecycle (generate, approve), scanning (start, list), repository management, and SCA vulnerabilities. No obvious gaps exist; agents can handle full workflows from detection to resolution.

Maintenance

ActivityNo data
ResponsivenessOutdated data

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    The Checkmarx Security MCP server bridges your AI assistant (Claude, Cursor, Copilot, etc.) with Checkmarx One's enterprise application security platform. It exposes security workflows as natural-language-accessible MCP tools, allowing developers to scan code, investigate findings, and receive context-aware fixes without leaving their development environment.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI coding tools to scan projects for security vulnerabilities, hardcoded secrets, injection flaws, and privacy violations with 699 rules and 76 MCP tools, all running locally with zero telemetry.
    17 npm
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI coding assistants to leverage Application Security Posture Management (ASPM) capabilities, allowing developers to write secure code, query security risks, trigger diff scans, and manage security findings directly from their AI assistant.
    5
    Apache 2.0