77a945bd1ed50635d42baad22889e782c0532680
All checks were successful
Build and Push Gitea MCP Docker Image / build (push) Successful in 1m25s
For failed jobs, instead of just showing the tail (which is cleanup),
now scans for error patterns (❌, Error:, FAILED, TypeScript errors,
npm/pnpm errors, exit codes, etc.) and shows context around them.
Falls back to tail for successful jobs or if no errors detected.
Gitea MCP Server
A lightweight Model Context Protocol (MCP) server for Gitea, following the Hybrid MCP Light pattern.
Features
- 5 Curated Tools for common operations
- API Pass-through for complete API coverage
- Embedded API Reference for agent self-service
- Health Check Endpoint for Docker/Kubernetes
Tools
| Tool | Description |
|---|---|
get_my_user_info |
Get authenticated user info |
search_repos |
Search repositories by keyword |
list_my_repos |
List user's accessible repositories |
get_repo |
Get repository details |
list_repo_issues |
List issues for a repository |
list_repo_commits |
List commits for a repository |
gitea_api_call |
Raw API pass-through for any endpoint |
Resources
| Resource URI | Description |
|---|---|
gitea://api-reference |
Quick reference for common API endpoints |
Setup
Environment Variables
GITEA_URL=https://gitea.example.com
GITEA_TOKEN=your_access_token
Local Development
# Install dependencies
uv pip install -e .
# Run server
python server.py
Docker
# Build and run
docker compose up -d
# Check health
curl http://localhost:8000/health
MCP Client Configuration
Gemini CLI (~/.gemini/settings.json)
{
"mcpServers": {
"gitea": {
"url": "http://localhost:8000/mcp"
}
}
}
API Pass-through Examples
# Create a release
gitea_api_call(
endpoint="/repos/myorg/myrepo/releases",
method="POST",
body='{"tag_name": "v1.0.0", "name": "Release 1.0"}'
)
# Get file contents
gitea_api_call(
endpoint="/repos/myorg/myrepo/contents/README.md",
params='{"ref": "main"}'
)
License
MIT
Description
Languages
Python
97.1%
Dockerfile
2.9%