# github_create_or_update_file

A write tool on the Integrations MCP MCP server.

Agent View of the PolicyLayer registry record for `github_create_or_update_file`. HTML page: https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/github-create-or-update-file

## Facts

- Tool: `github_create_or_update_file`
- Server: Integrations MCP (`shriram-vasudevan/integrations-mcp`) — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp.md
- Homepage: https://github.com/Shriram-Vasudevan/integrations-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": "github_create_or_update_file",
    "arguments": {}
  }
}
```

## Why github_create_or_update_file is rated Medium

This tool modifies repository contents by creating new files or updating existing ones. While reversible (can be undone via git operations), it poses significant risk if an AI agent pushes malicious code, alters critical files, or modifies documentation without authorization. The high severity reflects potential for code injection, intellectual property theft, or supply chain compromise.

From the tool's own definition: "Tool name 'github_create_or_update_file' explicitly indicates file creation and modification capabilities on GitHub repositories. The verb 'create_or_update' confirms reversible write operations."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Integrations MCP (419)

- `airtable_delete_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-delete-record.md
- `calendly_cancel_event` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/calendly-cancel-event.md
- `calendly_remove_invitee` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/calendly-remove-invitee.md
- `cloudflare_delete_dns_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/cloudflare-delete-dns-record.md
- `cloudflare_purge_cache` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/cloudflare-purge-cache.md
- `gcal_delete_event` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/gcal-delete-event.md
- `okta_deactivate_user` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/okta-deactivate-user.md
- `s3_delete_object` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/s3-delete-object.md
- `salesforce_delete_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/salesforce-delete-record.md
- `supabase_delete_user` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/supabase-delete-user.md
- `amplitude_run_segmentation` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/amplitude-run-segmentation.md
- `parse_natural_timezone` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/parse-natural-timezone.md
- `postmark_send_batch` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/postmark-send-batch.md
- `query_database` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/query-database.md
- `resend_verify_domain` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/resend-verify-domain.md
- `salesforce_query` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/salesforce-query.md
- `sendgrid_send_email` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/sendgrid-send-email.md
- `snowflake_execute_query` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/snowflake-execute-query.md
- `supabase_execute_sql` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/supabase-execute-sql.md
- `twilio_make_call` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/twilio-make-call.md
- `twilio_send_sms` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/twilio-send-sms.md
- `vercel_create_deployment` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/vercel-create-deployment.md
- `stripe_create_payment_intent` — Financial — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/stripe-create-payment-intent.md
- `author` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/author.md
- `generate_password` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/generate-password.md
- `generate_users` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/generate-users.md
- `airtable_get_record` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-get-record.md
- `airtable_list_bases` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-bases.md
- `airtable_list_records` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-records.md
- `airtable_list_tables` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-tables.md
- …and 389 more: https://policylayer.com/tools/shriram-vasudevan-integrations-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=shriram-vasudevan-integrations-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/shriram-vasudevan-integrations-mcp
