mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2026-10-28 17:21:54 +01:00
- 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.
41 lines
1.0 KiB
JSON
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"
|
|
}
|
|
}
|