apiVersion: toolhive.stacklok.dev/v1beta1 kind: MCPServer metadata: name: gitea-mcp namespace: toolhive-system annotations: toolhive.stacklok.dev/registry-export: "true" toolhive.stacklok.dev/registry-title: Gitea MCP toolhive.stacklok.dev/registry-description: Gitea MCP server for repository, issue, and pull request workflows in the homelab Gitea instance. toolhive.stacklok.dev/registry-url: http://mcp-gitea-mcp-proxy.toolhive-system.svc.cluster.local:8080/mcp glance/parent: gitea spec: # Upstream Gitea MCP server. Speaks stdio; ToolHive's proxy runner wraps it and # exposes streamable-http at http://mcp-gitea-mcp-proxy.mcp-services:8080/mcp. image: docker.gitea.com/gitea-mcp-server:nightly transport: stdio proxyMode: streamable-http proxyPort: 8080 groupRef: name: homelab-core # No args: the image's default command already runs the binary in stdio mode. # (Passing "-t stdio" replaced the command and execed "-t" directly.) env: - name: GITEA_HOST value: http://gitea-ha-http.apps:3000 # NOTE: ToolHive 0.28.3 does not translate spec.secrets into the workload, so # inject the token natively on the `mcp` container via podTemplateSpec. resourceOverrides: proxyDeployment: annotations: glance/parent: gitea podTemplateSpec: spec: groupRef: name: homelab-core containers: - name: mcp env: - name: GITEA_ACCESS_TOKEN valueFrom: secretKeyRef: name: gitea-mcp-secret key: token permissionProfile: type: builtin name: network resources: requests: cpu: 50m memory: 64Mi limits: cpu: 300m memory: 256Mi