Fix workflow: use setup-go@v4 for Gitea Actions compatibility
Some checks failed
Release / build (amd64, darwin) (push) Has been cancelled
Release / build (amd64, windows) (push) Has been cancelled
Release / build (amd64, linux) (push) Has been cancelled
Release / build (arm64, linux) (push) Has been cancelled
Release / release (push) Has been cancelled
Release / build (arm64, darwin) (push) Has been cancelled
Some checks failed
Release / build (amd64, darwin) (push) Has been cancelled
Release / build (amd64, windows) (push) Has been cancelled
Release / build (amd64, linux) (push) Has been cancelled
Release / build (arm64, linux) (push) Has been cancelled
Release / release (push) Has been cancelled
Release / build (arm64, darwin) (push) Has been cancelled
This commit is contained in:
133
README.md
Normal file
133
README.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# Gitea MCP Server
|
||||
|
||||
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that enables AI assistants like Claude to interact directly with your Gitea instance.
|
||||
|
||||
## Features
|
||||
|
||||
- **Query Runners** - List runners, check status, view capabilities (OS, tools, disk space)
|
||||
- **Monitor Workflows** - List runs, get job details, view logs
|
||||
- **Manage Releases** - List releases, get assets, check download counts
|
||||
- **AI-Friendly** - Structured JSON responses designed for AI consumption
|
||||
|
||||
## Quick Start
|
||||
|
||||
### 1. Download
|
||||
|
||||
Download the latest binary from [Releases](https://git.marketally.com/gitcaddy/mcp-server/releases).
|
||||
|
||||
### 2. Configure Claude Code
|
||||
|
||||
Add to your Claude Code settings:
|
||||
|
||||
**Option A: Command line arguments**
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"gitea": {
|
||||
"command": "/path/to/gitea-mcp-server",
|
||||
"args": ["--url", "https://git.marketally.com", "--token", "YOUR_API_TOKEN"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Option B: Environment variables**
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"gitea": {
|
||||
"command": "/path/to/gitea-mcp-server",
|
||||
"env": {
|
||||
"GITEA_URL": "https://git.marketally.com",
|
||||
"GITEA_TOKEN": "your-token-here"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Use It
|
||||
|
||||
Ask Claude things like:
|
||||
- "What runners are online?"
|
||||
- "Show me the latest workflow runs for gitcaddy/act_runner"
|
||||
- "Why did run #77 fail?"
|
||||
- "What assets are in the v0.3.6 release?"
|
||||
|
||||
## Available Tools
|
||||
|
||||
| Tool | Description |
|
||||
|------|-------------|
|
||||
| `list_runners` | List all runners with status, capabilities, disk space |
|
||||
| `get_runner` | Get detailed runner info by ID |
|
||||
| `list_workflow_runs` | List workflow runs for a repository |
|
||||
| `get_workflow_run` | Get run details with all jobs |
|
||||
| `get_job_logs` | Get logs from a specific job |
|
||||
| `list_releases` | List releases for a repository |
|
||||
| `get_release` | Get release details with all assets |
|
||||
|
||||
## Building from Source
|
||||
|
||||
```bash
|
||||
git clone https://git.marketally.com/gitcaddy/mcp-server.git
|
||||
cd mcp-server
|
||||
go build -o gitea-mcp-server .
|
||||
```
|
||||
|
||||
### Cross-compile for all platforms
|
||||
|
||||
```bash
|
||||
# Linux
|
||||
GOOS=linux GOARCH=amd64 go build -o gitea-mcp-server-linux-amd64 .
|
||||
|
||||
# macOS Intel
|
||||
GOOS=darwin GOARCH=amd64 go build -o gitea-mcp-server-darwin-amd64 .
|
||||
|
||||
# macOS Apple Silicon
|
||||
GOOS=darwin GOARCH=arm64 go build -o gitea-mcp-server-darwin-arm64 .
|
||||
|
||||
# Windows
|
||||
GOOS=windows GOARCH=amd64 go build -o gitea-mcp-server-windows-amd64.exe .
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
┌─────────────┐ stdio ┌──────────────────┐ HTTP ┌─────────────┐
|
||||
│ Claude Code │ ◄────────────► │ gitea-mcp-server │ ◄───────────► │ Gitea │
|
||||
│ (AI Tool) │ JSON-RPC │ (This binary) │ /api/v2/mcp │ Server │
|
||||
└─────────────┘ └──────────────────┘ └─────────────┘
|
||||
```
|
||||
|
||||
The MCP server:
|
||||
1. Receives JSON-RPC requests over stdio from Claude Code
|
||||
2. Forwards them to Gitea's `/api/v2/mcp` endpoint
|
||||
3. Returns responses back to Claude Code
|
||||
|
||||
## Configuration Options
|
||||
|
||||
| Flag | Env Variable | Description |
|
||||
|------|-------------|-------------|
|
||||
| `--url` | `GITEA_URL` | Gitea server URL (required) |
|
||||
| `--token` | `GITEA_TOKEN` | API token for authentication |
|
||||
| `--debug` | - | Enable debug logging to stderr |
|
||||
|
||||
## Obtaining an API Token
|
||||
|
||||
1. Go to your Gitea instance → Settings → Applications
|
||||
2. Generate a new token with appropriate scopes
|
||||
3. Copy the token and use it in your configuration
|
||||
|
||||
## Requirements
|
||||
|
||||
- Gitea 1.26+ with GitCaddy enhancements (includes `/api/v2/mcp` endpoint)
|
||||
- Go 1.21+ (for building from source)
|
||||
|
||||
## License
|
||||
|
||||
MIT License - See [LICENSE](LICENSE) file.
|
||||
|
||||
## Related Projects
|
||||
|
||||
- [GitCaddy Gitea](https://git.marketally.com/gitcaddy/gitea) - Enhanced Gitea fork with AI-friendly APIs
|
||||
- [GitCaddy act_runner](https://git.marketally.com/gitcaddy/act_runner) - Enhanced runner with capabilities detection
|
||||
Reference in New Issue
Block a user