MCP server for Forgejo API operations over stdio
Find a file
Renovate Bot 9f4e51308c
All checks were successful
ci/woodpecker/push/lint-test-release Pipeline was successful
chore(package): update cr.simoncor.net/dockerhub/goreleaser/goreleaser docker tag to v2.17.0
2026-07-05 05:47:17 +00:00
.woodpecker chore(package): update cr.simoncor.net/dockerhub/goreleaser/goreleaser docker tag to v2.17.0 2026-07-05 05:47:17 +00:00
.gitignore feat: initial MCP server with create_repo, get_repo_settings, and set_repo_settings tools 2026-06-01 18:05:00 +02:00
.goreleaser.yaml feat: initial MCP server with create_repo, get_repo_settings, and set_repo_settings tools 2026-06-01 18:05:00 +02:00
.markdownlint-cli2.jsonc feat: initial MCP server with create_repo, get_repo_settings, and set_repo_settings tools 2026-06-01 18:05:00 +02:00
forgejo.go refactor: hardened HTTP client, safe type assertions, retry logic 2026-06-03 09:25:43 +02:00
go.mod chore(package): update module github.com/mark3labs/mcp-go to v0.55.1 2026-06-25 14:35:48 +00:00
go.sum chore(package): update module github.com/mark3labs/mcp-go to v0.55.1 2026-06-25 14:35:48 +00:00
main.go feat: initial MCP server with create_repo, get_repo_settings, and set_repo_settings tools 2026-06-01 18:05:00 +02:00
readme.md docs: add missing tools to readme 2026-06-02 09:27:53 +02:00
renovate.json feat: initial MCP server with create_repo, get_repo_settings, and set_repo_settings tools 2026-06-01 18:05:00 +02:00
tools.go feat: auto-set org avatar on repo creation 2026-06-17 14:50:37 +02:00

mcp-forgejo

MCP server for Forgejo API operations over stdio.

Environment Variables

Variable Description
FORGEJO_URL Forgejo instance URL (default: https://git.simoncor.net)
FORGEJO_TOKEN Forgejo API token (required)

Tools

Tool Description
create_repo Create a new repo with sensible defaults (squash-only, issues+PRs+releases)
get_repo_all List all accessible repositories, optionally filtered by owner
get_repo_settings Get full repo configuration
set_repo_settings Update repo settings via JSON
delete_repo Delete a repository (irreversible)
set_repo_avatar Set repo avatar from a local image file
delete_repo_avatar Delete a repo avatar

Build

go build -o mcp-forgejo .

Usage

Add to your MCP client config:

{
  "mcpServers": {
    "mcp-forgejo": {
      "command": "/path/to/mcp-forgejo",
      "env": {
        "FORGEJO_URL": "https://git.simoncor.net",
        "FORGEJO_TOKEN": "your-token-here"
      }
    }
  }
}

The server communicates over stdio using the MCP protocol.