@vbcdx/forgejo-plugin
Provides tools for interacting with a Forgejo instance, covering users, repositories, issues, comments, labels/milestones, pull requests, reviews, commit statuses, and Actions runs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@vbcdx/forgejo-pluginlist the open pull requests in the forgejo/forgejo repo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@vbcdx/forgejo-plugin
An MCP server for Forgejo. It gives AI agents a fixed set of 35 tools for repositories, issues, comments, labels, milestones, pull requests, reviews, commit statuses and Actions runs, with a write gate and verified results.
Runs over stdio (for a local agent harness) or Streamable HTTP (as a network service or container).
Write gate: reads only by default. Writes and destructive operations need explicit opt-in.
Verified results: writes are read back to confirm them, and a timed-out or ambiguous write is reported as such rather than as success or failure.
dispatch_workflowandcancel_workflow_runare acknowledged only (outcomeaccepted); the run itself is not awaited.
The full specification is in docs/contract.md.
Requirements
Node.js 22 or later
A Forgejo instance and an access token (or username and password) for it
Related MCP server: GitHub MCP Agent Server
Install
npm install -g @vbcdx/forgejo-pluginThis installs the vbcdx-forgejo command. To run it without installing:
npx -y --package=@vbcdx/forgejo-plugin vbcdx-forgejo --helpUsage
vbcdx-forgejo mcp Start the stdio MCP server (default)
vbcdx-forgejo serve Start the network MCP server (Streamable HTTP)
vbcdx-forgejo healthcheck Probe a running serve endpoint; exit 0 if healthy
vbcdx-forgejo manifest Print the JSON tool manifest
vbcdx-forgejo --help
vbcdx-forgejo --versionRegister with an MCP client
Claude Code:
claude mcp add forgejo --scope user \
-e VBCDX_FORGEJO_URL=https://git.example.com \
-e VBCDX_FORGEJO_WRITES=off \
-- vbcdx-forgejo mcpCodex:
codex mcp add forgejo \
--env VBCDX_FORGEJO_URL=https://git.example.com \
--env VBCDX_FORGEJO_WRITES=off \
-- vbcdx-forgejo mcpFor OpenCode, see examples/opencode.json. More detail is in examples/registration.md.
The package also ships a vbcdx.json declaration, so the
vbcdx installer can register it for you:
npm install -g @vbcdx/vbcdx
vbcdx install tool @vbcdx/forgejo-plugin --harness=claudeConfiguration
Settings are read from the environment once, at startup. See .env.example.
Variable | Default | Description |
| none | Forgejo instance URL, optionally ending in |
|
|
|
|
| Total deadline per tool call, 1000 to 120000 ms. |
Tools are always listed. A call made without valid configuration or credentials returns an error explaining what is missing.
Credentials (stdio mode)
Credentials are never passed on the command line or in the environment. Every tool takes a
credential_file argument: the absolute path to a file like this:
VBCDX_AGENTS_ROLE=code-agent
VBCDX_AGENTS_USER=example-bot
VBCDX_AGENTS_TOKEN=<forgejo access token>
# VBCDX_AGENTS_PASSWORD=<optional, used once if the token is rejected with 401>The file must be a regular file you own with mode 0600, in a directory with mode 0700:
install -d -m 0700 ~/.config/vbcdx/forgejo
install -m 0600 /dev/null ~/.config/vbcdx/forgejo/code-agent.envSee examples/credential-file.env for the full format.
Network mode
vbcdx-forgejo serve exposes the same tools over MCP Streamable HTTP:
VBCDX_FORGEJO_URL=https://git.example.com vbcdx-forgejo serve
# MCP endpoint: POST http://127.0.0.1:8080/mcp
# Liveness: GET http://127.0.0.1:8080/healthzIn this mode there is no credential file. Each request carries its own credential in the
Authorization header (Bearer <token>, token <token>, or Basic <base64(user:password)>),
which is used for that request only.
Variable | Default | Description |
|
| Listen port. |
|
| Bind address. |
| none | PEM certificate path. Set together with the key to serve HTTPS. |
| none | PEM private key path. |
| none | Comma-separated browser origins allowed to call the server. Requests with any other |
Without TLS settings the server speaks plain HTTP; run it behind a TLS-terminating reverse proxy or on a trusted network. Outbound connections to Forgejo always verify TLS.
Docker
docker build -t vbcdx-forgejo .
docker run --rm -p 8080:8080 \
-e VBCDX_FORGEJO_URL=https://git.example.com \
vbcdx-forgejoThe image runs serve as a non-root user and listens on all interfaces. No credentials are stored
in the image.
Tools
Run vbcdx-forgejo manifest for every tool's input and output schema.
Effect | Tools |
Read |
|
Write ( |
|
Destructive ( |
|
Destructive tools also require an exact confirmation string naming the target, and edits to comments or pull requests check the expected current state (a body hash or head SHA) first.
list_reviews caps each review body at 2000 characters by default (body_max_chars) and can
filter by commit_id and state; use get_review to read one review in full.
Results
Each call returns a text summary and a JSON envelope in structuredContent with outcome,
effect, request and verification. The outcome is one of ok, accepted, refused,
failed, unverified or indeterminate.
Development
npm ci
npm test
node bin/vbcdx-forgejo.js --helpLicense
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
A MCP server built for developers enabling Git based project management with project and personal…
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server providing comprehensive Gitea API coverage with 186 tools for managing repositories, issues, pull requests, and CI/CD workflows. It enables autonomous AI agents to perform complex development and administrative tasks directly through a Gitea instance.7MIT
- AlicenseBqualityCmaintenanceMCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.12MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for Forgejo that exposes tools for pull requests, repositories, and issues, leveraging the local fj CLI.-
- AlicenseNot gradedqualityBmaintenanceMCP server providing maximum practical control over GitHub via REST and GraphQL APIs, exposing 22 tools for repository management, file operations, issues, PRs, Actions, and more.MIT