Issues
12 tools — list, triage, investigate, update status, severity, and notes, regenerate patches
Scans
3 tools — list scan history, get scan details, rescan PRs
Repositories
1 tool — list repositories with filtering
Code Inspection
3 tools — search, read, and list files in connected repositories
Rules
5 tools — full CRUD for custom security rules
Security Compass
8 tools — manage SD Elements project mappings, sync rules, read the coverage audit, and query linked issues
Organization Scoping
Every tool acceptsorganizationId. The MCP server handles this automatically:
- If
ZEROPATH_ORG_IDis set, the server injects it into every request — you never need to pass it yourself. - If
ZEROPATH_ORG_IDis not set, you must passorganizationIdexplicitly. Most tools require it at the API level; a few (likeissues.list) can resolve org context from your auth session.
Issue Tools
issues.list
List and filter security issues. Uses offset-based pagination viaoffset and limit.
issues.archive
Archive issues to remove them from active views.issues.unarchive
Restore archived issues back to active views.issues.markFalsePositive
Mark issues as false positives. Removes them from active review.issues.markTruePositive
Confirm issues as true positives.issues.updateStatus
Update the workflow status of one or more issues.issues.updateSeverity
Update the severity score of a single issue.issues.requestInvestigation
Request an on-demand investigation of a finding using larger AI models for higher-confidence validation.REST vs MCP: The public HTTP API exposes a single procedure,
POST /api/v2/issues/requestInvestigation, with an issueIds array (one or more IDs). That route uses the same backend path as the issues.requestBulkInvestigation MCP tool. This issues.requestInvestigation MCP tool calls the single-issue tRPC mutation instead — there is no matching POST …/{id}/investigate REST endpoint."status": "already_pending" instead of creating a duplicate.
issues.requestBulkInvestigation
Request investigations for multiple issues at once.REST mapping:
POST /api/v2/issues/requestInvestigation with { issueIds, context?, organizationId? }. This is the HTTP surface for bulk investigations; it is not the same MCP tool name as issues.requestInvestigation (single-issue tRPC tool above).issues.getInvestigationStatus
Get the latest investigation result for an issue.null if no investigation has been requested for the issue. The status field can be PENDING, PROCESSING, COMPLETED, or FAILED.
issues.regeneratePatch
Request a new patch to be generated for an issue. Use this when the existing auto-generated patch is outdated, does not apply cleanly, or you want a fresh attempt after the affected code has changed.issues.updateNotes
Update the internal notes on an issue. Notes are free-text annotations visible to your team on the issue detail page and are useful for capturing triage context, investigation findings, or remediation plans.Scan Tools
scans.list
List scans with cursor-based pagination. Pass thenextCursor from a previous response to paginate forward.
scans.get
Get details for a specific scan.scans.rescanPR
Trigger a rescan of a pull request or merge request. Pass the ID of a previous PR scan and the platform will re-fetch the pull request and create new scan(s). Supports GitHub PRs and GitLab MRs.outcome field indicates what happened:
Repository Tools
repositories.list
List repositories with cursor-based pagination (string cursor).Code Inspection Tools
These tools allow you to browse and search source code directly in connected GitHub and GitLab repositories without cloning.code.search
Search for code within a repository.code.read
Read the contents of a file in a repository.truncatedByLineRange and truncatedByByteLimit flags indicate whether the response was truncated.
code.listFiles
List files and directories within a repository path.Code inspection is currently supported for GitHub and GitLab repositories. Bitbucket, generic Git, and uploaded repositories are not yet supported.
Rule Tools
rules.list
List custom security rules. Uses offset-based pagination.rules.get
Get details for a specific rule, including associated repository names.rules.create
Create a custom security rule.rules.update
Update an existing rule. Only the fields you include will be modified.rules.delete
Delete a custom rule.Security Compass Tools
These tools let you manage the Security Compass / SD Elements integration from your AI assistant. Credential operations (creating or deleting the integration, and thetestConnection token parameter) are intentionally not exposed through MCP — supply your SD Elements API key through the ZeroPath dashboard, not through an AI assistant.
securityCompass.getIntegration
Fetch the Security Compass integration and all project mappings for an organization.securityCompass.testConnection
Validate credentials against a specific SD Elements project. TheapiToken parameter is not exposed through MCP — the tool uses the stored credentials when the requested URL matches the stored integration’s origin.
securityCompass.addProjectMapping
Link an SD Elements project to a ZeroPath repository and start the initial rule sync.securityCompass.removeProjectMapping
Unlink a project mapping (and clean up generated rules when no other mappings remain for the repository).securityCompass.syncRules
Manually trigger a countermeasure-to-rule sync for a mapping.securityCompass.getMappingAudit
Retrieve the per-countermeasure coverage breakdown for a mapping. Returns one entry per SD Elements countermeasure describing how ZeroPath covers it (built-in analysis, auto-generated natural-language rule, unsupported, or classification error), enriched with phase, priority, risk rating, and linked issue count.securityCompass.getLinkedIssues
List open ZeroPath findings linked to a specific SD Elements countermeasure.securityCompass.getSyncHistory
Retrieve recent Security Compass audit-log events for an organization — rule syncs, findings pushes, mapping changes, and connection tests — newest first.Managing mappings and triggering syncs (
addProjectMapping, removeProjectMapping, syncRules) requires the admin role. Read operations (getIntegration, getMappingAudit, getLinkedIssues, getSyncHistory) are available to all organization members. See Security Compass / SD Elements for the full workflow.Common Workflows
Triage new issues
Triage new issues
- List pending issues — call
issues.listwithstatuses: ["PENDING_REVIEW"]sorted byscoredescending. - Review each issue — ask your AI assistant to summarize the vulnerability and affected code.
- Classify — use
issues.markTruePositiveorissues.markFalsePositivewith a reason. - Update status — move confirmed issues to
REVIEWINGorPATCHINGwithissues.updateStatus. - Adjust severity — if the auto-assigned score doesn’t match your assessment, use
issues.updateSeveritywith a value from 0 to 10.
Create custom rules
Create custom rules
- List existing rules — call
rules.listto see what’s already configured. - Create a rule — use
rules.createwith a natural language description. ZeroPath’s scanner will match this pattern during future scans. - Scope it — use
repositoryIdsto limit the rule to specific repos,globPatternto limit to specific file types, andsourceTypesto target specific entry points. - Tag it — use
tagIdsto associate the rule with tags for organization. - Iterate — update with
rules.updateas you refine the pattern.
Investigate scan results
Investigate scan results
- List recent scans — call
scans.listto see scan history. Filter withscanTypes: ["FullScan"]for scheduled scans or["PrScan"]for PR scans. - Get scan details — use
scans.getwith a specificscanIdto see status, branch, and issue counts. - Drill into findings — call
issues.listwith ascanIdfilter to see only issues from that scan.
Error Handling
Failed tool calls return structured errors:BAD_REQUEST — Invalid input
BAD_REQUEST — Invalid input
Returned when input validation fails. Check the
data.issues array for field-level details.FORBIDDEN — Insufficient permissions
FORBIDDEN — Insufficient permissions
The API key does not have the required permissions for this operation. Check your key’s role in ZeroPath Settings.
NOT_FOUND — Resource doesn't exist
NOT_FOUND — Resource doesn't exist
The specified ID (issue, scan, rule, or repository) was not found. Verify the ID is correct and belongs to your organization.
Tips
- Paginate — always paginate large result sets. Use
offset/limitfor issues and rules,cursor/limitfor scans and repositories. - Filter early — use status, severity, and repository filters to reduce response size.
- Batch updates — pass multiple IDs in a single call when archiving, marking, or updating status.
- Include reasons — add a
reasonwhen archiving, marking false/true positives, or changing status for audit trails. - Set org context — configure
ZEROPATH_ORG_IDduring installation so the server injectsorganizationIdinto every request automatically.