New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

Forgejo

457 tools. 206 can modify or destroy data without limits.

67 destructive tools with no built-in limits. Policy required.

Last updated:

206 can modify or destroy data
251 read-only
457 tools total

Community server · catalogue entry checked 17/10/2026

How to control Forgejo ↓

What Forgejo exposes to your agents

Read (251) Write / Execute (139) Destructive / Financial (67)
Critical Risk

The most dangerous Forgejo tools

206 of Forgejo's 457 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Forgejo

PolicyLayer is an MCP gateway — it sits between your AI agents and Forgejo, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "admin_delete_hook": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "accept_repo_transfer": {
    "limits": [
      {
        "counter": "accept_repo_transfer_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "admin_get_hook": {
    "limits": [
      {
        "counter": "admin_get_hook_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Forgejo — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON FORGEJO →

Instant setup, no code required.

All 457 Forgejo tools

DESTRUCTIVE 67 tools
Destructive admin_delete_hook Delete a global (system) webhook (requires admin privileges) Destructive admin_delete_quota_group Delete a quota group (requires admin privileges) Destructive admin_delete_quota_rule Delete a quota rule (requires admin privileges) Destructive admin_delete_runner Delete an Actions runner of the instance (requires admin privileges) Destructive admin_delete_unadopted_repo Delete unadopted repository files (requires admin privileges) Destructive admin_delete_user Delete a user (requires admin privileges) Destructive admin_delete_user_emails Delete email addresses from a user Destructive admin_delete_user_key Remove an SSH public key from a user Destructive admin_delete_user_token Delete an access token of a user (requires admin privileges) Destructive admin_remove_quota_group_rule Remove a rule from a quota group (requires admin privileges) Destructive admin_remove_quota_group_user Remove a user from a quota group (requires admin privileges) Destructive clear_issue_labels Remove all labels from an issue Destructive clear_repo_flags Remove all flags from a repository (instance admin only) Destructive delete_action_artifact Mark an Actions artifact for deletion Destructive delete_action_run Delete a completed Actions workflow run Destructive delete_branch Delete a branch from a repository Destructive delete_branch_protection Delete a branch protection rule Destructive delete_comment_attachment Delete an issue comment attachment Destructive delete_commit_note Remove the git note attached to a commit Destructive delete_deploy_key Delete a deploy key from a repository Destructive delete_file Delete a file from a repository Destructive delete_issue Delete an issue Destructive delete_issue_attachment Delete an issue attachment Destructive delete_issue_comment Delete a comment on an issue Destructive delete_issue_stopwatch Delete an issue Destructive delete_issue_tracked_time Delete a specific tracked time entry from an issue Destructive delete_label Delete a label from a repository Destructive delete_milestone Delete a milestone from a repository Destructive delete_my_action_secret Delete an Actions secret of the authenticated user Destructive delete_my_action_variable Delete an Actions variable of the authenticated user Destructive delete_my_emails Delete email addresses from the authenticated user Destructive delete_my_gpg_key Remove a GPG public key from the authenticated user Destructive delete_my_hook Delete one of the authenticated user Destructive delete_my_runner Delete an Actions runner of the authenticated user Destructive delete_my_ssh_key Delete an SSH public key from the authenticated user Destructive delete_org Delete an organization Destructive delete_org_action_secret Delete an Actions secret of an organization Destructive delete_org_action_variable Delete an Actions variable of an organization Destructive delete_org_hook Delete a webhook from an organization Destructive delete_org_label Delete an organization label Destructive delete_org_runner Delete an Actions runner of an organization Destructive delete_package Delete a specific version of a package Destructive delete_pr_review Delete a specific review from a pull request Destructive delete_pr_review_comment Delete a comment from a pull request review Destructive delete_push_mirror Remove a push mirror from a repository by its remote name Destructive delete_release Delete a release by ID Destructive delete_release_asset Delete a release attachment Destructive delete_release_by_tag Delete a release by tag name Destructive delete_repo Delete a repository by owner and name Destructive delete_repo_action_secret Delete an Actions secret of a repository Destructive delete_repo_action_variable Delete an Actions variable of a repository Destructive delete_repo_hook Delete a webhook from a repository Destructive delete_repo_runner Delete an Actions runner of a repository Destructive delete_repo_topic Remove a topic from a repository Destructive delete_tag Delete a repository Destructive delete_tag_protection Delete a tag protection rule Destructive delete_team Delete a team Destructive delete_wiki_page Delete a wiki page Destructive remove_collaborator Remove a collaborator from a repository Destructive remove_comment_reaction Remove a reaction from an issue comment Destructive remove_issue_dependency Remove a dependency from an issue Destructive remove_issue_reaction Remove a reaction from an issue Destructive remove_org_member Remove a member from an organization Destructive remove_repo_team Remove a team from a repository Destructive remove_team_member Remove a member from a team Destructive remove_team_repo Remove a repository from a team Destructive reset_issue_tracked_times Reset all tracked time of an issue
WRITE 130 tools
Write accept_repo_transfer Accept a pending repository transfer Write add_collaborator Add a collaborator to a repository Write add_comment_reaction Add a reaction to an issue comment Write add_deploy_key Add a deploy key to a repository Write add_issue_block Mark another issue as blocked by this issue Write add_issue_dependency Make an issue depend on another issue Write add_issue_labels Add labels to an issue Write add_issue_reaction Add a reaction to an issue Write add_issue_tracked_time Add tracked time to an issue Write add_my_emails Add email addresses to the authenticated user Write add_my_gpg_key Add a GPG public key to the authenticated user Write add_push_mirror Set up a new push mirror in a repository Write add_repo_flag Add a flag to a repository (instance admin only) Write add_repo_team Assign a team to a repository Write add_repo_topic Add a topic to a repository Write add_team_member Add a member to a team Write add_team_repo Add a repository to a team Write admin_add_quota_group_rule Add a rule to a quota group (requires admin privileges) Write admin_add_quota_group_user Add a user to a quota group (requires admin privileges) Write admin_add_user_key Add an SSH public key to a user Write admin_adopt_repo Adopt unadopted files as a repository (requires admin privileges) Write admin_create_hook Create a global (system) webhook (requires admin privileges) Write admin_create_org Create an organization owned by a user (requires admin privileges) Write admin_create_quota_group Create a new quota group (requires admin privileges) Write admin_create_quota_rule Create a new quota rule (requires admin privileges) Write admin_create_repo Create a repository on behalf of a user (requires admin privileges) Write admin_create_user Create a new user (requires admin privileges) Write admin_create_user_token Create an access token for a user; the response contains the token secret (requires admin privileges) Write admin_edit_hook Update a global (system) webhook (requires admin privileges) Write admin_edit_quota_rule Change an existing quota rule (requires admin privileges) Write admin_edit_user Edit an existing user (requires admin privileges) Write admin_rename_user Rename a user (requires admin privileges) Write admin_set_user_quota_groups Set a user Write apply_diff_patch Apply a diff patch to a repository as a new commit Write cancel_pr_auto_merge Cancel the scheduled auto merge of a pull request Write cancel_pr_review_request Cancel review requests for a pull request Write change_files Create, update, and delete multiple files in a repository in a single commit Write convert_mirror_repo Convert a mirror repository to a normal repository Write create_branch Create a new branch in a repository Write create_branch_protection Create a branch protection rule for a repository Write create_commit_status Create a commit status (e.g. to report a CI result) Write create_file Create a new file in a repository Write create_issue Create a new issue in a repository Write create_issue_comment Add a comment to an issue Write create_label Create a label in a repository Write create_milestone Create a milestone in a repository Write create_my_action_variable Create an Actions variable for the authenticated user Write create_my_hook Create a webhook for the authenticated user Write create_my_ssh_key Add an SSH public key to the authenticated user Write create_org Create a new organization Write create_org_action_variable Create an Actions variable for an organization Write create_org_hook Create a webhook for an organization Write create_org_label Create a label for an organization Write create_org_repo Create a new repository in an organization Write create_pr_review Create a review on a pull request Write create_pr_review_comment Add a new inline comment to a pull request review Write create_pull_request Create a new pull request Write create_release Create a new release for a repository Write create_repo Create a new repository for the authenticated user Write create_repo_action_variable Create an Actions variable for a repository Write create_repo_hook Create a webhook in a repository Write create_tag Create a new git tag in a repository Write create_tag_protection Create a tag protection rule for a repository Write create_team Create a new team in an organization Write create_wiki_page Create a wiki page Write edit_branch_protection Edit a branch protection rule. Only fields that are set will be changed Write edit_comment_attachment Edit an issue comment attachment Write edit_issue Edit an existing issue Write edit_issue_attachment Edit an issue attachment Write edit_issue_comment Edit a comment on an issue Write edit_label Edit an existing label Write edit_milestone Edit an existing milestone Write edit_my_hook Update one of the authenticated user Write edit_org Edit an organization Write edit_org_hook Update a webhook of an organization Write edit_org_label Update an organization label Write edit_pull_request Update an existing pull request Write edit_release Update a release Write edit_release_asset Edit a release attachment Write edit_repo Edit a repository Write edit_repo_hook Edit a webhook in a repository Write edit_tag_protection Edit a tag protection rule. Only fields that are set will be changed Write edit_team Edit a team Write edit_wiki_page Edit a wiki page Write follow_user Follow a user Write fork_repo Fork a repository Write generate_repo_from_template Create a new repository from a template repository Write mark_notification_thread_read Mark a notification thread as read (or another status) by ID Write mark_notifications_read Mark all notifications as read for the authenticated user Write mark_repo_notifications_read Mark notification threads on a specific repository as read, pinned or unread Write merge_pull_request Merge a pull request Write migrate_repo Migrate (import) a remote git repository, optionally as a mirror Write move_issue_pin Move a pinned issue to a new position Write org_block_user Block a user from an organization Write pin_issue Pin an issue or pull request Write register_my_runner Register a new Actions runner for the authenticated user. The response contains the runner token, which is onl Write register_org_runner Register a new Actions runner for an organization. The response contains the runner token, which is only shown Write register_repo_runner Register a new Actions runner for a repository. The response contains the runner token, which is only shown on Write reject_repo_transfer Reject a pending repository transfer Write remove_issue_block Unblock another issue that is blocked by this issue Write remove_issue_label Remove a label from an issue Write remove_repo_flag Remove a flag from a repository (instance admin only) Write rename_branch Rename a branch Write rename_org Rename an organization Write replace_issue_labels Replace all of an issue Write replace_repo_flags Replace all flags of a repository (instance admin only) Write request_pr_review Request review from users on a pull request Write set_commit_note Set the git note attached to a commit Write set_issue_deadline Set or remove the deadline of an issue Write set_my_action_secret Create or update an Actions secret for the authenticated user Write set_org_action_secret Create or update an Actions secret for an organization Write set_repo_action_secret Create or update an Actions secret for a repository Write star_repo Star a repository for the authenticated user Write start_issue_stopwatch Start a stopwatch on an issue Write stop_issue_stopwatch Stop an issue Write submit_pr_review Submit a pending review on a pull request Write subscribe_issue Subscribe a user to an issue Write transfer_repo Transfer a repository to a new owner Write undismiss_pr_review Cancel the dismissal of a pull request review Write unfollow_user Unfollow a user Write unpin_issue Unpin an issue or pull request Write unstar_repo Unstar a repository for the authenticated user Write unsubscribe_issue Unsubscribe a user from an issue Write update_file Update an existing file in a repository Write update_my_action_variable Update the value (and optionally the name) of an Actions variable of the authenticated user Write update_my_settings Update the authenticated user Write update_org_action_variable Update the value (and optionally the name) of an Actions variable of an organization Write update_pr_branch Update a pull request branch with the latest changes from the base branch (merge or rebase) Write update_repo_action_variable Update the value (and optionally the name) of an Actions variable of a repository Write update_repo_topics Set the topics for a repository (replaces all existing topics)
READ 251 tools
Read admin_get_hook Get a global (system) webhook (requires admin privileges) Read admin_get_quota_group Get information about a quota group (requires admin privileges) Read admin_get_quota_rule Get information about a quota rule (requires admin privileges) Read admin_get_runner Get an Actions runner of the instance (requires admin privileges) Read admin_get_user_quota Get a user Read admin_list_cron_jobs List all cron jobs (requires admin privileges) Read admin_list_emails List all users Read admin_list_hooks List system webhooks (requires admin privileges) Read admin_list_orgs List all organizations on the instance (requires admin privileges) Read admin_list_quota_group_users List users in a quota group (requires admin privileges) Read admin_list_quota_groups List the available quota groups (requires admin privileges) Read admin_list_quota_rules List the available quota rules (requires admin privileges) Read admin_list_runners List the Actions runners of the instance (requires admin privileges) Read admin_list_unadopted_repos List unadopted repositories (requires admin privileges) Read admin_list_user_emails List all email addresses for a user (requires admin privileges) Read admin_list_user_tokens List a user Read admin_list_users List all users (requires admin privileges) Read admin_search_emails Search users Read block_user Block a user as the authenticated user Read check_collaborator Check if a user is a collaborator of a repository Read check_issue_subscription Check whether the authenticated user is subscribed to an issue Read check_my_following Check whether the authenticated user follows a user (succeeds if so, 404 error if not) Read check_my_quota Check if the authenticated user is over quota for a given subject Read check_new_notifications Check if the authenticated user has unread notifications (returns the unread count) Read check_new_pin_allowed Check whether new issue and pull request pins are allowed in a repository Read check_org_member Check if a user is a member of an organization (succeeds if they are, 404 error if not) Read check_org_public_member Check if a user is a public member of an organization (succeeds if they are, 404 error if not) Read check_org_quota Check if an organization is over quota for a given subject Read check_repo_flag Check if a repository has a given flag (instance admin only) Read check_repo_starred Check whether the authenticated user has starred a repository (succeeds if so, 404 error if not) Read check_repo_team Check if a team is assigned to a repository Read check_user_following Check if one user follows another user (succeeds if so, 404 error if not) Read compare_commits Compare two branches, tags, or commits Read conceal_org_membership Conceal a user Read dismiss_pr_review Dismiss a review of a pull request Read get_action_artifact Get the metadata of an Actions artifact Read get_action_job_logs Get the plaintext logs of an Actions job Read get_action_run Get a single Actions workflow run Read get_annotated_tag Get the tag object of an annotated tag Read get_api_settings Get the instance Read get_attachment_settings Get the instance Read get_authenticated_user Get the currently authenticated user Read get_branch Get details of a specific branch Read get_branch_protection Get a branch protection rule by name Read get_collaborator_permission Get the repository permissions of a user Read get_combined_commit_status Get the combined status of a commit by branch, tag, or commit SHA Read get_comment_attachment Get an issue comment attachment Read get_commit Get a single commit from a repository Read get_commit_diff Get the diff or patch of a commit Read get_commit_note Get the git note attached to a commit Read get_commit_pull_request Get the pull request associated with a commit Read get_deploy_key Get a repository deploy key by ID Read get_editorconfig Get the EditorConfig definitions that apply to a file in a repository Read get_file_contents Get the contents of a file in a repository Read get_git_blob Get a git blob (base64 encoded) of a repository Read get_git_blobs Get multiple git blobs of a repository Read get_git_ref Get git refs matching a full or partial ref name (e.g. heads/main, tags/v1.0) Read get_git_tree Get the git tree of a repository Read get_gitignore_template Get a specific gitignore template by name Read get_gpg_key_verification_token Get a token to sign in order to verify a GPG key Read get_issue Get a single issue by index Read get_issue_attachment Get an issue attachment Read get_issue_comment Get a single issue comment by ID Read get_issue_config Get the issue config of a repository Read get_issue_labels Get the labels of an issue Read get_label Get a single label by ID Read get_label_template Get a specific label template by name Read get_latest_release Get the most recent non-prerelease, non-draft release of a repository Read get_license_template Get a specific license template by name Read get_milestone Get a single milestone by ID Read get_my_action_variable Get an Actions variable of the authenticated user Read get_my_gpg_key Get one of the authenticated user Read get_my_hook Get one of the authenticated user Read get_my_quota Get quota information for the authenticated user Read get_my_runner Get an Actions runner of the authenticated user Read get_my_settings Get the authenticated user Read get_my_ssh_key Get one of the authenticated user Read get_nodeinfo Get the Forgejo instance NodeInfo Read get_notification_thread Get a notification thread by ID Read get_org Get details of an organization Read get_org_action_variable Get an Actions variable of an organization Read get_org_hook Get a webhook of an organization Read get_org_label Get a single organization label Read get_org_quota Get quota information for an organization Read get_org_runner Get an Actions runner of an organization Read get_package Get a specific version of a package Read get_pr_by_base_head Get a pull request by its base and head branches Read get_pr_diff Get the diff of a pull request Read get_pr_patch Get the patch (git format-patch) of a pull request Read get_pr_review Get a specific review of a pull request Read get_pr_review_comment Get a single comment of a pull request review Read get_pull_request Get details of a single pull request Read get_push_mirror Get a push mirror of a repository by its remote name Read get_raw_file Get the raw contents of a file in a repository Read get_release Get a release by ID Read get_release_asset Get a release attachment Read get_release_by_tag Get a release by tag name Read get_repo Get details of a repository by owner and name Read get_repo_action_variable Get an Actions variable of a repository Read get_repo_by_id Get a repository by its numeric ID Read get_repo_hook Get a repository webhook by ID Read get_repo_runner Get an Actions runner of a repository Read get_repo_signing_key Get the GPG public key used to sign commits made by the instance in a repository Read get_repo_subscription Check if the authenticated user is watching a repository Read get_repository_settings Get the instance Read get_runner_registration_token Get a runner registration token (requires admin privileges). Deprecated in Forgejo 16 in favour of admin_regis Read get_server_version Get the Forgejo server version Read get_signing_key_gpg Get the instance Read get_signing_key_ssh Get the instance Read get_sync_fork_info Get information about syncing a fork branch with its base repository (commits behind, whether a sync is possib Read get_tag Get a tag of a repository by tag name Read get_tag_protection Get a tag protection rule by ID Read get_team Get a team by its ID Read get_team_member Get a particular member of a team (404 error if the user is not a member) Read get_team_repo Get a particular repository of a team (404 error if the team has no access) Read get_ui_settings Get the instance Read get_user Get a user Read get_user_heatmap Get a user Read get_user_org_permissions Get a user Read get_wiki_page Get a wiki page (content is returned base64 encoded) Read is_pr_merged Check if a pull request has been merged Read link_package Link a package to a repository of the same owner Read list_action_artifacts List a repository Read list_action_run_artifacts List the artifacts of an Actions workflow run Read list_action_run_jobs List the jobs of an Actions workflow run Read list_action_runners_jobs List action runner jobs (requires admin privileges) Read list_action_runs List a repository Read list_action_tasks List a repository Read list_branch_protections List branch protection rules for a repository Read list_branches List branches of a repository Read list_collaborators List collaborators of a repository Read list_comment_attachments List an issue comment Read list_comment_reactions List reactions on an issue comment Read list_commit_statuses List the statuses of a commit by SHA Read list_commit_statuses_by_ref List the statuses of a commit by branch, tag, or commit SHA Read list_deploy_keys List a repository Read list_followers List a user Read list_following List who a user is following Read list_forks List forks of a repository Read list_git_refs List all git refs of a repository Read list_gitignore_templates List all available gitignore templates Read list_issue_attachments List an issue Read list_issue_blocks List the issues that are blocked by this issue Read list_issue_comments List comments on an issue Read list_issue_dependencies List the issues that block this issue (its dependencies) Read list_issue_reactions List reactions on an issue Read list_issue_subscriptions List the users subscribed to an issue Read list_issue_templates List the available issue templates of a repository Read list_issue_timeline List all comments and events on an issue Read list_issue_tracked_times List an issue Read list_issues List issues for a repository Read list_label_templates List all available label templates Read list_labels List labels for a repository Read list_license_templates List all available license templates Read list_milestones List milestones for a repository Read list_my_action_variables List the Actions variables of the authenticated user Read list_my_blocked_users List the users blocked by the authenticated user Read list_my_emails List all email addresses of the authenticated user Read list_my_followers List the authenticated user Read list_my_following List the users that the authenticated user is following Read list_my_gpg_keys List the authenticated user Read list_my_hooks List the authenticated user Read list_my_notifications List notifications for the authenticated user Read list_my_orgs List the authenticated user Read list_my_quota_artifacts List the artifacts affecting the authenticated user Read list_my_quota_attachments List the attachments affecting the authenticated user Read list_my_quota_packages List the packages affecting the authenticated user Read list_my_repos List the repositories that the authenticated user owns Read list_my_runner_jobs Search the Actions run jobs of the authenticated user that are waiting for a runner, optionally filtered by la Read list_my_runners List the Actions runners of the authenticated user Read list_my_ssh_keys List the authenticated user Read list_my_starred List repositories starred by the authenticated user Read list_my_stopwatches List the authenticated user Read list_my_subscriptions List the repositories watched by the authenticated user Read list_my_teams List all the teams the authenticated user belongs to Read list_my_tracked_times List the authenticated user Read list_org_action_secrets List the Actions secrets of an organization (names only, values are never returned) Read list_org_action_variables List the Actions variables of an organization Read list_org_activity_feeds List an organization Read list_org_blocked_users List the users blocked by an organization Read list_org_hooks List webhooks for an organization Read list_org_labels List labels for an organization Read list_org_members List members of an organization Read list_org_public_members List an organization Read list_org_quota_artifacts List the artifacts affecting an organization Read list_org_quota_attachments List the attachments affecting an organization Read list_org_quota_packages List the packages affecting an organization Read list_org_repos List repositories belonging to an organization Read list_org_runner_jobs Search the Actions run jobs of an organization that are waiting for a runner, optionally filtered by labels Read list_org_runners List the Actions runners of an organization Read list_org_teams List teams in an organization Read list_orgs List all organizations on the Forgejo instance Read list_package_files List all files of a specific version of a package Read list_packages List all packages of an owner (user or organization) Read list_pinned_issues List a repository Read list_pinned_pull_requests List a repository Read list_pr_commits List commits in a pull request Read list_pr_files List changed files in a pull request Read list_pr_review_comments List the comments of a pull request review Read list_pr_reviews List reviews on a pull request Read list_pull_requests List pull requests for a repository Read list_push_mirrors List the push mirrors of a repository Read list_release_assets List the attachments of a release Read list_releases List releases of a repository Read list_repo_action_secrets List the Actions secrets of a repository (names only, values are never returned) Read list_repo_action_variables List the Actions variables of a repository Read list_repo_activity_feeds List a repository Read list_repo_assignees List the users who can be assigned to issues in a repository Read list_repo_comments List all issue and pull request comments in a repository Read list_repo_commits List commits in a repository Read list_repo_contents List the metadata of all entries in the root directory of a repository Read list_repo_flags List a repository Read list_repo_hooks List the webhooks in a repository Read list_repo_languages Get the languages of a repository and the number of bytes of code in each Read list_repo_notifications List the authenticated user Read list_repo_reviewers List the users who can be requested to review pull requests in a repository Read list_repo_runner_jobs Search the Actions run jobs of a repository that are waiting for a runner, optionally filtered by labels Read list_repo_runners List the Actions runners of a repository Read list_repo_teams List the teams assigned to a repository Read list_repo_topics Get the list of topics for a repository Read list_repo_tracked_times List a repository Read list_repo_watchers List the users watching a repository Read list_stargazers List the users who starred a repository Read list_tag_protections List tag protection rules for a repository Read list_tags List tags of a repository Read list_team_activity_feeds List a team Read list_team_members List a team Read list_team_repos List a team Read list_user_activity_feeds List a user Read list_user_gpg_keys List a user Read list_user_orgs List organizations a user belongs to Read list_user_repos List repositories owned by a user Read list_user_ssh_keys List a user Read list_user_starred List repositories starred by a user Read list_user_subscriptions List the repositories watched by a user Read list_wiki_page_revisions List the revisions of a wiki page Read list_wiki_pages List all wiki pages of a repository Read org_unblock_user Unblock a user from an organization Read publicize_org_membership Make a user Read search_issues Search for issues and pull requests across all repositories the user has access to Read search_org_teams Search for teams within an organization Read search_repos Search for repositories on the Forgejo instance Read search_topics Search for topics by keyword Read search_users Search for users on the Forgejo instance Read sync_fork Sync a fork branch with the base repository Read unblock_user Unblock a user as the authenticated user Read unlink_package Unlink a package from its repository Read unwatch_repo Stop watching a repository as the authenticated user Read validate_issue_config Get the validation information for the issue config of a repository Read verify_my_gpg_key Verify one of the authenticated user Read watch_repo Watch a repository as the authenticated user

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Forgejo

Can an AI agent delete data through the Forgejo MCP server? +

Yes. The Forgejo server exposes 67 destructive tools including admin_delete_hook, admin_delete_quota_group, admin_delete_quota_rule. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Forgejo? +

The Forgejo server has 130 write tools including accept_repo_transfer, add_collaborator, add_comment_reaction. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Forgejo.

How many tools does the Forgejo MCP server expose? +

457 tools across 5 categories: Destructive, Execute, Financial, Read, Write. 251 are read-only. 206 can modify, create, or delete data.

How do I enforce a policy on Forgejo? +

Register the Forgejo MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Forgejo tool call.

Deterministic rules across all 457 Forgejo tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

457 Forgejo tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Forgejo's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.