MCP Servers / version-control / Forgejo MCP Server

Forgejo MCP Server

JSON →
stdionone70version-control

Manage Forgejo repositories and execute commands through an MCP-compatible chat interface.

Install
How to run this server

No install command recorded.

server path: forgejo-mcp-server
Tools
What this server exposes
get_my_user_info
Get information about the authenticated user
check_notifications
Check and list user notifications
get_notification_thread
Get detailed info on a single notification thread
mark_notification_read
Mark a single notification thread as read
mark_all_notifications_read
Acknowledge all notifications
list_repo_notifications
Filter notifications scoped to a single repository
mark_repo_notifications_read
Mark all notifications in a specific repo as read
search_users
Search for users
list_my_repos
List all repositories you own
create_repo
Create a new repository
fork_repo
Fork a repository
search_repos
Search for repositories
list_branches
List all branches in a repository
create_branch
Create a new branch
delete_branch
Delete a branch
get_file_content
Get the content of a file. Optional `start_line`/`end_line` request a 1-indexed inclusive line range (clamps to file extent; ignored when `with_metadata=true`).
create_file
Create a new file
update_file
Update an existing file
delete_file
Delete a file
list_repo_commits
List commits in a repository
list_repo_issues
List issues in a repository
get_issue_by_index
Get a specific issue
create_issue
Create a new issue
add_issue_labels
Add labels to an issue (requires numeric label IDs)
remove_issue_labels
Remove labels from an issue (requires numeric label IDs)
update_issue
Update an existing issue (requires numeric milestone ID)
issue_state_change
Open or close an issue
list_repo_milestones
List milestones with their IDs (use with `update_issue`)
list_repo_labels
List labels with their IDs. Merges org-level labels for org-owned repos (set `include_org_labels=false` to opt out). Each entry carries a `scope` field (`"repo"` or `"org"`).
list_org_labels
List organization-level labels with their IDs (use with `add_issue_labels`, `remove_issue_labels`).
list_issue_comments
List comments on an issue or PR
get_issue_comment
Get a specific comment
create_issue_comment
Add a comment to an issue or PR
edit_issue_comment
Edit a comment
delete_issue_comment
Delete a comment
list_repo_pull_requests
List pull requests in a repository
get_pull_request_by_index
Get a specific pull request
create_pull_request
Create a new pull request
update_pull_request
Update an existing pull request
list_pull_reviews
List reviews for a pull request
get_pull_review
Get a specific pull request review
list_pull_review_comments
List comments on a pull request review
list_pull_request_files
List changed files in a pull request (paginated). Use the returned filenames as the `file_path` argument to `get_pull_request_diff`.
get_pull_request_diff
Get the unified diff of a pull request. Optional `file_path` returns only that file's hunks (matches on either pre- or post-rename path).
merge_pull_request
Merge a pull request (style: merge/rebase/rebase-merge/squash; optional title/message/delete-branch/force-merge/wait-for-checks).
create_pull_review
Create a review on a pull request (state: APPROVED/REQUEST_CHANGES/COMMENT) with optional inline comments.
dispatch_workflow
Trigger a workflow run via `workflow_dispatch` event
list_workflow_runs
List workflow runs with optional filtering by status, event, or SHA
get_workflow_run
Get details of a specific workflow run by ID
search_org_teams
Search for teams in an organization
list_issue_tracked_times
List tracked time entries on an issue or PR
list_repo_tracked_times
List tracked time entries across a repository
list_my_tracked_times
List your own tracked time entries
add_issue_time
Log time against an issue or PR (accepts seconds or duration like `15m`)
reset_issue_time
Delete ALL tracked time entries on an issue or PR (destructive)
delete_issue_time_entry
Delete a single tracked time entry by ID
start_issue_stopwatch
Start a stopwatch on an issue or PR
stop_issue_stopwatch
Stop a running stopwatch and record the elapsed time
cancel_issue_stopwatch
Cancel a running stopwatch without recording
list_my_stopwatches
List currently running stopwatches
list_issue_attachments
List attachments on an issue or PR
get_issue_attachment
Get metadata for a single issue/PR attachment
download_issue_attachment
Download an issue/PR attachment (inline if < 1 MiB; metadata + URL otherwise)
create_issue_attachment
Upload a new attachment to an issue or PR (base64 content)
edit_issue_attachment
Rename an issue/PR attachment
delete_issue_attachment
Delete an issue/PR attachment
list_comment_attachments
List attachments on an issue/PR comment
get_comment_attachment
Get metadata for a single comment attachment
download_comment_attachment
Download a comment attachment (inline if < 1 MiB; metadata + URL otherwise)
create_comment_attachment
Upload a new attachment to an issue/PR comment (base64 content)
edit_comment_attachment
Rename a comment attachment
delete_comment_attachment
Delete a comment attachment
list_releases
List releases for a repository (page/limit + client-side `state` filter: all/draft/prerelease/published)
get_release_by_id
Get a release by numeric ID
get_release_by_tag
Get a release by tag name
get_latest_release
Get the latest non-draft, non-prerelease release
create_release
Create a new release (pass `target_commitish` to also create the tag)
edit_release
Update fields of an existing release (only supplied fields are sent)
delete_release
Delete a release by numeric ID — destructive
delete_release_by_tag
Delete a release by tag name — destructive, verify tag
list_release_attachments
List attachments on a release (response fetched in full, sliced client-side)
get_release_attachment
Get metadata for a single release attachment
download_release_attachment
Download a release attachment (inline if < 1 MiB; metadata + URL otherwise)
create_release_attachment
Upload a new attachment to a release (base64 content)
edit_release_attachment
Rename a release attachment
delete_release_attachment
Delete a release attachment — destructive
get_forgejo_mcp_server_version
Get the MCP server version
Configuration
Environment & auth
authnone
envFORGEJO_ACCESS_TOKEN
envFORGEJO_URL
envCOSIGN_PRIVATE_KEY
Resources
Forgejo MCP Server — MCP Server · libregistry