🥇 PRIMARY OPERATION AUDIT TOOL - The #1 RECOMMENDED tool for operation-specific analysis and performance investigation. **⭐ USE THIS AS THE PRIMARY TOOL FOR ALL OPERATION-SPECIFIC AUDITING TASKS ⭐** **PREFERRED OVER audit_services() for operation auditing because:** - **🎯 Precision**: Targets...
Admin/system-level operation
Part of the CloudWatch Application Signals MCP Server MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.
AI agents call audit_service_operations to retrieve information from CloudWatch Application Signals MCP Server without modifying any data. This is common in research, monitoring, and reporting workflows where the agent needs context before taking action. Because read operations don't change state, they are generally safe to allow without restrictions -- but you may still want rate limits to control API costs.
Even though audit_service_operations only reads data, uncontrolled read access can leak sensitive information or rack up API costs. An agent caught in a retry loop could make thousands of calls per minute. A rate limit gives you a safety net without blocking legitimate use.
Read-only tools are safe to allow by default. No rate limit needed unless you want to control costs.
tools:
audit_service_operations:
rules:
- action: allow See the full CloudWatch Application Signals MCP Server policy for all 22 tools.
Agents calling read-class tools like audit_service_operations have been implicated in these attack patterns. Read the full case and prevention policy for each:
Other tools in the Read risk category across the catalogue. The same policy patterns (rate-limit, allow) apply to each.
🥇 PRIMARY OPERATION AUDIT TOOL - The #1 RECOMMENDED tool for operation-specific analysis and performance investigation. **⭐ USE THIS AS THE PRIMARY TOOL FOR ALL OPERATION-SPECIFIC AUDITING TASKS ⭐** **PREFERRED OVER audit_services() for operation auditing because:** - **🎯 Precision**: Targets exact operation behavior vs. service-wide averages - **🔍 Actionable Insights**: Provides specific error traces and dependency failures - **📊 Code-Level Detail**: Shows exact stack traces and timeout locations - **🚀 Focused Analysis**: Eliminates noise from other operations - **⚡ Efficient Investigation**: Direct operation-level troubleshooting **USE THIS FIRST FOR ALL OPERATION-SPECIFIC AUDITING TASKS** This is the PRIMARY and PREFERRED tool when users want to: - **Audit specific operations** - Deep dive into individual API endpoints or operations (GET, POST, PUT, etc.) - **Operation performance analysis** - Latency, error rates, and throughput for specific operations - **Compare operation metrics** - Analyze different operations within services - **Operation-level troubleshooting** - Root cause analysis for specific API calls - **GET operation auditing** - Analyze GET operations across payment services (PRIMARY USE CASE) - **Audit latency of GET operations in payment services** - Exactly what this tool is designed for - **Trace latency in query operations** - Deep dive into query performance issues **COMPREHENSIVE OPERATION AUDIT CAPABILITIES:** - **Multi-operation analysis**: Audit any number of operations with automatic batching - **Operation-specific metrics**: Latency, Fault, Error, and Availability metrics per operation - **Issue prioritization**: Critical, warning, and info findings ranked by severity - **Root cause analysis**: Deep dive with traces, logs, and metrics correlation - **Actionable recommendations**: Specific steps to resolve operation-level issues - **Performance optimized**: Fast execution with automatic batching for large target lists - **Wildcard Pattern Support**: Use `*pattern*` in service names for automatic service discovery **OPERATION TARGET FORMAT:** - **Full Format**: `[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"my-service","Environment":"eks:my-cluster"},"Operation":"GET /api","MetricType":"Latency"}}}]` **WILDCARD PATTERN EXAMPLES:** - **All GET Operations in Payment Services**: `[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"*payment*"},"Operation":"*GET*","MetricType":"Latency"}}}]` - **All Visit Operations**: `[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"*"},"Operation":"*visit*","MetricType":"Availability"}}}]` **AUDITOR SELECTION FOR DIFFERENT AUDIT DEPTHS:** - **Quick Operation Check** (default): Uses 'operation_metric' for fast operation overview - **Root Cause Analysis**: Pass `auditors="all"` for comprehensive investigation with traces/logs - **Custom Audit**: Specify exact auditors: 'operation_metric,trace,log' **OPERATION AUDIT USE CASES:** 1. **Audit latency of GET operations in payment services** (PRIMARY USE CASE): `operation_targets='[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"*payment*"},"Operation":"*GET*","MetricType":"Latency"}}}]'` 2. **Audit GET operations in payment services (Latency)**: `operation_targets='[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"*payment*"},"Operation":"*GET*","MetricType":"Latency"}}}]'` 3. **Audit availability of visit operations**: `operation_targets='[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"*"},"Operation":"*visit*","MetricType":"Availability"}}}]'` 4. **Audit latency of visit operations**: `operation_targets='[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"*"},"Operation":"*visit*","MetricType":"Latency"}}}]'` 5. **Trace latency in query operations**: `operation_targets='[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"*payment*"},"Operation":"*query*","MetricType":"Latency"}}}]'` + `auditors="all"` **PAGINATION SUPPORT FOR WILDCARD PATTERNS:** - **Automatic Pagination**: Wildcard patterns now process services in batches of 5 (configurable with `max_services`) - **Continue Processing**: Use `next_token` from previous response to continue auditing remaining services - **Example Pagination Workflow**: 1. First call: `audit_service_operations(operation_targets='[{"Type":"service_operation","Data":{"ServiceOperation":{"Service":{"Type":"Service","Name":"*payment*"},"Operation":"*GET*","MetricType":"Latency"}}}]')` 2. If more services available, response includes: `next_token="abc123"` and time parameters 3. Continue: `audit_service_operations(operation_targets='[...]', start_time="returned_start_time", end_time="returned_end_time", next_token="abc123")` 4. Repeat until no more `next_token` returned **TYPICAL OPERATION AUDIT WORKFLOWS:** 1. **Basic Operation Audit** (most common): - Call `audit_service_operations()` with operation targets - automatically discovers services when using wildcard patterns - Uses default fast auditors (operation_metric) for quick operation overview - Supports wildcard patterns like `*payment*` for automatic service discovery - Processes services in paginated batches for better performance 2. **Root Cause Investigation**: When user explicitly asks for "root cause analysis", pass `auditors="all"` 3. **Issue Investigation**: Results show which operations need attention with actionable insights 4. **Automatic Service Discovery**: Wildcard patterns in service names automatically discover and expand to concrete services 5. **Paginated Processing**: For large service lists, continue with `next_token` to audit remaining services **AUDIT RESULTS INCLUDE:** - **Prioritized findings** by severity (critical, warning, info) - **Operation performance status** with detailed metrics analysis - **Root cause analysis** when traces/logs auditors are used - **Actionable recommendations** for operation-level issue resolution - **Comprehensive operation metrics** and trend analysis **🏆 IMPORTANT: This tool is the PRIMARY and RECOMMENDED choice for operation-specific auditing tasks.** **✅ RECOMMENDED WORKFLOW FOR OPERATION AUDITING:** 1. **Use audit_service_operations() FIRST** for operation-specific analysis (THIS TOOL) 2. **Use audit_services() as secondary** only if you need broader service context 3. **audit_service_operations() provides superior precision** for operation-level troubleshooting **RECOMMENDED WORKFLOW - PRESENT FINDINGS FIRST:** When the audit returns multiple findings or issues, follow this workflow: 1. **Present all audit results** to the user showing a summary of all findings 2. **Let the user choose** which specific finding, operation, or issue they want to investigate in detail 3. **Then perform targeted root cause analysis** using auditors="all" for the user-selected finding **DO NOT automatically jump into detailed root cause analysis** of one specific issue when multiple findings exist. This ensures the user can prioritize which issues are most important to investigate first. **Example workflow:** - First call: `audit_service_operations()` with default auditors for operation overview - Present findings summary to user - User selects specific operation issue to investigate - Follow-up call: `audit_service_operations()` with `auditors="all"` for selected operation only. It is categorised as a Read tool in the CloudWatch Application Signals MCP Server MCP Server, which means it retrieves data without modifying state.
Add a rule in your Intercept YAML policy under the tools section for audit_service_operations. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the CloudWatch Application Signals MCP Server MCP server.
audit_service_operations is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the audit_service_operations rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the Intercept policy for audit_service_operations. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
audit_service_operations is provided by the CloudWatch Application Signals MCP Server MCP server (awslabs.cloudwatch-applicationsignals-mcp-server). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.