Repository navigation
Expand file tree
/
Copy pathmanifest.json
More file actions
186 lines (186 loc) · 9.21 KB
/
Copy pathmanifest.json
File metadata and controls
186 lines (186 loc) · 9.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
{
"manifest_version": "0.3",
"name": "codeant",
"display_name": "CodeAnt AI",
"version": "0.5.3",
"description": "Drive CodeAnt AI security scans and code review from Claude — org-wide secret triage, cross-repo SAST/SCA findings, on-demand scans, and local PR review.",
"long_description": "CodeAnt AI inside Claude. Ask things like \"show my highest-priority Hotlist findings\", \"list AWS cloud findings\", \"show this pentest report\", or \"review my staged changes\" — Claude calls the CodeAnt API directly via this MCP server.\n\nIncludes 22 read-only tools, covering repository, Hotlist, cloud security, anti-pattern, and pentest findings plus an authenticated GET escape hatch for new APIs, 2 sign-in tools, and 3 opt-in write tools gated behind a setting.\n\nRequires a CodeAnt account. Sign up at https://codeant.ai. To authenticate, call the `codeant_login` tool — it returns a sign-in link (and opens it in your browser when it can), then saves the token once you finish.\n\nCollects usage telemetry via PostHog by default (events are tied to your CodeAnt token); turn on \"Disable telemetry\" in the extension settings to opt out.",
"author": {
"name": "CodeAnt AI",
"email": "support@codeant.ai",
"url": "https://codeant.ai"
},
"homepage": "https://docs.codeant.ai/cli/mcp-server",
"documentation": "https://docs.codeant.ai/cli/mcp-server",
"support": "https://docs.codeant.ai/cli/setup",
"license": "MIT",
"keywords": [
"code-review",
"security",
"secrets",
"sast",
"sca",
"static-analysis",
"pull-requests"
],
"privacy_policies": [
"https://www.codeant.ai/privacy-policy"
],
"icon": "icon.png",
"server": {
"type": "node",
"entry_point": "server/index.js",
"mcp_config": {
"command": "node",
"args": ["${__dirname}/server/index.js"],
"env": {
"CODEANT_API_TOKEN": "${user_config.api_token}",
"CODEANT_API_URL": "${user_config.base_url}",
"CODEANT_DASHBOARD_URL": "${user_config.dashboard_url}",
"CODEANT_READ_ONLY": "${user_config.read_only}",
"CODEANT_TELEMETRY_DISABLED": "${user_config.telemetry_disabled}",
"GITHUB_TOKEN": "${user_config.github_token}",
"GITLAB_TOKEN": "${user_config.gitlab_token}",
"BITBUCKET_TOKEN": "${user_config.bitbucket_token}",
"AZURE_DEVOPS_TOKEN": "${user_config.azure_devops_token}",
"GITHUB_API_URL": "${user_config.github_api_url}",
"GITLAB_URL": "${user_config.gitlab_url}",
"BITBUCKET_URL": "${user_config.bitbucket_url}",
"AZURE_DEVOPS_ORG_URL": "${user_config.azure_devops_org_url}"
}
}
},
"compatibility": {
"runtimes": {
"node": ">=18.0.0"
}
},
"tools_generated": false,
"tools": [
{ "name": "codeant_scans_orgs", "description": "List the CodeAnt organizations the current user is authenticated to." },
{ "name": "codeant_scans_repos", "description": "List repositories connected to CodeAnt for an organization." },
{ "name": "codeant_scans_history", "description": "Show recent scan runs for a single repository." },
{ "name": "codeant_scans_get", "description": "Get summary metadata for a single scan (no findings)." },
{ "name": "codeant_scans_results", "description": "Fetch full findings (SAST, SCA, secrets, IaC, etc.) for a scan." },
{ "name": "codeant_scans_dismissed", "description": "List dismissed alerts for a repository." },
{ "name": "codeant_scans_overrides", "description": "List user false-positive, confidence, and severity overrides for a repository." },
{ "name": "codeant_hotlist_list", "description": "List prioritized organization-wide Hotlist findings with stable IDs." },
{ "name": "codeant_hotlist_get", "description": "Fetch one complete Hotlist finding by its stable ID." },
{ "name": "codeant_findings_antipatterns", "description": "List anti-pattern findings across selected or all organization repositories." },
{ "name": "codeant_cloud_scan_history", "description": "List AWS, Azure, or GCP CSPM, VM, or container scan history." },
{ "name": "codeant_cloud_findings_list", "description": "List findings for a CSPM, VM, or container security scan." },
{ "name": "codeant_cloud_finding_get", "description": "Fetch complete detail for one cloud security finding." },
{ "name": "codeant_pentest_history", "description": "List pentest engagements visible in CodeAnt." },
{ "name": "codeant_pentest_issues", "description": "List all available issues for a pentest engagement." },
{ "name": "codeant_pentest_report", "description": "Fetch a complete pentest customer report." },
{ "name": "codeant_api_get", "description": "Call any authenticated GET endpoint on the configured CodeAnt API host." },
{ "name": "codeant_pr_list", "description": "List pull requests / merge requests across GitHub, GitLab, Bitbucket, Azure DevOps." },
{ "name": "codeant_pr_get", "description": "Fetch detailed information for a single PR/MR." },
{ "name": "codeant_pr_comments", "description": "List comments on a PR/MR with optional filters." },
{ "name": "codeant_comments_search", "description": "Search across CodeAnt review comments by free-text query." },
{ "name": "codeant_review_local", "description": "Run a CodeAnt AI review on local working-copy changes." },
{ "name": "codeant_login", "description": "Start browser sign-in to CodeAnt AI and return the sign-in link; saves the API token once sign-in completes." },
{ "name": "codeant_logout", "description": "Clear the saved API token and sign out of CodeAnt AI." },
{ "name": "codeant_scans_start", "description": "Trigger a new scan run (write — gated behind read_only=false)." },
{ "name": "codeant_pr_resolve", "description": "Resolve a PR conversation thread (write — gated behind read_only=false)." },
{ "name": "codeant_api_request", "description": "Call an authenticated POST, PUT, PATCH, or DELETE API (write — gated behind read_only=false)." }
],
"user_config": {
"api_token": {
"type": "string",
"title": "CodeAnt API token",
"description": "Optional. Leave blank and call the `codeant_login` tool to sign in through your browser.",
"required": false,
"sensitive": true,
"default": ""
},
"base_url": {
"type": "string",
"title": "API base URL",
"description": "Override only if you are on a self-hosted CodeAnt instance.",
"required": false,
"default": "https://api.codeant.ai"
},
"dashboard_url": {
"type": "string",
"title": "Dashboard URL",
"description": "Self-hosted only: the URL of your CodeAnt web app, used by codeant_login. Leave blank to detect it from the API base URL.",
"required": false,
"default": ""
},
"read_only": {
"type": "boolean",
"title": "Read-only mode",
"description": "When enabled, write tools (trigger scan, resolve PR thread, write API requests) are hidden. Recommended.",
"required": false,
"default": true
},
"telemetry_disabled": {
"type": "boolean",
"title": "Disable telemetry",
"description": "Stop sending usage events (PostHog) from this extension.",
"required": false,
"default": false
},
"github_token": {
"type": "string",
"title": "GitHub token",
"description": "Personal access token for GitHub. Also accepts the GH_TOKEN environment variable. Leave blank to fall back to the gh CLI.",
"required": false,
"sensitive": true,
"default": ""
},
"gitlab_token": {
"type": "string",
"title": "GitLab token",
"description": "Personal access token for GitLab. Leave blank to fall back to the glab CLI.",
"required": false,
"sensitive": true,
"default": ""
},
"bitbucket_token": {
"type": "string",
"title": "Bitbucket token",
"description": "App password or access token for Bitbucket.",
"required": false,
"sensitive": true,
"default": ""
},
"azure_devops_token": {
"type": "string",
"title": "Azure DevOps token",
"description": "Personal access token for Azure DevOps. Also accepts AZURE_DEVOPS_PAT.",
"required": false,
"sensitive": true,
"default": ""
},
"github_api_url": {
"type": "string",
"title": "GitHub API URL",
"description": "GitHub Enterprise Server only: the server root, e.g. https://github.example.com (/api/v3 is added automatically). Leave blank for GitHub.com.",
"required": false,
"default": ""
},
"gitlab_url": {
"type": "string",
"title": "GitLab URL",
"description": "Override for a self-hosted GitLab instance (e.g. https://gitlab.example.com). Leave blank for GitLab.com.",
"required": false,
"default": ""
},
"bitbucket_url": {
"type": "string",
"title": "Bitbucket URL",
"description": "Override for a self-hosted Bitbucket Server instance. Leave blank for Bitbucket Cloud.",
"required": false,
"default": ""
},
"azure_devops_org_url": {
"type": "string",
"title": "Azure DevOps organization URL",
"description": "Full URL to your Azure DevOps organization (e.g. https://dev.azure.com/myorg).",
"required": false,
"default": ""
}
}
}