gitea-mcp
Allows managing Gitea repositories, including issues, comments, labels, milestones, and repository operations via the Gitea API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gitea-mcplist open issues in myorg/myrepo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gitea-mcp
MCP server for managing Gitea repositories — issues, comments, labels, milestones, and more via the Gitea API.
Installation
make install
# or: npm ciBuild & Run
Purpose | Command | Equivalent |
Full check + build |
|
|
Type check only |
|
|
Build to |
|
|
Run directly (tsx) |
|
|
Run compiled output | — |
|
Clean |
|
|
Order: make all (or make lint then make build).
Environment Variables
Runtime (required by server)
Variable | Required | Description |
| Yes | Gitea instance URL (e.g. |
| Yes | Gitea API access token |
| No | Default repository owner (avoid passing |
| No | Default repository name (avoid passing |
Publishing (required by make publish)
Variable | Required | Description |
| GitHub | PAT with |
| Gitea | Token with |
| Gitea | Full registry URL (e.g. |
| No | Package scope namespace (auto-detected from git remote if not set) |
MCP Tools
All tools accept owner and repo parameters optionally when GITEA_DEFAULT_OWNER / GITEA_DEFAULT_REPO are set.
Issues
Tool | Description |
| List issues (filter by |
| Get a single issue by |
| Create issue with |
| Update issue fields or |
| Delete an issue by |
| Search across repos by |
Comments
Tool | Description |
| List comments on an issue |
| Add a comment to an issue |
| Update a comment by |
| Delete a comment by |
Labels
Tool | Description |
| List repo labels |
| Create a label ( |
| Update a label by |
| Delete a label by |
| Add labels to an issue by name |
| Remove a label from an issue by label |
| Replace all labels on an issue |
| Remove all labels from an issue |
Milestones
Tool | Description |
| List milestones (filter by |
| Get a milestone by |
| Create milestone with |
| Update milestone fields or |
| Delete a milestone by |
Repository
Tool | Description |
| List repos the authenticated user can access |
| Auto-detect |
Usage with MCP Clients
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"gitea-mcp": {
"command": "node",
"args": ["/path/to/gitea-mcp/dist/cli.js"],
"env": {
"GITEA_BASE_URL": "https://gitea.example.com",
"GITEA_TOKEN": "your-token-here",
"GITEA_DEFAULT_OWNER": "myorg",
"GITEA_DEFAULT_REPO": "myrepo"
}
}
}
}opencode
{
"mcpServers": {
"gitea-mcp": {
"command": "node",
"args": ["/path/to/gitea-mcp/dist/cli.js"],
"env": {
"GITEA_BASE_URL": "https://gitea.example.com",
"GITEA_TOKEN": "your-token-here"
}
}
}
}Testing
Command | Description |
| Unit tests |
| Watch mode |
| Integration tests (requires |
Packaging & Publishing
Run make package first to build and package, then make publish to publish.
Step 1: Build and package
make package
# Creates .dist/{platform}/sources/gitea-mcp-src-{version}.tgz
# Creates .dist/{platform}/releases/gitea-mcp-{version}.tgzPlatform is auto-detected from git remote URL. Override with OWNER env var.
Step 2: Publish
# GitHub Packages (default)
export GITHUB_PUBLISH_TOKEN=ghp_your_token
make publish
# Gitea Package Registry
export GITEA_PUBLISH_TOKEN=your_token
export GITEA_PUBLISH_URL=https://gitea.example.com/api/packages/OWNER/npm/
make publishInstall (consumers)
# GitHub Packages
npm set @OWNER:registry https://npm.pkg.github.com
npm install @OWNER/gitea-mcp
# Gitea Package Registry
npm set @OWNER:registry https://gitea.example.com/api/packages/OWNER/npm/
npm install @OWNER/gitea-mcpProject Structure
src/
cli.ts # Entry point, reads env vars
server.ts # McpServer setup, tool registration
tools.ts # Zod input schemas for all tools
gitea-client.ts # REST client wrapping Gitea /api/v1 endpointsLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/amonstack/gitea_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server