-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmanifest.json
More file actions
162 lines (162 loc) · 7.11 KB
/
Copy pathmanifest.json
File metadata and controls
162 lines (162 loc) · 7.11 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
{
"manifest_version": "0.3",
"name": "codeant",
"display_name": "CodeAnt AI",
"version": "0.5.1",
"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 \"how many critical SAST findings do I have across my org?\", \"show every exposed secret in payments-service\", or \"review my staged changes\" — Claude calls the CodeAnt API directly via this MCP server.\n\nIncludes 11 read-only tools (orgs, repos, scan history, scan metadata, findings, dismissed alerts, PRs, comments, comment search, local review) and 2 opt-in write tools (trigger a scan, resolve a PR conversation) gated behind a setting.\n\nRequires a CodeAnt account. Sign up at https://codeant.ai. To authenticate, call the `codeant_login` tool — it opens the CodeAnt sign-in page in your browser and saves the token automatically.\n\nCollects anonymous usage telemetry via PostHog by default; set CODEANT_TELEMETRY_DISABLED=1 to opt out.",
"author": {
"name": "CodeAnt AI",
"email": "support@codeant.ai",
"url": "https://codeant.ai"
},
"homepage": "https://codeant.ai",
"documentation": "https://docs.codeant.ai/cli/claude-code-plugin",
"support": "https://docs.codeant.ai/support",
"repository": {
"type": "git",
"url": "https://github.com/CodeAnt-AI/codeant-cli"
},
"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_READ_ONLY": "${user_config.read_only}",
"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_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": "Open app.codeant.ai in the browser and poll until the user completes sign-in; saves the resulting API token." },
{ "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)." }
],
"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"
},
"read_only": {
"type": "boolean",
"title": "Read-only mode",
"description": "When enabled, write tools (trigger scan, resolve PR thread) are hidden. Recommended.",
"required": false,
"default": true
},
"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": "Override for GitHub Enterprise Server (e.g. https://github.example.com/api/v3). 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": ""
}
}
}