Initial commit: Gitea MCP Server
All checks were successful
Build and Push Gitea MCP Docker Image / build (push) Successful in 25s

- 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 Gitea Actions CI
- docker-compose.yml for production, docker-compose.dev.yml for local builds
This commit is contained in:
Ben
2025-12-22 04:50:49 +00:00
parent 1375175290
commit c0402b4491
3 changed files with 51 additions and 3 deletions

View File

@@ -0,0 +1,30 @@
name: Build and Push Gitea MCP Docker Image
on:
push:
branches:
- main
- master
jobs:
build:
runs-on: docker
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Login to Gitea Container Registry
uses: docker/login-action@v2
with:
registry: gitea.ext.ben.io
username: ${{ gitea.actor }}
password: ${{ secrets.CR_PAT }}
- name: Build and Push
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: gitea.ext.ben.io/${{ gitea.repository }}:latest

17
docker-compose.dev.yml Normal file
View File

@@ -0,0 +1,17 @@
# Development compose file - builds from local source
# Usage: docker compose -f docker-compose.dev.yml up --build
services:
gitea-mcp:
build: .
container_name: gitea-mcp-dev
restart: "no"
ports:
- "8000:8000"
env_file:
- .env
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 5s

View File

@@ -1,12 +1,13 @@
services: services:
gitea-mcp: gitea-mcp:
build: . image: gitea.ext.ben.io/b3nw/gitea-mcp-custom:latest
container_name: gitea-mcp container_name: gitea-mcp
restart: unless-stopped restart: unless-stopped
ports: ports:
- "8000:8000" - "8000:8000"
env_file: environment:
- .env - GITEA_URL=${GITEA_URL}
- GITEA_TOKEN=${GITEA_TOKEN}
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"] test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s interval: 30s