VS Code MCP Button Generator
# mcp-vsc-button-gen
A tiny MCP server that generates VS Code MCP install buttons (Stable + Insiders) for NPX-based servers.
- Runtime: Node (stdio transport)
- Command: npx mcp-vsc-button-gen
You can run it directly via NPX (no install):
```sh
npx mcp-vsc-button-gen
```
## Install in VS Code
[](https://insiders.vscode.dev/redirect/mcp/install?name=vsc-buttons&config=%7B%22command%22%3A%22node%22%2C%22args%22%3A%5B%22dist%2Findex.js%22%5D%7D)
[](https://insiders.vscode.dev/redirect/mcp/install?name=vsc-buttons&config=%7B%22command%22%3A%22node%22%2C%22args%22%3A%5B%22dist%2Findex.js%22%5D%7D&quality=insiders)
## Tools
- make_install_buttons
- Input: { name: string, inputs?: MCPInput[], config?: CommandConfig }
- Output: Markdown string with two badges/links.
- from_mcp_config
- Input: { name: string, mcp: { inputs?: MCPInput[], config?: CommandConfig } }
- Output: Markdown string with two badges/links.
- copilot_buttons_from_raw
- Input: { kind: 'chat-instructions' | 'chat-prompt' | 'chat-mode', url: string }
- Output: Markdown with two badges linking to vscode.dev/insiders redirect for Install
- copilot_buttons_from_github
- Input: { kind: 'chat-instructions' | 'chat-prompt' | 'chat-mode', owner: string, repo: string, path: string, branch?: string }
- Output: Markdown with two badges as above
Types:
- MCPInput: { type: 'promptString', id: string, description?: string, password?: boolean }
- CommandConfig: { command: 'npx', args?: string[], env?: Record<string,string> }
## Example
Input:
```json
{
"name": "supabase",
"inputs": [
{ "type": "promptString", "id": "supabase-access-token", "description": "Supabase personal access token", "password": true }
],
"config": {
"command": "npx",
"args": ["-y", "@supabase/mcp-server-supabase@latest", "--readonly", "--project-ref=$SUPABASE_MCP_PROJECT_REF"],
"env": {
"SUPABASE_ACCESS_TOKEN": "${input:supabase-access-token}",
"SUPABASE_MCP_PROJECT_REF": "${input:supabase-project-ref}"
}
}
}
```
Output: two markdown buttons for Stable and Insiders.
## Local dev
- Install deps
- Build
- Run via stdio (for manual testing)
### Quickstart
```sh
npm i
npm run build
node dist/index.js
```
You can also run in dev:
```sh
npm run dev
```
This server speaks MCP stdio; integrate with an MCP client to call tools.
TDQS
Scored across 4 tools
The tools are mostly distinct, each targeting a different source for generating VS Code install buttons: GitHub files, raw URLs, MCP config objects, and NPX-based servers. However, 'copilot_buttons_from_github' and 'copilot_buttons_from_raw' share a similar prefix and purpose (generating buttons from external sources), which could cause minor confusion in selection, but their descriptions clarify the specific input types.
The naming is inconsistent with mixed conventions: 'copilot_buttons_from_github' and 'copilot_buttons_from_raw' use snake_case with a 'from' preposition, while 'from_mcp_config' starts with 'from' and uses snake_case, and 'make_install_buttons' uses snake_case but with a 'make' verb. This lack of a predictable pattern (e.g., all starting with 'generate' or using consistent verb styles) reduces clarity and coherence.
With 4 tools, the count is well-scoped and appropriate for the server's purpose of generating VS Code install buttons from various sources. Each tool earns its place by covering distinct input methods, avoiding bloat while providing comprehensive coverage for the domain.
The tool set is complete for the inferred domain of generating VS Code MCP install buttons, covering all likely input sources: GitHub repositories, raw URLs, MCP config objects, and NPX-based servers. There are no obvious gaps, as this provides full lifecycle coverage for creating buttons from different data origins.