Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Rework Proof

by reworkioversion 1.2.1i★ –iRuns on your computer
Registry nameio.github.reworkio/rework-proof

Install

Overview

Description from the maker (original English)

Verify REWORK credentials: is this delivered work genuinely the author's?

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "rework-proof": {
      "command": "npx",
      "args": [
        "-y",
        "@reworkdigital.io/rework-proof-mcp"
      ]
    }
  }
}

Run this in your terminal

claude mcp add rework-proof -- npx -y @reworkdigital.io/rework-proof-mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "rework-proof": {
      "command": "npx",
      "args": [
        "-y",
        "@reworkdigital.io/rework-proof-mcp"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "rework-proof": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@reworkdigital.io/rework-proof-mcp"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account reworkio, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18360 servers in this category
  • Published to the registry more recently than 69% of the other 18360 servers in this category
  • Basic checks equal to or better than 100% of the other 18360 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Rework Proof safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.2.1) reached the registry 20 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Tool Guardian

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

Tool Guardian

by LuminariSoftwares

Too many MCP servers eating your context? A router that loads each tool's schema only when needed.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

REWORK Proof Check

Reports who actually wrote the commits in a pull request — signature state, author attribution, and declared AI assistance — as a job summary.

By default it sends nothing anywhere. It reads the pull request's commits with the token your workflow already has and writes a summary. No account, no API key, no third-party access to your repository.

name: Proof

on: pull_request

jobs: proof: runs-on: ubuntu-latest steps:

  • uses: reworkio/REWORK-Proof@v1

That's the whole setup.

New here? GETTING-STARTED.md walks a fresh repository through both this action and the GitHub App — which to choose, what each one grants, and a set of commits that exercise every case so you can see what the report actually does before trusting it.

One-click setup

Replace OWNER/REPO with your own and open this — GitHub's editor opens with the workflow already written, and you just press Commit:

https://github.com/OWNER/REPO/new/main?filename=.github/workflows/proof.yml&value=name%3A%20Proof%0Aon%3A%20pull_request%0A%0Ajobs%3A%0A%20%20proof%3A%0A%20%20%20%20runs-on%3A%20ubuntu-latest%0A%20%20%20%20steps%3A%0A%20%20%20%20%20%20-%20uses%3A%20reworkio%2FREWORK-Proof%40v1%0A

If your default branch isn't main, change the /new/main segment to match.

What it reports

For every commit on the pull request:

  • Signature state — whether GitHub could cryptographically verify it.
  • Author attribution — whether the account GitHub resolved the commit to is the pull request's author. A commit whose email never matched a GitHub account is *not* flagged; that's ordinary, and flagging it would make the check noise. Bot accounts (a [bot] suffix — dependabot, github-actions) are classed as automation, listed separately from human co-authors.
  • Declared AI assistance — a commit message that names a coding assistant: a Co-Authored-By: Claude (or Copilot, Codex, Gemini, Cursor, Devin, aider, …) trailer, a Claude-Session: or Amp-Thread-ID: trailer, or a Generated with line. The full list is src/ai-trailers.json, and the GitHub App check reads the same file, so a commit reads the same either way.

Declaring AI assistance does not lower the result. The author chose to say so, which is good practice; penalising the trailer would just teach people to delete it — which destroys the signal for the person who needed it.

"None declared" means none declared. The action reads commit messages. A message with no trailer looks the same whether or not a tool wrote the code, so a count of zero says nothing was declared, never that nothing was used.

Unsigned commits are not treated as a fault either. Most repositories never enable signing. The check reports what can be proven and says plainly what can't.

What the App records after a merge

The Action reports on one pull request and is finished. The GitHub App, which receives the pull request's closed event, also records the outcome:

  • The merge. When GitHub reports a checked pull request merged, the App notes it against the check it already ran, together with what the repository's *other* checks concluded on the pull request's final commit. A merge of work the App never checked is not invented into a result.
  • The repository badge then reads "N PRs verified · S% signed · M merged": distinct pull requests checked, the share of every examined commit GitHub reported as signed, and how many of those pull requests were merged. It picks no colour from a verdict; a merge is an outcome your maintainers produced, not a grade.
  • A squash-merge note. When a pull request declared AI assistance or had commits by someone other than its author, and the squashed merge commit no longer carries the trailer, the App posts a second, neutral check run on the merge commit titled "Disclosure kept from the pull request". It restates what the pull request's commits declared so the default branch still says it. A true merge commit or a rebase loses nothing and gets no note.
  • Re-verification. A signature GitHub verified can stop verifying later, so the App re-reads the commits behind recent results nightly (up to 200 results a night, each younger than 90 days). A result that was "success" because every commit was signed drops to "neutral" when that stops being true. A read that could not complete changes nothing.

How those counts reach a REWORK member's own score and badge is on reworkdigital.io/docs/proof.

Signed attestation (optional)

Set attest: true and the action asks REWORK for a signed, timestamped attestation of the run:

jobs:

proof: runs-on: ubuntu-latest permissions: contents: read id-token: write # required for attestation steps:

  • uses: reworkio/REWORK-Proof@v1 with: attest: true

There is still no API key. The workflow mints a short-lived OIDC token that proves, on GitHub's authority, which repository and workflow the run belongs to. Nothing long-lived is stored in your repository settings, so there's nothing to leak or rotate.

Only counts are sent — never your code, never commit messages.

The result is a W3C Verifiable Credential as a compact JWT. Anyone can verify it offline against REWORK's published key at https://api.reworkdigital.io/api/v1/proofs/credentials/jwks.json — no call back to REWORK, so it keeps working for a reader who has never heard of us.

An attestation failure never fails your build. The local result stands on its own.

What the attestation does and does not claim

The credential's assurance field names one of the levels below. The text is rendered from mcp/src/assurance.json, the same file the MCP server answers explain_rework_assurance from and the one the reworkdigital.io/github page renders, so every surface states one ceiling.

Workflow identity (workflow-identity), moderate: strong on identity, silent on quality

Proves: GitHub cryptographically vouched that a specific workflow run belongs to a specific repository and commit, and REWORK recorded the authorship signals that run observed: commit signature state, whether each commit resolves to the pull request author, and how many commit messages declared AI assistance.

Does not prove: Nobody reviewed the code, ran it, or judged its quality. It does not say the work is good, only who the git history says wrote it. The AI count is what authors declared in commit messages: a zero means nothing was declared, not that no tool was used.

Reviewed reference (reviewed-reference), moderate: human-checked, but of a demonstration rather than the artefact

Proves: A REWORK reviewer watched a demonstration video and confirmed it corresponds to the claimed work, and the video is fingerprinted so reuse is detectable.

Does not prove: The reviewer did not audit the source, reproduce the result, or verify claims made verbally in the video.

Cross-platform join (cross-platform-join), moderate: strong on which bytes landed where and who controls both ends, silent on how they were made

Proves: The exact bytes named by a manifest digest were present in the named Hugging Face repository, at the named commit, immediately after the named GitHub Actions run, confirmed by REWORK's own independent read of the Hub; and one REWORK account holds both the App installation on the GitHub repository's owner and a verified write-control claim on the Hugging Face repository.

Does not prove: It does not prove that the workflow produced, trained, or evaluated the content. A run that downloads someone else's files and uploads them also carries bytes. Read the workflow reference to judge what the run actually did.

The credential says so in its own disclaimer.

Inputs

InputDefaultDescription
github-token${{ github.token }}Used to read the PR's commits. Needs no extra permissions.
attestfalseRequest a signed attestation. Requires id-token: write.
api-urlhttps://api.reworkdigital.io/api/v1Override only for self-hosted REWORK.
require-signedfalseFail when any commit is unsigned. We recommend leaving this off. See Make it blocking.
require-ai-disclosurefalseFail when no commit states whether AI assistance was used. See Make it blocking.
fail-on-unsignedfalseThe older spelling of require-signed; still works.

Make it blocking

By default nothing here fails a build, and for most repositories that is the right setting. A repository that wants the report to block opts in with two keys, and it states them once for both the Action and the App:

# .github/rework-proof.yml

require_signed: true require_ai_disclosure: true

  • require_signed: true fails the check when any commit carries no signature GitHub could verify.
  • require_ai_disclosure: true fails the check when no commit on the pull request states whether AI assistance was used. A Co-Authored-By: trailer naming the assistant satisfies it, and so does the line AI-Assisted: none in a commit message, so a pull request written without AI has a way to say so rather than a way to fail.

Only the literal true switches a policy on; a quoted "true" does not. The App reads the file from the default branch, so a pull request cannot switch a policy on or off for itself. The Action reads the same file from the checkout when the workflow has one; a workflow without a checkout step can pass the same two switches as inputs instead:

jobs:

proof: runs-on: ubuntu-latest steps:

  • uses: reworkio/REWORK-Proof@v1 with: require-signed: true require-ai-disclosure: true

When the file is present and sets either key, it is the whole statement and the inputs are not consulted. The finding is reported the same way whether or not it blocks; what the policy changes is only the conclusion, and the failure message names the file or input that asked for it.

Outputs

OutputDescription
commits-totalCommits examined.
commits-signedHow many carried a verifiable signature.
commits-foreignCommits attributed to a human account other than the PR author.
commits-automationCommits authored by a bot account ([bot] suffix).
ai-disclosedCommits whose message declares AI assistance. Zero means none declared, not none used.
credentialThe signed VC-JWT, when attest is enabled.

Limits

The commit read stops at 300 commits. A larger pull request is reported as inconclusive rather than clean — a partial read that claimed "all verified" would be the one failure mode that actively misleads.

A proof that points here does not stay verified on its own

The Action reports on one pull request and is finished. A REWORK proof that cites a GitHub repository is different: it is re-observed, and it decays if the repository is later deleted, made private, transferred, or blocked, rather than reading "verified" against evidence nobody can open any more.

The narrow rules matter more than the sweep:

  • a rename by the same owner is followed, not punished, because the work is untouched
  • outages, timeouts and rate limits decay nothing — those are our problem
  • two consecutive definitive failures are required before anything is withdrawn

The re-check reads the repository anonymously on purpose. Verification ran on the author's own token; the question afterwards is whether a *buyer* can still open the evidence.

Where the check's Details link goes

App only, and it is restrictiv

Only the beginning is shown; read the rest in the repo

Ask PopNx