# upload_evidence

A write tool on the ComplianceCow MCP Server MCP server.

Agent View of the PolicyLayer registry record for `upload_evidence`. HTML page: https://policylayer.com/tools/compliancecow-cow-mcp/upload-evidence

## Facts

- Tool: `upload_evidence`
- Server: ComplianceCow MCP Server (`compliancecow/cow-mcp`) — https://policylayer.com/tools/compliancecow-cow-mcp.md
- Homepage: https://github.com/ComplianceCow/cow-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "upload_evidence",
    "arguments": {}
  }
}
```

## Why upload_evidence is rated Medium

Despite empty description, the name strongly suggests writing/uploading evidence records to a compliance platform. This is reversible (Write, not Destructive) but could impact audit trails or compliance status if misused. Severity is medium because misuse could corrupt compliance records or create false evidence, but the impact is scoped to the compliance system rather than financial or critical infrastructure.

From the tool's own definition: "Tool name 'upload_evidence' indicates creation/addition of evidence artifacts to the compliance system. Server description mentions 'auditable evidence' and 'automated remediation actions'."

## Use case

AI agents use upload_evidence to create or update resources in ComplianceCow MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your ComplianceCow MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches ComplianceCow MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "upload_evidence": {
      "limits": [
        {
          "counter": "upload_evidence_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on ComplianceCow MCP Server (208)

- `delete_asset_schedule` — Destructive — https://policylayer.com/tools/compliancecow-cow-mcp/delete-asset-schedule.md
- `create_sql_query_evidence` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/create-sql-query-evidence.md
- `execute_action` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/execute-action.md
- `execute_cypher_query` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/execute-cypher-query.md
- `execute_rule` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/execute-rule.md
- `execute_shell_command` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/execute-shell-command.md
- `execute_task` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/execute-task.md
- `prepare_applications_for_execution` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/prepare-applications-for-execution.md
- `run_metrics_assessment` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/run-metrics-assessment.md
- `schedule_asset_execution` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/schedule-asset-execution.md
- `trigger_workflow` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/trigger-workflow.md
- `validate_sql_query` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/validate-sql-query.md
- `validate_sql_query_and_cel` — Execute — https://policylayer.com/tools/compliancecow-cow-mcp/validate-sql-query-and-cel.md
- `collect_parameter_input` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/collect-parameter-input.md
- `confirm_parameter_input` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/confirm-parameter-input.md
- `confirm_template_input` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/confirm-template-input.md
- `create_metric_sql_query_evidence` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/create-metric-sql-query-evidence.md
- `create_workflow_custom_event` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/create-workflow-custom-event.md
- `generate_design_notes_preview` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/generate-design-notes-preview.md
- `generate_rule_readme_preview` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/generate-rule-readme-preview.md
- `modify_workflow` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/modify-workflow.md
- `publish_application` — Other — https://policylayer.com/tools/compliancecow-cow-mcp/publish-application.md
- `audit_fetch_assessment_run_details` — Read — https://policylayer.com/tools/compliancecow-cow-mcp/audit-fetch-assessment-run-details.md
- `audit_fetch_assessment_run_leaf_control_evidence` — Read — https://policylayer.com/tools/compliancecow-cow-mcp/audit-fetch-assessment-run-leaf-control-evidence.md
- `audit_fetch_assessment_runs` — Read — https://policylayer.com/tools/compliancecow-cow-mcp/audit-fetch-assessment-runs.md
- `audit_fetch_evidence_records` — Read — https://policylayer.com/tools/compliancecow-cow-mcp/audit-fetch-evidence-records.md
- `audit_get_uses_by_ids` — Read — https://policylayer.com/tools/compliancecow-cow-mcp/audit-get-uses-by-ids.md
- `audit_list_all_assessment_categories` — Read — https://policylayer.com/tools/compliancecow-cow-mcp/audit-list-all-assessment-categories.md
- `audit_list_all_assessments` — Read — https://policylayer.com/tools/compliancecow-cow-mcp/audit-list-all-assessments.md
- `audit_list_assessment_control_configs` — Read — https://policylayer.com/tools/compliancecow-cow-mcp/audit-list-assessment-control-configs.md
- …and 178 more: https://policylayer.com/tools/compliancecow-cow-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=compliancecow-cow-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/compliancecow-cow-mcp
