Files
gitea-mirror/mcp/package.json
T
ARUNAVO RAYandGitHub 1b60a0334a feat: read only API keys and an MCP endpoint over the REST API (#478)
- Read only API keys: an Access choice when creating a key, stored in
  the key metadata; the middleware refuses writes and most auth calls
  for them with 403 API_KEY_READ_ONLY.
- POST /api/mcp: stateless MCP endpoint with 8 tools that call the REST
  API over loopback with the caller's key. Needs x-api-key, a cookie
  alone gets 401. MCP_INTERNAL_URL overrides the loopback address.
- mcp/: gitea-mirror-mcp, a zero dependency stdio bridge to /api/mcp for
  Claude Desktop and Cursor, with a CI workflow that publishes it on an
  mcp-v* tag.
- e2e spec for keys, the endpoint and the bridge; docs for the endpoint,
  the bridge and read only keys.
2026-10-26 16:07:18 +05:30

41 lines
1.0 KiB
JSON

{
"name": "gitea-mirror-mcp",
"version": "0.1.0",
"description": "Connect stdio MCP clients to Gitea Mirror: list, add, sync and retry mirrors from an AI assistant, using an API key",
"license": "AGPL-3.0",
"type": "module",
"bin": {
"gitea-mirror-mcp": "dist/index.js"
},
"files": [
"dist",
"README.md"
],
"engines": {
"node": ">=20"
},
"repository": {
"type": "git",
"url": "git+https://github.com/RayLabsHQ/gitea-mirror.git",
"directory": "mcp"
},
"homepage": "https://github.com/RayLabsHQ/gitea-mirror/tree/main/mcp#readme",
"keywords": [
"mcp",
"gitea",
"forgejo",
"mirror"
],
"scripts": {
"build": "bun build src/index.ts --target=node --format=esm --banner='#!/usr/bin/env node' --outfile=dist/index.js",
"typecheck": "tsc --noEmit -p tsconfig.json",
"test": "bun test",
"prepublishOnly": "npm run typecheck && npm test && npm run build"
},
"devDependencies": {
"@types/bun": "1.3.14",
"@types/node": "26.1.1",
"typescript": "7.0.2"
}
}