github RayLabsHQ/gitea-mirror v3.46.0

3 hours ago

Features

  • MCP endpoint (#478). Gitea Mirror now serves MCP at /api/mcp, so Claude, Cursor and other MCP clients can check on your mirrors, find failures, add repositories and organizations, and start syncs and retries. It takes an API key in x-api-key. Eight tools: list_repositories, get_repository, list_failures, list_organizations, add_repository, add_organization, sync_repositories and retry_repositories. None of them delete, archive or change settings. Setup is on the MCP docs page. For Claude Code:
    claude mcp add --transport http gitea-mirror https://mirror.example.com/api/mcp --header "x-api-key: gm_..."
  • Read only API keys (#478). Create key in the API Keys card has an Access choice, and read only keys get a badge in the list. A read only key can call every GET endpoint; any POST, PUT, PATCH or DELETE, and every /api/auth/* call except get-session, gets 403 with the code API_KEY_READ_ONLY. The MCP tools go through the same check, so a read only key can look but not change anything. Existing keys keep full access.

Notes

  • The MCP tools call the app's own REST API at the address it listens on (HOST and PORT, under BASE_URL). If that address is not reachable from inside the app, set MCP_INTERNAL_URL, for example http://127.0.0.1:4321.
  • gitea-mirror-mcp, the stdio bridge for Claude Desktop and Cursor in mcp/, is not on npm yet, so the npx -y gitea-mirror-mcp command in the docs does not work for now. Until it is published, build it from a checkout (cd mcp && npm ci && npm run build, needs Bun) and use node /path/to/gitea-mirror/mcp/dist/index.js as the command.

No action needed. As always, back up your Gitea before upgrading.

Full Changelog: v3.45.0...v3.46.0

Don't miss a new gitea-mirror release

NewReleases is sending notifications on new releases.