https://raw.githubusercontent.com/modelcontextprotocol/servers/HEAD/AGENTS.md
− │ claude.yml (@claude mentions), everything-mcp-diff.yml (everything's interface diff on PRs),− than `GITHUB_TOKEN`. Today that is `release.yml`'s publish jobs, `claude.yml`,− and `sdk-watch.yml`'s `analyze` and `post` jobs (`ANTHROPIC_API_KEY`). Jobs− - **A credentialed job that a comment, review or issue can start runs only− for a trusted author**: `OWNER`, `MEMBER` or `COLLABORATOR` in the− `author_association` of the text that triggered it, never of the thread− around it. Today that is `claude.yml`, whose `if:` checks it on every event− it listens to; `scripts/claude-workflow.test.mjs` evaluates that condition− per event and fails when one loses its check.− - **Exception: a security advisory's fix, in its private fork.** A PR in the− advisory's temporary private fork (`servers-ghsa-xxxx-yyyy-zzzz`) links no− public issue, carries no labels, and is tracked by the advisory's `[GHSA-…]` draft− card rather than an issue's card, because each of those would disclose the− vulnerability before a fix ships. For the same reason the work-start rules− on assigning an issue and naming the branch `v2/<type>/<ISSUE_NUMBER>-<slug>`− do not apply: its branch is `v2/fix/<ghsa-id>`, with **no descriptive− slug**. It still targets `v2/main`, and it is reviewed inside the fork. The− flow is the `security-advisory` skill.− and a summary can name the server or the attack. It becomes a public− issue by conversion **once the advisory is published**, never merely once− the fix ships. Work the fix leaves open is tracked by a second draft card,− `[GHSA-xxxx-yyyy-zzzz follow-up]`, under the same rules. It stays open− after conversion, because its work has not shipped. The `[GHSA-` prefix is− load-bearing: **any other draft card is still a defect to delete**. The flow− is the `security-advisory` skill.− `Incoming` → `Todo`. Its milestone arrives with the public issue after− publication.− - **After opening a PR, run a Copilot review loop to convergence, unprompted.**+ │ everything-mcp-diff.yml (everything's interface diff on PRs),+ than `GITHUB_TOKEN`. Today that is `release.yml`'s publish jobs and+ `sdk-watch.yml`'s `analyze` and `post` jobs (`ANTHROPIC_API_KEY`). Jobs+ - **Exception: a security advisory's fix.** It is written and reviewed in a+ PR in the advisory's temporary private fork (`servers-ghsa-xxxx-yyyy-zzzz`),+ which links no public issue, carries no labels, and is tracked by the+ advisory's `[GHSA-…]` draft card rather than an issue's card, because each+ of those would disclose the vulnerability before a fix ships. For the same+ reason the work-start rules on assigning an issue and naming the branch+ `v2/<type>/<ISSUE_NUMBER>-<slug>` do not apply: its branch is+ `v2/fix/<ghsa-id>`, with **no descriptive slug**. It targets `v2/main`, and+ it is **not merged**. When the fix is ready to merge, close to the release,+ the draft card converts to an issue that keeps its opaque title, and that+ branch is pushed here under the same name and merged through a **public PR**+ that `Closes` that issue and follows every rule above, except that its+ title and body describe no part of the vulnerability and it gets **no+ Copilot review loop**: review comments on a public PR are public, and the+ review already happened in the fork. The fork's PR is then closed. The flow+ is the `security-advisory` skill.+ and a summary can name the server or the attack. It converts to an issue+ **when its fix is ready to merge**, keeping that opaque title, so the+ public PR that brings the fix to `v2/main` has an issue to close; the+ summary joins the title only **once the advisory is published**, never+ merely once the fix ships. Work the fix leaves open is tracked by a second+ draft card, `[GHSA-xxxx-yyyy-zzzz follow-up]`, under the same rules, except+ that it converts only once the advisory is published, since its write-up+ describes the gap. It stays open after conversion, because its work has+ not shipped. The `[GHSA-` prefix is load-bearing: **any other draft card+ is still a defect to delete**. The flow is the `security-advisory` skill.+ `Incoming` → `Todo`. Its milestone arrives when the card converts to an+ issue, before the fix's public PR opens.+ - **After opening a PR, run a Copilot review loop to convergence, unprompted**+ (except a security advisory's public fix PR; see+ [Contributing](#contributing)).