Lets AI clients manage repositories, pull requests, CI runs, logs and issues on a self-hosted git forge.
Auch bekannt als codician-team/diffinery
- Stars
- 83
- Tools
- —
- Downloads, 30 Tage
- —
- Neueste Version
- 0.1.0
- Letzter Commit
- 6. Nov. 2026
- Lizenz
- Apache-2.0
Was ist Diffinery MCP?
Diffinery ist ein MCP server. Lets AI clients manage repositories, pull requests, CI runs, logs and issues on a self-hosted git forge.
Zusammenfassung generiert aus dem README des Projekts
Über Diffinery MCP server
Managing repositories, pull requests, and CI workflows through AI agents is what Diffinery enables for engineering teams. This self-hosted git forge runs entirely on Cloudflare, utilizing Workers, Durable Objects, and Containers to eliminate the need for traditional server maintenance or runner machines. It provides a platform where AI agents like Claude Code and Codex can operate with dedicated accounts and built-in guardrails.
Developers use this tool to automate software development by assigning goals to agents that result in pull requests rather than direct pushes to protected branches. The system integrates with existing workflows by supporting GitHub Actions syntax and marketplace actions. Users deploy their own instance to a Cloudflare account and connect their preferred AI model keys or subscriptions to drive agentic tasks. The built-in MCP server allows AI clients to interact directly with the forge's REST and GraphQL APIs to manage issues, logs, and code reviews.
Was du damit machen kannst
- 1Automate feature development with agent tasksAssign a specific coding goal to an agent to receive a completed pull request.
- 2Run compatible CI workflowsExecute existing GitHub Actions workflows on high-performance serverless runners.
- 3Automate code quality reviewsUse an AI agent to inspect pull requests for potential logic errors or security vulnerabilities.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du Diffinery MCP
Formate geprüft am 10. Nov. 2026Diffinery MCP in Claude Code installieren
$ claude mcp add --transport http diffinery https://{diffinery_host}/mcpDiffinery MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"diffinery": {
"url": "https://{diffinery_host}/mcp"
}
}
}Diffinery MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"diffinery": {
"type": "http",
"url": "https://{diffinery_host}/mcp"
}
}
}Diffinery MCP in Codex installieren
~/.codex/config.toml
[mcp_servers.diffinery]
url = "https://{diffinery_host}/mcp"Diffinery MCP in Gemini CLI installieren
~/.gemini/settings.json
{
"mcpServers": {
"diffinery": {
"httpUrl": "https://{diffinery_host}/mcp"
}
}
}Konfiguration
BOOTSTRAP_ADMINSCLOUDFLARE_ACCOUNT_IDCLOUDFLARE_API_TOKENDIFFINERY_DOMAIN
| Name | Beschreibung | Typ |
|---|---|---|
| BOOTSTRAP_ADMINS | — | |
| CLOUDFLARE_ACCOUNT_ID | — | |
| CLOUDFLARE_API_TOKEN | — | |
| DIFFINERY_DOMAIN | — |
Automatisierte Checks
Geluften am 12. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarBestanden
- Open Source Lizenz (OSI)Bestanden
- Commit oder Release im letzten JahrBestanden
- Package-Name ähnelt keinem populären PackageNicht geprüft
- Remote Endpoint nutzt HTTPSBestanden
- Destruktive Tools sind markiertNicht geprüft
- Keine versteckten Anweisungen an das ModellBestanden
- Kein kritischer Hinweis im Paket oder seinen AbhängigkeitenNicht geprüft
README
Auf GitHub ansehenDiffinery
The open-source GitHub and GitHub Actions alternative that runs entirely on Cloudflare. Git hosting, pull requests, code review and drop-in GitHub Actions CI, with agent tasks, agent code review and plugins for Claude Code and Codex, built for teams of people and AI agents. Deploy it to your own Cloudflare account: no servers, no runner machines, nothing to patch.
Website · Docs · For AI agents · Plugins · Deploy your own · Compare · Performance · Roadmap · llms.txt
Diffinery hosts Git repositories, pull requests with reviews and a merge queue, issues, releases and a container registry, and runs your existing .github/workflows/*.yml files as they are, marketplace actions included. AI coding agents such as Claude Code, Codex and Cursor get accounts of their own, with guardrails the server enforces, and work through a built-in MCP server, the GitHub-compatible REST and GraphQL APIs, git or the CLI. Everything runs on Cloudflare: Workers, Durable Objects, D1, R2, Queues, Workflows and Containers. It is free, open-source software under the Apache License 2.0, and you deploy your own instance to your own Cloudflare account and domain.
Diffinery is built for the way software gets written with agents. Give an agent a goal and get a pull request back from Claude Code or Codex in a sandbox. Have another agent review every pull request for bugs. Open Today each morning to see what needs you, approve, and let pull requests merge on green. Plugins for Claude Code and Codex, an MCP server in the official MCP Registry, editor extensions and gh support bring all of it to the tools you already use. What agents can do on Diffinery ↓
- Source: github.com/codician-team/diffinery, where development happens, with CI on Diffinery's runners.
- Documentation: diffinery.com/docs, also as Markdown and in llms.txt and llms-full.txt for AI assistants.
If Diffinery is useful to you, a star on GitHub helps other people find it.
Contents
- Who Diffinery is for
- Why Diffinery
- Screenshots
- Built for AI coding agents
- Plugins and integrations
- Features
- How it compares
- Self-host on your own Cloudflare account
- How it runs on Cloudflare
- Develop locally
- Repository layout
- What Diffinery doesn't do (yet)
- FAQ
- Contributing, security and license
Who Diffinery is for
- Teams looking for a GitHub Actions alternative that keeps their workflow YAML: Diffinery reads
.github/workflows/with the same syntax and runs marketplace actions, on runners with 4 vCPUs and 12 GiB by default. - Teams that want a self-hosted GitHub alternative without running servers. Like Gitea, Forgejo or GitLab, you run your own instance, but it deploys to Cloudflare's serverless platform instead of a VM or a Kubernetes cluster.
- Teams that want faster CI runners than GitHub's standard 2-vCPU runner for private repositories, without paying a separate runner service such as Blacksmith or Depot. Your code can stay on GitHub: GitHub runners run its jobs on Diffinery.
- Teams working with AI coding agents (Claude Code, Codex, Cursor and others) that should open pull requests a person approves, rather than push to
main. - Cloudflare developers looking for a large, real-world application built on Durable Objects with SQLite, Containers, Workflows, Queues and R2.
Why Diffinery
- Git hosting, pull requests and CI in one serverless app. One Cloudflare Worker serves the web UI, git over HTTPS, a GitHub-compatible REST and GraphQL API, and an MCP server. Each repository is its own Durable Object with its own SQLite database, so repositories scale out instead of sharing one database server.
- Your GitHub Actions workflows run unchanged. The same triggers, expressions, matrices,
needs, outputs, reusable workflows, environments, secrets, variables, OIDC, service containers and Docker. Marketplace actions (uses: owner/repo@ref) are downloaded and run. Every known difference is listed in Compatibility with GitHub Actions. - Runners that exist only while a job runs. Each job gets a fresh Ubuntu 24.04 container on Cloudflare Containers, billed by Cloudflare only while it runs. The default size has 4 vCPUs and 12 GiB of memory, and jobs that use little of it move to smaller sizes on their own. Repositories that stay on GitHub can use them too, with
runs-on: diffinery. Self-hosted runners cover macOS, Windows, Arm and GPUs. - Built for AI agents, with a human in the loop. Agents are first-class accounts owned by a person or an organization, with their own tokens and limits. They can't push or merge to protected branches unless a rule allows it, their pull requests need a human approval unless you choose otherwise, and every commit they make records who they act for. On top of that: agent tasks, agent code review, a Today page of what needs you, and merge on green. See Built for AI coding agents.
- Plugins for the tools agents already use. A Claude Code and Codex plugin, a live CI band for Claude Code, an MCP server listed in the official MCP Registry, the
diffineryCLI, extensions for VS Code, Cursor, Windsurf and JetBrains IDEs, andghworking as it does with GitHub Enterprise. See Plugins and integrations. - Secure by default. Passkey sign-in with no passwords, invite-only accounts, branch protection, push protection that blocks leaked credentials, envelope-encrypted secrets, kill switches and an append-only audit log.
- Moving from GitHub is one step. A server-side importer brings a repository or a whole organization over with its history, issues, pull requests, reviews and releases, and
gh, Octokit, VS Code and JetBrains IDEs work against Diffinery.
Screenshots
Git hosting and CI. The agent features have their own screenshots in Built for AI coding agents, just below.
| A repository, with the clone URL and one-click open in VS Code, Cursor, Windsurf and IntelliJ IDEA | A workflow run from .github/workflows/ci.yml, with a matrix and needs |
|---|---|
![]() |
![]() |
Built for AI coding agents
Every agent feature is opt-in and sits on top of the Git and CI platform, so a team that uses none of them just has a forge. People bring their own model keys or subscriptions; Diffinery doesn't sell or include model access. The screenshots below are the real pages, taken from a local Diffinery with sample data by scripts/agent-screenshots.mjs, which runs a real agent task, agent review and CI run.
Agent accounts with guardrails
An agent is an account of its own, owned by a person or an organization, with its own tokens. Its role is capped by its owner's, it can't sign in to the web UI, and every commit it makes records who it acts for. The server enforces the same rules over Git, the REST API, MCP and sandboxes:
| Guardrail | What it means |
|---|---|
| No pushes to protected branches | Agents open pull requests instead, unless a branch protection rule allows it. |
| A person approves agent pull requests | At least one approval from a person, even on a branch with no rule. An agent's approval never counts. |
| No merging protected branches | Unless a rule lets agents land through auto-merge once CI and a person agree. |
| Agents can't mark their own CI green | An agent's check results never satisfy required checks. |
| No secrets for agent-written code | A workflow run of code an agent pushed gets only its job token, so an agent can't push a workflow that sends your secrets elsewhere. |
| No changes to secrets, environments or branch protection | Whatever the agent's role. Push protection can't be bypassed either. |
See Agents and Guardrails.
Agent tasks: a goal in, a pull request out
Give one of your agents a goal. Diffinery starts a sandbox as that agent with the repository checked out, runs Claude Code, Codex or a command of your own with your own model key, streams the transcript to the task page, then pushes a branch and opens a pull request with the goal as its intent. Your API key never enters the sandbox: each run gets a token that only Diffinery's model proxy accepts. Tasks can plan first for your approval, run best of N attempts side by side, and verify and land: fix their own failing checks and merge once a person approves.
To use your Claude or ChatGPT subscription instead of an API key, open a terminal: a shell in your browser with the repository checked out, where you sign in to Claude Code or Codex with your own plan and can hand it tasks.
See Agent tasks and Terminals.
Agent review on every pull request
One of your agents reviews pull requests for bugs, security issues and logic errors, the way Cursor's Bugbot does. It runs Claude Code, Codex or your own command in a read-only sandbox with the base branch's REVIEW.md rules, posts inline findings with suggested fixes, and reports an Agent review check that fails on a blocking finding. Fix it hands a finding to an agent task, and autofix can push the fix to the pull request's branch. Pull requests from authors without write access are never reviewed automatically, and one person's key pays for a repository's reviews.
See Agent review.
Today and Needs you
Today is the first page after you sign in. It shows what needs you (agent pull requests waiting for a person, reviews you were asked for, your own blocked pull requests), what your agents are working on, your agent tasks, and what merged, shipped or failed since yesterday, across every repository you can see. Agents read the same view with the today MCP tool, and it can come to you as a morning email.
See Today.
Merge on green
Pick the checks that must pass in Settings → Merge on green, name the agents whose pull requests should land by themselves, and choose whether they wait for a person's approval. From then on a pull request merges the moment its checks pass and its rules are met, with nobody clicking Merge. Nothing is skipped: an agent's change to a workflow file still needs a person to merge it.
See Merge on green automatically.
Projects, sandboxes and docs for agents
- Projects: every repository has a board of its agent tasks, a conversation, project instructions and a memory every task reads. A coordinator agent can turn your posts into tasks, within limits you set.
- Sandboxes: a short-lived Linux container with the repository cloned, driven over MCP or the REST API, so an agent working from a chat app gets a real machine to build and test on.
- Docs for agents: every page as Markdown, llms.txt, llms-full.txt, an OpenAPI 3.1 description of the REST API, and
search_docsandread_docsover MCP.
Plugins and integrations
Agents trained on GitHub already know how to use Diffinery, and these bring the rest into the tools you use. Everything here works with diffinery.com and with any instance you deploy.
| Integration | What it does | Install |
|---|---|---|
Claude Code plugin (diffinery) |
The MCP server with OAuth sign-in, a skill that teaches the branch → pull request → CI → merge loop and Diffinery's agent rules, /diffinery:pr-status with the log tail of failing jobs, and a session hook that tells Claude it's in a Diffinery repository |
claude plugin marketplace add codician-team/diffineryclaude plugin install diffinery@diffinery |
Live CI in Claude Code (diffinery-ci) |
A band above the prompt with the branch's pull request and its checks (✗ 1 failed · ● 3 running · ✓ 6), a /diffinery-ci pane with Fix CI, a status line entry, and a note to Claude when CI settles, in cloud sessions too |
claude plugin install diffinery-ci@diffinery |
Codex plugin (diffinery) |
The same MCP server, skills and session hook for OpenAI's Codex CLI | codex plugin marketplace add codician-team/diffinerycodex plugin add diffinery@diffinery |
| MCP server | 52 tools on diffinery.com: read code, commit, open, review and merge pull requests, follow CI and job logs, run sandboxes, follow agent tasks and projects, read Today, publish releases, import from GitHub and search the docs, behind the same permissions and guardrails as Git. Listed in the official MCP Registry as com.diffinery/diffinery |
https://<your host>/mcp, with a browser sign-in (OAuth 2.1) or an agent token |
| Claude (claude.ai, Desktop, mobile) | Diffinery as a custom connector, or the plugins uploaded as files for cloud sessions and projects | Settings → Connectors → Add custom connector, https://diffinery.com/mcp |
diffinery CLI |
Repositories, pull requests with --intent, auto-merge, runs and logs, secrets, runners and migrations; diffinery setup signs you in and sets up git, gh and both Claude Code plugins in one go |
curl -fsSL https://diffinery.com/install | bash |
GitHub CLI (gh) |
gh pr create, gh pr checks, gh pr merge and the rest, through Diffinery's GitHub-compatible REST and GraphQL APIs; Claude Code shows the branch's pull request and CI status from it |
diffinery auth setup-gh |
| VS Code, Cursor, Windsurf | Clone from Diffinery with a passkey sign-in; Git in the editor pushes and pulls with that sign-in | diffinery.com/install-editor |
| JetBrains IDEs | Get from Version Control with a passkey sign-in, in IntelliJ IDEA, PyCharm, WebStorm and the rest (2024.3 or later) | Plugin repository https://diffinery.com/-/jetbrains/updatePlugins.xml |
The plugins' sources are in plugins/, the extensions' in apps/vscode and apps/jetbrains, and the CLI's in apps/cli. Step-by-step guides for Claude, Claude Code, Codex, Cursor, VS Code and other apps are in Connect AI apps.
Features
| Area | What you get | Docs |
|---|---|---|
| Git | Clone, fetch and push over HTTPS with a token; shallow clones, Git LFS, refs/pull/<n>/head and /merge; large pushes unpacked from R2 in pieces |
Git over HTTPS |
| Pull requests | Draft PRs, reviews with line comments, required approvals and checks, merge, squash and rebase, auto-merge, a merge queue with merge_group runs, and an intent field that tells reviewers what a change is for |
Pull requests |
| Issues and releases | Issues, labels, milestones, reactions, mentions, releases with assets and generated notes | Collaboration |
| Actions (CI/CD) | GitHub Actions–compatible workflows on hosted runners in Cloudflare Containers or self-hosted runners; caches, artifacts, secrets, environments, OIDC, Docker, service containers, concurrency groups, scheduled runs; jobs keep running when GitHub is down | Actions overview |
| GitHub runners | Keep your code on GitHub and run its jobs on Diffinery's hosted runners: install the GitHub App and set runs-on: diffinery |
GitHub runners |
| Container registry | Push and pull OCI images at <your host>/<owner>/<name>, in place of ghcr.io |
Container registry |
| Agents | Agent accounts with server-enforced guardrails, agent tasks with Claude Code or Codex (plan first, best of N, verify and land), agent code review with inline findings and an Agent review check, browser terminals on your own Claude or ChatGPT plan, projects with a coordinator and shared memory, sandboxes, and a Today page of what needs you | Agents |
| Merge on green | Pull requests from people and agents merge by themselves once their required checks pass and their branch's rules are met, set up in a few clicks | Merge on green |
| Plugins and integrations | A Claude Code and Codex plugin, a live CI band for Claude Code, an MCP server in the official MCP Registry, the diffinery CLI, gh support, and VS Code, Cursor, Windsurf and JetBrains extensions |
Plugins and integrations |
| API | GitHub-compatible REST (/api/v3) and GraphQL (/api/graphql) APIs, described as OpenAPI 3.1, and GitHub-compatible webhooks; gh and release-please work against them |
REST API |
| Security | Passkeys (WebAuthn), branch protection, push protection, encrypted secrets, audit log, moderation, rate limits, quotas and kill switches | Security overview |
| Migration | Import from GitHub with history, issues, pull requests, reviews and releases, from the web, CLI, API or MCP | Migrate from GitHub |
How it compares
Diffinery is a forge: it hosts your code and runs your CI. Here is how it sits next to the tools people usually compare it with. Facts about other products come from their own websites and documentation, checked in October 2026; each linked comparison cites its sources.
| Diffinery | GitHub + GitHub Actions | GitLab | Gitea / Forgejo | Runner services (Blacksmith, Depot) | |
|---|---|---|---|---|---|
| What it is | Open-source forge with built-in CI | Hosted forge with built-in CI | Forge with built-in CI | Open-source self-hosted forges with built-in CI | Faster runners for GitHub Actions; your code stays on GitHub |
| Who runs it | You, on your own Cloudflare account | GitHub (Enterprise Server: your servers) | GitLab, or you (self-managed) | You, on your own servers (or Gitea Cloud, Codeberg) | The vendor |
| Servers to operate | None | None (hosted) | None (hosted) or your own | Your servers and your runner machines | None |
| CI workflow format | GitHub Actions YAML in .github/workflows/ |
GitHub Actions YAML | .gitlab-ci.yml |
GitHub Actions–style YAML, "mostly compatible" (Gitea) or "not designed to be compatible" (Forgejo) | GitHub Actions YAML, with a new runs-on label |
| Default hosted Linux runner | 4 vCPU, 12 GiB, started per job in Cloudflare Containers | 2 vCPU, 8 GB for private repositories | 2 vCPU, 8 GB | Runners you install | Several sizes, priced per minute |
| Hosted macOS and Windows | No (self-hosted runners) | Yes | Beta | Runners you install | Yes |
| Guardrails for AI agents | Built in for every agent account | Rulesets and token permissions you configure | Approval rules and service accounts you configure | Not covered | Not applicable |
| Built-in MCP server | Yes, at /mcp |
Yes | Yes | Gitea: a separate MCP server | Not applicable |
| License | Apache-2.0 | Proprietary | Open core | MIT (Gitea), GPL v3+ (Forgejo) | Proprietary |
Read the details: Diffinery vs GitHub · vs GitLab · vs Gitea and Forgejo · vs Blacksmith · vs Depot · vs CircleCI · vs Buildkite · vs Bitbucket · all GitHub Actions alternatives · other Git and CI projects on Cloudflare
Diffinery MCP Fragen
Wie füge ich Diffinery MCP zu Claude Code hinzu?
Führe claude mcp add --transport http diffinery https://{diffinery_host}/mcp in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich Diffinery MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
What does Diffinery's MCP server let an AI client do?
The built-in MCP server gives agents access to repositories, pull requests, CI runs, logs and issues, with the same guardrails enforced over Git, REST and MCP.
Can AI agents push directly to protected branches on Diffinery?
No. Agents open pull requests instead, unless a branch protection rule allows it, and an agent's pull request needs approval from a person.
Does Diffinery run existing GitHub Actions workflows?
Yes, it reads .github/workflows/ with the same syntax and runs marketplace actions, with any known differences documented.
How is Diffinery deployed?
You deploy your own instance to your own Cloudflare account and domain, using Workers, Durable Objects, D1, R2, Queues, Workflows and Containers.
Is Diffinery open source?
Yes, it is free and open-source software under the Apache License 2.0.







