Skip to content

Commit 6393064

Browse files
authored
docs: expand contributor docs and restructure issue templates (#114)
- Add AGENTS.md following the agents.md spec for coding-agent guidance - Expand CONTRIBUTING.md from a brief overview into a detailed reference: full field tables (required/recommended/optional), transport + input + auth guidance, review criteria, trademark policy, security expectations, and troubleshooting for common validation errors - Rewrite PULL_REQUEST_TEMPLATE.md as a structured Add-Server template covering CI-enforced checks, reviewer quality bar, platform-managed fields, and trademark acknowledgements - Add request-server.yml so the community can ask for servers they don't have a definition for (label: server-request, title: "[Request] ") - Add bug-report.yml for flagging broken or incorrect existing definitions (label: bug, title: "[Bug] ") - Add config.yml to disable blank issues and lead the "New issue" chooser with the CONTRIBUTING (PR) path - Remove submit-server.yml; issue forms cannot open PRs, which made the template a slower and confusing path. Adding a server is now PR-only via the CONTRIBUTING quickstart. request-server.yml and bug-report.yml are deep-linked from the McpMux desktop app, so their filenames must stay stable. Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>
1 parent c2fca16 commit 6393064

7 files changed

Lines changed: 974 additions & 151 deletions

File tree

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Bug in a Server Definition
2+
description: Report a problem with an existing server definition in the registry
3+
title: "[Bug] "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Use this to report a broken or incorrect server definition already in the registry.
10+
11+
Bugs in the McpMux desktop app itself belong in the [mcp-mux repo](https://github.com/mcpmux/mcp-mux/issues/new/choose).
12+
13+
- type: input
14+
id: server_id
15+
attributes:
16+
label: Server ID
17+
description: The `id` field from the JSON definition (e.g., `community.brave-search`).
18+
placeholder: community.example-server
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: description
24+
attributes:
25+
label: What's wrong?
26+
description: Broken command, missing field, wrong URL, bad `obtain` instructions, etc.
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: reproduce
32+
attributes:
33+
label: Steps to reproduce
34+
description: How can a maintainer confirm the problem?
35+
placeholder: |
36+
1. Install server `community.example-server` in McpMux
37+
2. Attempt to call tool `...`
38+
3. Observe error `...`
39+
validations:
40+
required: false
41+
42+
- type: input
43+
id: mcpmux_version
44+
attributes:
45+
label: McpMux Version (if applicable)
46+
placeholder: e.g., 0.3.0
47+
validations:
48+
required: false
49+
50+
- type: textarea
51+
id: logs
52+
attributes:
53+
label: Logs / Screenshots
54+
description: Paste any relevant log output, error messages, or screenshots.
55+
validations:
56+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Contributing Guide (Pull Request path)
4+
url: https://github.com/mcpmux/mcp-servers/blob/main/CONTRIBUTING.md
5+
about: The fastest way to add a server — five-command quickstart for opening a PR
6+
- name: Questions & Help
7+
url: https://github.com/mcpmux/mcp-mux/discussions/categories/q-a
8+
about: Ask questions about the registry or McpMux in GitHub Discussions
9+
- name: Browse Existing Servers
10+
url: https://mcpmux.com
11+
about: Search the registry at mcpmux.com before opening a request
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Request a Server
2+
description: Suggest an MCP server we should add to the registry
3+
title: "[Request] "
4+
labels: ["server-request"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Know of an MCP server that should be in the McpMux registry? Tell us about it here.
10+
11+
If you already have a working definition, use the **Submit a Server** template (or open a PR) instead — that's the fastest path.
12+
13+
- type: input
14+
id: name
15+
attributes:
16+
label: Server Name
17+
description: What is this server called?
18+
placeholder: e.g., Linear, Stripe, Obsidian
19+
validations:
20+
required: true
21+
22+
- type: input
23+
id: repository
24+
attributes:
25+
label: Upstream Repository or Homepage
26+
description: Link to the MCP server's source code or docs (leave blank if you don't know of one yet)
27+
placeholder: https://github.com/... or https://example.com/mcp
28+
validations:
29+
required: false
30+
31+
- type: textarea
32+
id: use_case
33+
attributes:
34+
label: What would you use it for?
35+
description: A concrete example helps us prioritise.
36+
placeholder: e.g., "Let Claude read my Linear issues so I can triage from chat."
37+
validations:
38+
required: true
39+
40+
- type: dropdown
41+
id: transport
42+
attributes:
43+
label: Transport (if known)
44+
options:
45+
- Not sure
46+
- stdio (local command)
47+
- http (remote URL)
48+
validations:
49+
required: false
50+
51+
- type: checkboxes
52+
id: categories
53+
attributes:
54+
label: Categories (pick any that fit)
55+
options:
56+
- label: Developer Tools
57+
- label: Version Control
58+
- label: Cloud Services
59+
- label: Productivity
60+
- label: Database
61+
- label: Search & Web
62+
- label: Communication
63+
- label: File System
64+
- label: Documentation
65+
- label: AI & Machine Learning
66+
- label: Monitoring & Observability
67+
- label: Security
68+
69+
- type: textarea
70+
id: context
71+
attributes:
72+
label: Additional Context
73+
description: Anything else we should know? Pricing, auth requirements, whether one already exists but needs polish, related issues, etc.
74+
validations:
75+
required: false

.github/ISSUE_TEMPLATE/submit-server.yml

Lines changed: 0 additions & 60 deletions
This file was deleted.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 85 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,85 @@
1-
## New Server Definition
2-
3-
**Server Name:**
4-
**Server ID:**
5-
**Transport:** stdio / http
6-
**Repository:**
7-
8-
### Checklist
9-
10-
- [ ] JSON file placed in `servers/` directory
11-
- [ ] File name matches server ID (e.g., `com.example.server.json`)
12-
- [ ] Schema validates (`npm run validate servers/your-file.json`)
13-
- [ ] No ID/alias conflicts (`npm run check-conflicts`)
14-
- [ ] Required fields: `id`, `name`, `transport`
15-
- [ ] Description provided
16-
- [ ] At least one category assigned
17-
- [ ] Publisher information included
18-
- [ ] Repository link provided
1+
<!--
2+
Thanks for contributing to the McpMux server registry!
3+
4+
Most PRs here add or update a server definition in `servers/`. Fill in the
5+
sections below that apply and delete the rest. See CONTRIBUTING.md for the
6+
full contributor guide.
7+
-->
8+
9+
## Change Type
10+
11+
<!-- Tick one. -->
12+
13+
- [ ] Add a new server definition
14+
- [ ] Update an existing server definition
15+
- [ ] Fix a bug in an existing definition
16+
- [ ] Other (describe in Summary)
17+
18+
## Summary
19+
20+
<!-- One or two sentences: what does this PR do and why? -->
21+
22+
## Server Details
23+
24+
<!-- Fill this section for Add / Update / Fix. Delete it for anything else. -->
25+
26+
- **Server Name:**
27+
- **Server ID:** `community.example` or `com.publisher-name`
28+
- **Transport:** `stdio` / `http`
29+
- **Authentication:** `none` / `api_key` / `optional_api_key` / `oauth` / `basic`
30+
- **Categories:** <!-- from categories.json, e.g. developer-tools, productivity -->
31+
- **Upstream Repository:** https://github.com/...
32+
33+
## Checklist
34+
35+
### CI-enforced — your PR will fail without these
36+
37+
- [ ] JSON file lives at `servers/<id>.json`
38+
- [ ] Filename matches the `id` field exactly
39+
- [ ] Required fields present: `id`, `name`, `transport`
40+
- [ ] `pnpm validate servers/<id>.json` passes
41+
- [ ] `pnpm check-conflicts` passes (no duplicate IDs or aliases)
42+
- [ ] `pnpm test` passes
43+
- [ ] Every commit is signed off — `git commit -s` (DCO)
44+
45+
### Reviewer quality bar
46+
47+
- [ ] `description` is one clear sentence — no marketing fluff
48+
- [ ] At least one category from [`categories.json`](../categories.json) is assigned
49+
- [ ] Every `${input:ID}` placeholder has a matching `metadata.inputs[].id`
50+
- [ ] Every secret / credential input is marked `"secret": true`
51+
- [ ] Each credential input has an `obtain` block with step-by-step instructions (numbered, `\n` between steps)
52+
- [ ] `auth.type` is consistent with how credentials are actually wired into the transport
53+
- [ ] `links.repository` resolves (when the upstream is public)
54+
- [ ] `capabilities` (`tools` / `resources` / `prompts` / `read_only_mode`) reflect what the server actually implements
55+
- [ ] `platforms` is accurate — don't claim `["all"]` without verifying Windows/macOS/Linux
56+
57+
### Platform-managed fields — leave unset
58+
59+
<!--
60+
The validator strips these; PRs that set them are rejected. See
61+
CONTRIBUTING.md → "Platform-Managed Fields (Do Not Set)".
62+
-->
63+
64+
- [ ] I did **not** set `badges`, `stats`, `sponsored`, `featured`
65+
- [ ] I did **not** set `publisher.official`, `publisher.verified`, `publisher.domain_verified`
66+
- [ ] I did **not** add any `_platform*`-prefixed keys
67+
68+
### Trademark & branding
69+
70+
<!-- See CONTRIBUTING.md → "Trademark & Branding Policy" for details. -->
71+
72+
- [ ] No "official" / "certified" / "endorsed" wording unless I represent the trademark owner
73+
- [ ] I have the right to reference the `icon` URL (emoji or an asset I'm allowed to hot-link)
74+
75+
### Tested locally (recommended for new servers)
76+
77+
- [ ] Installed the server in McpMux and it started successfully
78+
- [ ] Called at least one tool / fetched at least one resource / rendered at least one prompt
79+
80+
## Notes for Reviewers
81+
82+
<!--
83+
Anything surprising, gotchas, links to upstream issues, reason for unusual
84+
choices, or context maintainers should know before approving.
85+
-->

0 commit comments

Comments
 (0)