ci: auto-close new-server PRs and triage new-server issues - #4528
Open
olaservo wants to merge 2 commits into
Open
ci: auto-close new-server PRs and triage new-server issues#4528olaservo wants to merge 2 commits into
olaservo wants to merge 2 commits into
Conversation
Adds two automations enforcing the CONTRIBUTING.md policy that new server implementations belong in the MCP Server Registry, not this repo: - new-server-pr-check.yml: deterministically detects PRs that add a new top-level directory under src/ (compared against the base branch), labels them new-server-submission, comments with registry pointers, and closes them. Maintainers opt a PR back in by removing the label and reopening. - issue-triage.md (+ compiled lock file): GitHub Agentic Workflow (engine: copilot, billed to the org via copilot-requests: write) that classifies newly opened issues; on high confidence that an issue is a new-server request it labels, comments, and closes as not planned. On any doubt it takes no action. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Agentic-workflow tooling (gh-aw) compiles .github/workflows/*.lock.yml from their source workflow definitions. Marking them linguist-generated keeps them collapsed in diffs and out of language statistics, and merge=ours stops conflicts in a regenerated artifact from blocking a merge. Note that merge=ours is not a built-in merge driver: it takes effect only in clones that also configure `git config merge.ours.driver true`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds automation to redirect new MCP server submissions to the Server Registry.
Changes:
- Auto-closes PRs introducing new server directories.
- Adds agentic issue triage and its compiled workflow.
- Tracks generated workflow metadata and attributes.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/new-server-pr-check.yml |
Detects and closes new-server PRs. |
.github/workflows/issue-triage.md |
Defines agentic issue triage. |
.github/workflows/issue-triage.lock.yml |
Compiled triage workflow. |
.github/aw/actions-lock.json |
Pins agentic workflow actions. |
.gitattributes |
Marks generated workflow locks. |
Suppressed comments (1)
.github/workflows/issue-triage.md:4
- Running again on
reopeneddefeats the promised recovery path: a maintainer reopening a false positive triggers the classifier against the same title/body, and a repeated high-confidence result closes it again. Trigger only onopened, or add a deterministic escape condition that the maintainer can satisfy, then regenerate the lock file.
types: [opened, reopened]
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+2
to
+4
| on: | ||
| issues: | ||
| types: [opened, reopened] |
|
|
||
| const addedDirs = new Set(); | ||
| for (const f of files) { | ||
| if (f.status !== 'added') continue; |
| '', | ||
| 'To share your server with the community, publish it to the [MCP Server Registry](https://github.com/modelcontextprotocol/registry) instead (see the [quickstart guide](https://github.com/modelcontextprotocol/registry/blob/main/docs/modelcontextprotocol-io/quickstart.mdx)). You can browse published servers at [registry.modelcontextprotocol.io](https://registry.modelcontextprotocol.io/).', | ||
| '', | ||
| 'This PR is being closed automatically. If you believe this is a mistake, leave a comment and a maintainer can reopen it.', |
| @@ -1 +1,3 @@ | |||
| package-lock.json linguist-generated=true | |||
|
|
|||
| .github/workflows/*.lock.yml linguist-generated=true merge=ours | |||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds two automations that enforce the existing CONTRIBUTING.md policy that new server implementations belong in the MCP Server Registry, not this repo.
1.
new-server-pr-check.yml— auto-close PRs adding new servers (deterministic, no AI)pull_request_target(API-only, never checks out PR code).src/that does not exist on the base branch (the existing-directory set is fetched dynamically, so the workflow never needs updating).new-server-submission, posts one comment pointing to the registry and quickstart, and closes it.readme-pr-check.yml, which keeps handling README-only edits with its/i-promise-this-is-not-a-new-serverflow.2.
issue-triage.md(+ compiledissue-triage.lock.yml) — agentic triage of new-server issuesengine: copilot, compiled withgh aw compile --strict(v0.81.6).new-server-request, comment with registry pointers, and close as not planned; on any doubt it takes no action.copilot-requests: writein the frontmatter bills inference to the org Copilot plan (changelog).Motivation and Context
New-server PRs and issues keep arriving despite the policy. Today only README-only PRs get an automated response (comment, no close); PRs adding directories under
src/and issues requesting new servers require manual triage.How Has This Been Tested?
gh aw compile --strictpasses with no warnings; lock file reviewed (triggers, read-only agent job, safe-outputs jobs).src/pith/) is detected; fix: add zod as explicit dependency for servers that import it directly #4446 (dependency fix across existing servers) and fix(git): correct field misalignment in date-filtered git_log #4524 (git server fix) are not. README-only additions like Add thumbgate community server #4292 are correctly left toreadme-pr-check.yml.Types of changes
Additional context
Maintainer follow-ups needed after merge:
new-server-submissionandnew-server-request.copilot-requests: write.