@aaa-sentinel/mcp-server 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/cli.js +26 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -109,8 +109,9 @@ status as plain JSON.
|
|
|
109
109
|
| `list_cost_anomalies` | `accountId?` | `reports:read` | Business |
|
|
110
110
|
| `get_security_overview` | — | `security:read` | Pro + security add-on |
|
|
111
111
|
| `get_security_score` | `accountId` | `security:read` | Pro + security add-on |
|
|
112
|
-
| `list_security_findings` | `accountId`, `source?` | `security:read` | Pro + security add-on |
|
|
112
|
+
| `list_security_findings` | `accountId`, `source?`, `category?` | `security:read` | Pro + security add-on |
|
|
113
113
|
| `get_security_critical_changes` | `accountId` | `security:read` | Pro + security add-on |
|
|
114
|
+
| `list_security_vulnerabilities` | `accountId` | `security:read` | Pro + security add-on |
|
|
114
115
|
| `get_security_conformance` | `accountId` or `clientId` | `security:read` | Pro + security add-on |
|
|
115
116
|
| `get_account` | `accountId` | `accounts:read` | Pro |
|
|
116
117
|
| `get_account_monthly_costs` | `accountId` | `accounts:read` | Pro |
|
package/dist/cli.js
CHANGED
|
@@ -5982,6 +5982,7 @@ function defineTool(def) {
|
|
|
5982
5982
|
}
|
|
5983
5983
|
var SAVINGS_TYPES = ["compute", "storage", "network", "database", "serverless", "governance"];
|
|
5984
5984
|
var SECURITY_SOURCES = ["own", "corroborated", "securityhub", "guardduty", "defender", "scc"];
|
|
5985
|
+
var SECURITY_CATEGORIES = ["security_network", "security_exposure", "security_encryption", "security_iam", "security_logging", "security_secrets"];
|
|
5985
5986
|
var AGENT_STATUSES = ["proposed", "pending_approval", "pending_second_approval", "approved", "executing", "completed", "failed", "cancelled", "expired"];
|
|
5986
5987
|
var BillingPeriod = string2().regex(/^\d{4}-(0[1-9]|1[0-2])$/, "Use YYYY-MM");
|
|
5987
5988
|
var ACCOUNT_ID = { type: "string", description: "Account identifier, as returned by list_accounts." };
|
|
@@ -6138,7 +6139,7 @@ var TOOLS = [
|
|
|
6138
6139
|
}),
|
|
6139
6140
|
defineTool({
|
|
6140
6141
|
name: "list_security_findings",
|
|
6141
|
-
description:
|
|
6142
|
+
description: 'List the security findings of the latest security scan of one account (up to 500, most severe first), with attack chains and a diff against the previous scan. Use category "security_iam" for the permissions view: effective administrators, unused identities, keys and service accounts, granted permissions that are not used, and assignments to deleted identities. Requires the security:read scope, the Pro plan and the security add-on on that account.',
|
|
6142
6143
|
inputSchema: {
|
|
6143
6144
|
type: "object",
|
|
6144
6145
|
properties: {
|
|
@@ -6147,16 +6148,25 @@ var TOOLS = [
|
|
|
6147
6148
|
type: "string",
|
|
6148
6149
|
enum: [...SECURITY_SOURCES],
|
|
6149
6150
|
description: "Filter by origin: own rules, corroborated, or a native tool (optional)."
|
|
6151
|
+
},
|
|
6152
|
+
category: {
|
|
6153
|
+
type: "string",
|
|
6154
|
+
enum: [...SECURITY_CATEGORIES],
|
|
6155
|
+
description: 'Filter by rule category (optional); "security_iam" is the permissions view.'
|
|
6150
6156
|
}
|
|
6151
6157
|
},
|
|
6152
6158
|
required: ["accountId"]
|
|
6153
6159
|
},
|
|
6154
|
-
argsSchema: object({
|
|
6155
|
-
|
|
6160
|
+
argsSchema: object({
|
|
6161
|
+
accountId: string2().min(1),
|
|
6162
|
+
source: _enum(SECURITY_SOURCES).optional(),
|
|
6163
|
+
category: _enum(SECURITY_CATEGORIES).optional()
|
|
6164
|
+
}),
|
|
6165
|
+
handler: async ({ accountId, source, category }, config2) => apiGet("/v1/security/findings", { accountId, source, category }, config2)
|
|
6156
6166
|
}),
|
|
6157
6167
|
defineTool({
|
|
6158
6168
|
name: "get_security_critical_changes",
|
|
6159
|
-
description: "List the critical configuration changes of the last 7 days in one
|
|
6169
|
+
description: "List the critical configuration changes of the last 7 days in one account (up to 100, newest first), read from CloudTrail in AWS, the activity log in Azure or the Admin Activity audit logs in GCP: public bucket, storage or snapshot, remote admin open to the internet, logging turned off, root use, admin granted. Each comes with who made it and, for rule-backed changes, whether a re-check confirmed the risk. Accounts without the security add-on return supported false and an empty list. Requires the security:read scope and the Pro plan or above.",
|
|
6160
6170
|
inputSchema: {
|
|
6161
6171
|
type: "object",
|
|
6162
6172
|
properties: { accountId: { type: "string", description: "Account identifier, as returned by list_accounts." } },
|
|
@@ -6165,6 +6175,17 @@ var TOOLS = [
|
|
|
6165
6175
|
argsSchema: object({ accountId: string2().min(1) }),
|
|
6166
6176
|
handler: async ({ accountId }, config2) => apiGet("/v1/security/critical-changes", { accountId }, config2)
|
|
6167
6177
|
}),
|
|
6178
|
+
defineTool({
|
|
6179
|
+
name: "list_security_vulnerabilities",
|
|
6180
|
+
description: "List the vulnerabilities (CVEs) that the cloud native scanner already found in one account (Amazon Inspector or ECR basic scanning, Microsoft Defender for Cloud, GCP Artifact Analysis and VM Manager), up to 200, highest priority first. Each one has the cloud severity and an effective severity that rises when the resource is exposed to the internet, has a known exploit or is unused according to a cost rule (low CPU is shown as context only). AAA Sentinel does not scan on its own: tools shows whether each scanner is active, absent or could not be read, truncated whether the cloud has more than the cap, and partial why the list may be incomplete (scanner missing in some regions or resource types listed in uncovered, failed reads, time budget, unreadable entries, expired rows). Amazon Inspector only sees image use on ECS and EKS: when the account has container Lambdas, App Runner services or images not in use there, uncovered.gaps says ecr_images_outside_ecs_eks and those images come last with imageInUse false. An account without the security add-on returns access teaser and an empty list, which does not mean it has no vulnerabilities. bySeverity counts the effective severity. Requires the security:read scope and the Pro plan or above.",
|
|
6181
|
+
inputSchema: {
|
|
6182
|
+
type: "object",
|
|
6183
|
+
properties: { accountId: { type: "string", description: "Account identifier, as returned by list_accounts." } },
|
|
6184
|
+
required: ["accountId"]
|
|
6185
|
+
},
|
|
6186
|
+
argsSchema: object({ accountId: string2().min(1) }),
|
|
6187
|
+
handler: async ({ accountId }, config2) => apiGet("/v1/security/vulnerabilities", { accountId }, config2)
|
|
6188
|
+
}),
|
|
6168
6189
|
defineTool({
|
|
6169
6190
|
name: "get_security_conformance",
|
|
6170
6191
|
description: "Get CIS benchmark coverage for one account, or for every account of a managed client (clientId, Business plan). Pass exactly one of accountId or clientId. Requires the security:read scope, plus reports:read when using clientId.",
|
|
@@ -6516,7 +6537,7 @@ function findTool(name) {
|
|
|
6516
6537
|
|
|
6517
6538
|
// src/protocol.ts
|
|
6518
6539
|
var SERVER_NAME = "aaa-sentinel-mcp";
|
|
6519
|
-
var SERVER_VERSION = "0.
|
|
6540
|
+
var SERVER_VERSION = "0.7.0";
|
|
6520
6541
|
var SUPPORTED_PROTOCOL_VERSIONS = ["2025-06-18", "2025-03-26", "2024-11-05"];
|
|
6521
6542
|
var PARSE_ERROR = -32700;
|
|
6522
6543
|
var INVALID_REQUEST = -32600;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aaa-sentinel/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Read-only MCP server for AAA Sentinel: query cloud costs, savings, security posture, AI spend, uptime monitoring, the remediation agent and managed clients from an AI assistant",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|