name: gitea version: "1.0.0" description: Gitea MCP server for repositories, issues, PRs, and code management dockerImage: "docker.gitea.com/gitea-mcp-server:latest" transport: STDIO repositoryUrl: https://gitea.com/gitea/gitea-mcp # No command: the image's entrypoint IS the MCP server. mcpd attaches to PID 1 # stdin/stdout (attach mode) rather than exec-ing a new process. The image is # distroless and has no node/shell, so exec-based STDIO would fail. healthCheck: # search_repos is a real Gitea API call, deliberately chosen over get_me: # get_me needs the `read:user` token scope, which a repo-scoped token won't # have, so it would fail for a bookkeeping reason rather than a real one. # (The "probe requires node in the container" caveat that used to sit here # described the old docker-exec probe; readiness goes through the MCP proxy # now, so a distroless image is fine.) Verified against the live server. tool: search_repos arguments: query: mcpctl intervalSeconds: 60 timeoutSeconds: 10 env: - name: GITEA_HOST description: Gitea instance URL (e.g. https://gitea.example.com) required: true - name: GITEA_ACCESS_TOKEN description: Gitea personal access token required: true - name: GITEA_INSECURE description: Allow self-signed certificates (true/false, default false) required: false