This Model Context Protocol (MCP) server provides tools and resources for interacting with the Forgejo (specifically Codeberg.org) REST API.
2025-07-17 18:06:37 +00:00
.devcontainer add devcontainer 2025-03-18 07:03:59 +00:00
.gitea/workflows Add arm64 releases 2025-03-23 18:17:12 -07:00
.social-media feat: add a project logo 2025-04-24 08:18:33 +02:00
cmd changed forgejo domain .com to .org 2025-04-02 02:35:59 -04:00
operation feat: add owner/organization support for repository creation 2025-06-25 20:47:22 +02:00
pkg changed forgejo domain .com to .org 2025-04-02 02:35:59 -04:00
.containerignore feat: add smithery.ai integration 2025-04-24 08:19:37 +02:00
.env.sample feat: add stdio and sse MCP server 2025-04-24 08:12:16 +02:00
.gitignore build: update renovate and semantic-release config 2025-04-24 08:50:58 +02:00
.releaserc build: update renovate and semantic-release config 2025-04-24 08:50:58 +02:00
.renovaterc build: update renovate and semantic-release config 2025-04-24 08:50:58 +02:00
.roomodes refactor: move TYPES to dedicated file to resolve circular dependency 2025-04-24 08:13:32 +02:00
.roorules refactor: move TYPES to dedicated file to resolve circular dependency 2025-04-24 08:13:32 +02:00
CHANGELOG.md chore(release): 2.1.0 [skip ci] 2025-07-01 07:47:17 +00:00
codemcp.toml first commit 2025-04-02 00:27:24 -04:00
config.json changed forgejo domain .com to .org 2025-04-02 02:35:59 -04:00
Containerfile chore(deps): update golang:1.24-alpine docker digest to daae04e 2025-07-17 18:06:37 +00:00
go.mod changed forgejo domain .com to .org 2025-04-02 02:35:59 -04:00
go.sum first commit 2025-04-02 00:27:24 -04:00
LICENSE feat: add stdio and sse MCP server 2025-04-24 08:12:16 +02:00
main.go changed forgejo domain .com to .org 2025-04-02 02:35:59 -04:00
Makefile first commit 2025-04-02 00:27:24 -04:00
mcp-settings-sample.json feat: add stdio and sse MCP server 2025-04-24 08:12:16 +02:00
README.md changed forgejo domain .com to .org 2025-04-02 02:35:59 -04:00
smithery.yaml feat: add smithery.ai integration 2025-04-24 08:19:37 +02:00

Forgejo MCP Server

Forgejo MCP Server is an integration plugin designed to connect Forgejo with Model Context Protocol (MCP) systems. This allows for seamless command execution and repository management through an MCP-compatible chat interface.

🚧Installation

📥Download the official binary release

You can download the official release from here.

🔧Build from Source

You can download the source code by cloning the repository using Git:

git clone https://forgejo.org/forgejo/forgejo-mcp.git

Before building, make sure you have the following installed:

  • make
  • Golang (Go 1.24 or later recommended)

Then run:

make build

📁Add to PATH

After building, copy the binary forgejo-mcp to a directory included in your system's PATH. For example:

cp forgejo-mcp /usr/local/bin/

🚀Usage

This example is for Cursor, you can also use plugins in VSCode. To configure the MCP server for Forgejo, add the following to your MCP configuration file:

  • stdio mode
{
  "mcpServers": {
    "forgejo": {
      "command": "forgejo-mcp",
      "args": [
        "-t", "stdio",
        "--host", "https://forgejo.org"
        // "--token", "<your personal access token>"
      ],
      "env": {
        // "GITEA_HOST": "https://forgejo.org",
        "GITEA_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}
  • sse mode
{
  "mcpServers": {
    "forgejo": {
      "url": "http://localhost:8080/sse"
    }
  }
}

Note

You can provide your Forgejo host and access token either as command-line arguments or environment variables. Command-line arguments have the highest priority

Once everything is set up, try typing the following in your MCP-compatible chatbox:

list all my repositories

Available Tools

The Forgejo MCP Server supports the following tools:

Tool Scope Description
get_my_user_info User Get the information of the authenticated user
create_repo Repository Create a new repository
fork_repo Repository Fork a repository
list_my_repos Repository List all repositories owned by the authenticated user
create_branch Branch Create a new branch
delete_branch Branch Delete a branch
list_branches Branch List all branches in a repository
list_repo_commits Commit List all commits in a repository
get_file_content File Get the content and metadata of a file
create_file File Create a new file
update_file File Update an existing file
delete_file File Delete a file
get_issue_by_index Issue Get an issue by its index
list_repo_issues Issue List all issues in a repository
create_issue Issue Create a new issue
create_issue_comment Issue Create a comment on an issue
get_pull_request_by_index Pull Request Get a pull request by its index
list_repo_pull_requests Pull Request List all pull requests in a repository
create_pull_request Pull Request Create a new pull request
search_users User Search for users
search_org_teams Organization Search for teams in an organization
search_repos Repository Search for repositories
get_forgejo_mcp_server_version Server Get the version of the Forgejo MCP Server

🐛Debugging

To enable debug mode, add the -d flag when running the Forgejo MCP Server with sse mode:

./forgejo-mcp -t sse [--port 8080] --token <your personal access token> -d

Enjoy exploring and managing your Forgejo repositories via chat!