# mark_notifications_read

Mark all notifications as read for the authenticated user

Agent View of the PolicyLayer registry record for `mark_notifications_read`. HTML page: https://policylayer.com/tools/sqcows-forgejo-mcp/mark-notifications-read

## Facts

- Tool: `mark_notifications_read`
- Server: Forgejo (`sqcows/forgejo-mcp`) — https://policylayer.com/tools/sqcows-forgejo-mcp.md
- Homepage: https://github.com/Sqcows/forgejo-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": "mark_notifications_read",
    "arguments": {}
  }
}
```

## Why mark_notifications_read is rated Medium

This tool modifies notification state (read status) for the authenticated user, which is a reversible write operation. It does not execute arbitrary code, delete data permanently, or move money. While it changes state in the system, the scope is limited to the user's own notification preferences and the change is easily reversible (notifications can be marked unread again).

From the tool's own definition: "Tool name 'mark_notifications_read' and description 'Mark all notifications as read for the authenticated user' indicate a state change operation that modifies notification records."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Forgejo (456)

- `admin_delete_hook` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-hook.md
- `admin_delete_quota_group` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-quota-group.md
- `admin_delete_quota_rule` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-quota-rule.md
- `admin_delete_runner` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-runner.md
- `admin_delete_unadopted_repo` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-unadopted-repo.md
- `admin_delete_user` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-user.md
- `admin_delete_user_emails` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-user-emails.md
- `admin_delete_user_key` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-user-key.md
- `admin_delete_user_token` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-delete-user-token.md
- `admin_remove_quota_group_rule` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-remove-quota-group-rule.md
- `admin_remove_quota_group_user` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/admin-remove-quota-group-user.md
- `clear_issue_labels` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/clear-issue-labels.md
- `clear_repo_flags` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/clear-repo-flags.md
- `delete_action_artifact` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-action-artifact.md
- `delete_action_run` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-action-run.md
- `delete_branch` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-branch.md
- `delete_branch_protection` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-branch-protection.md
- `delete_comment_attachment` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-comment-attachment.md
- `delete_commit_note` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-commit-note.md
- `delete_deploy_key` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-deploy-key.md
- `delete_file` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-file.md
- `delete_issue` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-issue.md
- `delete_issue_attachment` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-issue-attachment.md
- `delete_issue_comment` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-issue-comment.md
- `delete_issue_stopwatch` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-issue-stopwatch.md
- `delete_issue_tracked_time` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-issue-tracked-time.md
- `delete_label` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-label.md
- `delete_milestone` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-milestone.md
- `delete_my_action_secret` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-my-action-secret.md
- `delete_my_action_variable` — Destructive — https://policylayer.com/tools/sqcows-forgejo-mcp/delete-my-action-variable.md
- …and 426 more: https://policylayer.com/tools/sqcows-forgejo-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=sqcows-forgejo-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/sqcows-forgejo-mcp
