mcp-builder
Create a new MCP server — clarify purpose, choose transport, scaffold, implement, test, and register
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Create a new MCP server — clarify purpose, choose transport, scaffold, implement, test, and register
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Set up and manage GitHub Actions workflows that use Copilot coding agents for automated PR handling and issue resolution
Inspect active GitHub Actions workflows before commit or push, run matching local checks for staged or unpushed files, ask which missing tools to install via askQuestions, and fix in-scope issues so the Commit agent can proceed.
Write a commit message following the Conventional Commits specification with scope and body
Create an Architectural Decision Record (ADR) to document a significant design or technology choice
Audit VS Code extensions against the current project stack and recommend keep/add/remove actions
Diagnose and fix a failing CI pipeline or GitHub Actions workflow
| name | mcp-builder |
| description | Create a new MCP server — clarify purpose, choose transport, scaffold, implement, test, and register |
| compatibility | >=2.0 |
Skill metadata: version "1.2"; license MIT; tags [mcp, server, tool, integration, scaffold]; compatibility ">=2.0"; recommended tools [codebase, editFiles, runCommands].
Build a new Model Context Protocol (MCP) server from scratch. This skill walks through the full lifecycle: clarifying the server's purpose, choosing transport, scaffolding, implementing tools/resources, testing, and registering the server in .vscode/mcp.json.
Ask the user:
| Transport | When to use | Trade-offs |
|---|---|---|
| stdio (recommended) | Local servers, same machine as VS Code | Simplest setup, no network config, most secure |
| SSE | Remote servers, shared team servers | Requires HTTPS in production, more complex deployment |
| Streamable HTTP | New servers targeting latest MCP spec | Newest transport, best for stateless operations |
Default to stdio unless the user has a specific reason for a remote transport.
Choose the implementation language based on the project's primary stack:
TypeScript/JavaScript (recommended for most projects):
mkdir -p .mcp-servers/<server-name>
cd .mcp-servers/<server-name>
npm init -y
npm install @modelcontextprotocol/sdk zod
npm install --save-dev tsx typescript @types/node
Create the entry point (src/index.ts or index.js):
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "<server-name>",
version: "1.0.0",
});
// Tools are registered here (Step 4)
const transport = new StdioServerTransport();
await server.connect(transport);
Python (alternative):
mkdir -p .mcp-servers/<server-name>
cd .mcp-servers/<server-name>
uv init && uv add mcp
For each tool identified in Step 1:
server.tool(
"<tool-name>",
"<one-sentence description>",
{ param: z.string().describe("what this parameter does") },
async ({ param }) => {
// Implementation
return { content: [{ type: "text", text: result }] };
}
);
Rules:
npx @modelcontextprotocol/inspector tsx .mcp-servers/<server-name>/src/index.ts
Python alternative:
npx @modelcontextprotocol/inspector python .mcp-servers/<server-name>/main.py
Verify:
Beyond tools, MCP servers can expose:
| Capability | Purpose | VS Code access |
|---|---|---|
| Resources | Read-only data context (files, schemas, API docs) | Chat → Add Context → MCP Resources |
| Prompts | Pre-configured prompt templates | Type /<server>.<prompt> in chat |
| MCP Apps | Interactive UI (forms, visualisations, drag-and-drop) | Rendered inline in chat |
Add resources when the server has data the agent should reference. Add prompts when there are common task patterns. Consider MCP Apps (using @modelcontextprotocol/ext-apps SDK) for interactive output.
.vscode/mcp.jsonAdd the server to the project's MCP configuration:
{
"<server-name>": {
"type": "stdio",
"command": "npx",
"args": ["tsx", ".mcp-servers/<server-name>/src/index.ts"],
"env": {
"API_KEY": "${env:SERVER_NAME_API_KEY}"
}
}
}
Note: For production use, compile TypeScript first (
npx tsc) and reference the compiled JS output instead of runningtsxat runtime.
.github/copilot-instructions.mdTo bundle the server as part of an agent plugin for sharing:
Create .mcp.json at the plugin root (uses mcpServers key, not servers):
{
"mcpServers": {
"<server-name>": {
"command": "${CLAUDE_PLUGIN_ROOT}/servers/<server-name>",
"args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"]
}
}
}
Use ${CLAUDE_PLUGIN_ROOT} for all path references within the plugin
Plugin MCP servers start automatically on enable and are implicitly trusted
initialize request.vscode/mcp.json is valid JSON with the new server entry