Initial commit: Gitea MCP Server
- 6 curated MCP tools (get_my_user_info, search_repos, list_my_repos, get_repo, list_repo_issues, list_repo_commits) - API pass-through tool (gitea_api_call) for complete API coverage - Curated API reference resource (gitea://api-reference) - Health check endpoint - Docker support with health checks
This commit is contained in:
92
README.md
Normal file
92
README.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# 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
|
||||
|
||||
```bash
|
||||
GITEA_URL=https://gitea.example.com
|
||||
GITEA_TOKEN=your_access_token
|
||||
```
|
||||
|
||||
### Local Development
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
uv pip install -e .
|
||||
|
||||
# Run server
|
||||
python server.py
|
||||
```
|
||||
|
||||
### Docker
|
||||
|
||||
```bash
|
||||
# Build and run
|
||||
docker compose up -d
|
||||
|
||||
# Check health
|
||||
curl http://localhost:8000/health
|
||||
```
|
||||
|
||||
## MCP Client Configuration
|
||||
|
||||
### Gemini CLI (`~/.gemini/settings.json`)
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"gitea": {
|
||||
"url": "http://localhost:8000/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## API Pass-through Examples
|
||||
|
||||
```python
|
||||
# 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
|
||||
Reference in New Issue
Block a user