Skip to content

Commit 9258bc3

Browse files
committed
feat(ui): wire Contribute/Request affordances to merged registry templates
The Contribute / Request affordances (c8c3f1c) originally pre-filled issue URLs with ?labels= params. Now that mcp-servers ships dedicated issue templates (request-server.yml, bug-report.yml) and the registry's CONTRIBUTING.md covers the PR path in depth, switch to ?template= deep links and re-route the "Contribute" action to the PR flow. - `lib/contribute.ts` * `bug` / `featureRequest` → ?template=bug_report.yml / feature_request.yml * `requestServer(term)` → ?template=request-server.yml, title prefix "[Request] " (matches template expectations) * `contributeServer` → direct link to mcp-servers CONTRIBUTING.md; issue forms cannot open PRs, so this sends users straight down the fork → PR path instead of through an intermediate issue * `serverDefinitionBug` (new) → ?template=bug-report.yml for reporting broken definitions in the registry - `components/ConfigEditorModal.tsx` Adds the existing RequestServerCTA above the Monaco editor in the "Add Custom Server" modal. Users about to hand-roll a custom server config see a clear nudge to check whether one already exists, with Request/Contribute buttons matching the rest of the app. - `.github/ISSUE_TEMPLATE/config.yml` * Enables blank issues. * Adds three cross-repo contact links so the "New issue" chooser surfaces the registry's PR guide, Request-a-Server template, and Report-a-bug template (avoids cross-repo ticket drift). Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>
1 parent 3cd9d8a commit 9258bc3

3 files changed

Lines changed: 34 additions & 10 deletions

File tree

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
1-
blank_issues_enabled: false
1+
blank_issues_enabled: true
22
contact_links:
33
- name: Questions & Help
44
url: https://github.com/mcpmux/mcp-mux/discussions/categories/q-a
55
about: Ask questions and get help in GitHub Discussions
66
- name: Feature Ideas
77
url: https://github.com/mcpmux/mcp-mux/discussions/categories/ideas
88
about: Share and discuss feature ideas
9+
- name: Contribute a Server Definition (PR)
10+
url: https://github.com/mcpmux/mcp-servers/blob/main/CONTRIBUTING.md
11+
about: Server definitions live in the mcp-servers repo and land via PR — read the guide
12+
- name: Request a Server
13+
url: https://github.com/mcpmux/mcp-servers/issues/new?template=request-server.yml
14+
about: Ask the community to add an MCP server to the registry
15+
- name: Report a Server Definition Bug
16+
url: https://github.com/mcpmux/mcp-servers/issues/new?template=bug-report.yml
17+
about: Found a broken or incorrect server in the registry? Report it here

apps/desktop/src/components/ConfigEditorModal.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Editor, { type Monaco } from '@monaco-editor/react';
66
import type { editor } from 'monaco-editor';
77
import { useToast, ToastContainer } from '@mcpmux/ui';
88
import USER_SPACE_CONFIG_SCHEMA from '../../../../schemas/user-space.schema.json';
9+
import { RequestServerCTA } from './Contribute';
910

1011
interface ConfigEditorModalProps {
1112
spaceId: string;
@@ -221,6 +222,12 @@ export function ConfigEditorModal({ spaceId, spaceName, onClose, onSaved }: Conf
221222
</span>
222223
</div>
223224

225+
{/* Contribute / Request CTA — surfaces the registry templates so users
226+
don't have to hand-roll a definition if one already exists upstream. */}
227+
<div className="px-4 py-3 border-b border-[rgb(var(--border))] bg-[rgb(var(--surface-dim))]">
228+
<RequestServerCTA />
229+
</div>
230+
224231
{/* Editor Area */}
225232
<div className="flex-1 relative min-h-0 bg-[#1e1e1e]">
226233
{(isLoading || !editorReady) ? (

apps/desktop/src/lib/contribute.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,32 @@ export const CONTRIBUTE = {
1919
serversRepo: 'https://github.com/mcpmux/mcp-servers',
2020
/** Marketing site. */
2121
site: 'https://mcpmux.com',
22-
/** New bug report, pre-labelled. */
23-
bug: 'https://github.com/mcpmux/mcp-mux/issues/new?labels=bug',
24-
/** Feature request for the app itself. */
22+
/** New bug report, pre-filled with the bug_report template. */
23+
bug: 'https://github.com/mcpmux/mcp-mux/issues/new?template=bug_report.yml',
24+
/** Feature request for the app itself, pre-filled with the feature_request template. */
2525
featureRequest:
26-
'https://github.com/mcpmux/mcp-mux/issues/new?labels=enhancement',
26+
'https://github.com/mcpmux/mcp-mux/issues/new?template=feature_request.yml',
2727
/**
28-
* Request a new server definition in the community registry. Encodes the
29-
* user's search term into the issue title when provided.
28+
* Request a new server definition in the community registry. Opens the
29+
* `request-server.yml` issue template and encodes the user's search term
30+
* into the title when provided.
3031
*/
3132
requestServer(searchTerm?: string): string {
3233
const base =
33-
'https://github.com/mcpmux/mcp-servers/issues/new?labels=server-request';
34+
'https://github.com/mcpmux/mcp-servers/issues/new?template=request-server.yml';
3435
if (!searchTerm) return base;
35-
const title = encodeURIComponent(`Request: ${searchTerm.slice(0, 120)}`);
36+
const title = encodeURIComponent(`[Request] ${searchTerm.slice(0, 120)}`);
3637
return `${base}&title=${title}`;
3738
},
38-
/** Root of the server-definitions contributing guide. */
39+
/**
40+
* Contribute a new server definition — points at the registry's
41+
* CONTRIBUTING guide. Server definitions are JSON files landed via PR,
42+
* not issues, so we send users straight down the fork → PR path.
43+
*/
3944
contributeServer: 'https://github.com/mcpmux/mcp-servers/blob/main/CONTRIBUTING.md',
45+
/** Report a bug in an existing server definition. */
46+
serverDefinitionBug:
47+
'https://github.com/mcpmux/mcp-servers/issues/new?template=bug-report.yml',
4048
} as const;
4149

4250
/**

0 commit comments

Comments
 (0)