Forgejo Mcp
raohwork/forgejo-mcp · 69 stars · Go · MPL-2.0
MCP server Manage Gitea/Forgejo repositories through AI assistants.
Install
The repo has no one-line install. Follow its README.
Files
Gitea/Forgejo MCP Server
Turn AI into your code repository management assistant
A Model Context Protocol (MCP) server that enables you to manage Gitea/Forgejo repositories through AI assistants like Claude, Gemini, and Copilot.
🚀 Why Use Forgejo MCP Server?
If you want to:
- Smart progress tracking: Let AI help you track project progress and analyze bottlenecks
- Automated issue categorization: Automatically tag issue labels and set milestones based on content
- Priority sorting: Let AI analyze issue content to help prioritize tasks
- Code review assistance: Get AI suggestions and insights in Pull Requests
- Project documentation organization: Automatically organize Wiki documents and release notes
Then this tool is made for you!
✨ Supported Features
Issue Management
- Create, edit, and view issues
- Add, remove, and replace labels
- Manage issue comments and attachments
- Set issue dependencies
Project Organization
- Manage labels (create, edit, delete)
- Manage milestones (create, edit, delete)
- Repository search and listing
Release Management
- Manage version releases
- Manage release attachments
Other Features
- View Pull Requests
- Manage Wiki pages
- View Forgejo/Gitea Actions tasks
📦 Installation
Method 1: Use docker (Recommended)
For STDIO mode, you can skip to Usage section.
For SSE/Streamable HTTP mode, you should run forgejo-mcp as server before configuring your MCP client.
docker run -p 8080:8080 -e FORGEJOMCP_TOKEN="my-forgejo-api-token" ronmi/forgejo-mcp http --address :8080 --server https://git.example.com
Method 2: Install from source
go install github.com/raohwork/forgejo-mcp@latest
Method 3: Download Pre-compiled Binaries
Download the appropriate version for your operating system from the Releases page.
🖥️ Usage
This tool provides two primary modes of operation: stdio for local integration and http for remote access.
Before actually setup you MCP client, you have to create an access token on the Forgejo/Gitea server.
- Log in to your Forgejo/Gitea instance
- Go to Settings → Applications → Access Tokens
- Click Generate New Token
- Select appropriate permission scopes (recommend at least
repositoryandissuewrite permissions) - Copy the generated token
💡 Tip: For security, consider setting environment variables instead of using tokens directly in config:
export FORGEJOMCP_SERVER="https://your-forgejo-instance.com" export FORGEJOMCP_TOKEN="your_access_token"
Stdio Mode (for Local Clients)
This is the recommended mode for integrating with local AI assistant clients like Claude Desktop or Gemini CLI. It uses standard input/output for direct communication.
Configure Your AI Client
Using docker:
{
"mcpServers": {
"forgejo": {
"command": "docker",
"args": [
"--rm",
"ronmi/forgejo-mcp",
"stdio",
"--server", "https://your-forgejo-instance.com",
"--token", "your_access_token"
]
}
}
}
Installed from source or pre-built binary:
{
"mcpServers": {
"forgejo": {
"command": "/path/to/forgejo-mcp",
"args": [
"stdio",
"--server", "https://your-forgejo-instance.com",
"--token", "your_access_token"
]
}
}
}
You might want to take a look at Security Recommendations section for best practice.
HTTP Server Mode (for Remote Access)
This mode starts a web server, allowing remote clients to connect via HTTP. It's ideal for web-based services or setting up a central gateway for multiple users.
Run the following command to start the server:
# with local binary /path/to/forgejo-mcp http --address :8080 --server https://your-forgejo-instance.com # with docker docker run -p 8080:8080 -d --rm ronmi/forgejo-mcp http --address :8080 --server https://your-forgejo-instance.com
The server supports two operational modes:
- Single-user mode: If you provide a
--token(or environment variableFORGEJOMCP_TOKEN) at startup, all operations will use that token.forgejo-mcp http --address :8080 --server https://git.example.com --token your_token
- Multi-user mode: If no token is provided, the server requires clients to send an
Authorization: Bearer <token>header with each request, allowing it to serve multiple users securely.
Client Configuration
For clients that support connecting to a remote MCP server via HTTP, you can add a configuration like this. This example shows how to connect to a server running in multi-user mode:
{
"mcpServers": {
"forgejo-remote": {
"type": "sse",
"url": "http://localhost:8080/sse",
"headers": {
"Authorization": "Bearer your_token"
}
}
}
}
or http type (for Streamable HTTP, use different path in URL)
{
"mcpServers": {
"forgejo-remote": {
"type": "http",
"url": "http://localhost:8080/",
"headers": {
"Authorization": "Bearer your_token"
}
}
}
}
If connecting to a server in single-user mode, you can omit the headers field.
🛡️ Security Recommendations
- Use environment variables: Set
FORGEJOMCP_SERVERandFORGEJOMCP_TOKEN, then remove--serverand--tokenfrom your configuration - Limit token permissions: Only grant necessary permission scopes
- Rotate tokens regularly: Update access tokens periodically
📋 Usage Examples
After configuration, you can use natural language in your AI assistant to manage your repositories:
"Show me critical bug reports of this repo on my gitea server"
"According to our discussion above, create a detailed issue about this bug, then leave a comment on the issue to describe how we will fix it."
"Give me a report about current milestone. Recent progression in particular."
"Analyze recent pull requests and tell me which ones need priority review"
🤝 Support & Contributing
- Bug Reports: GitHub Issues
- Code Contributions: Pull Requests are welcome!
📄 License
This project is licensed under the Mozilla Public License 2.0.
Start making AI your code repository management partner! 🚀
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 69
- License
- MPL-2.0
- Language
- Go
- Last push
- 2025-10-28
- Forks
- 18
- Topics
- claude-code, claude-desktop, forgejo, gemini-cli, gitea, mcp-server
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k