MCP कॉन्फ़िग और सर्वर स्कैफ़ोल्ड
MCP के ज़रिए Claude को टूल्स से जोड़ने के लिए कॉपी-पेस्ट स्टार्टर। अपनी ज़रूरत के अनुसार छाँटें।
.mcp.json — सर्वर घोषित करें (प्रोजेक्ट-शेयर्ड)
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"]
}
}
}
:::warning सीक्रेट्स को फ़ाइल से बाहर रखें
env वैरिएबल्स (${GITHUB_TOKEN}) का संदर्भ दें — कमिट की गई फ़ाइल में टोकन को हार्ड-कोड न करें।
:::
न्यूनतम stdio सर्वर (TypeScript)
एक छोटा सर्वर जो एक टूल एक्सपोज़ करता है। हैंडलर को अपने डेटा के अनुसार अनुकूलित करें।
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: "echo", version: "1.0.0" });
server.tool(
"echo",
{ text: z.string().describe("Text to echo back") },
async ({ text }) => ({ content: [{ type: "text", text: `You said: ${text}` }] }),
);
await server.connect(new StdioServerTransport());
न्यूनतम stdio सर्वर (Python)
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("echo")
@mcp.tool()
def echo(text: str) -> str:
"""Echo the text back."""
return f"You said: {text}"
if __name__ == "__main__":
mcp.run() # stdio transport
सर्वर शिप करने से पहले
- न्यूनतम विशेषाधिकार — केवल वही डेटा/क्रियाएँ जिनकी इसे ज़रूरत है (एजेंट्स को सुरक्षित करना)।
- इनपुट को वैलिडेट करें; त्रुटियों को परिणाम के रूप में लौटाएँ, क्रैश न करें।
- थर्ड-पार्टी सर्वर की समीक्षा करें जोड़ने से पहले (थर्ड-पार्टी कोड की समीक्षा करना)।