Skip to Content

Prilis mnoho moznosti, zadna jasna cesta

Protneme sum a nastavime vas prvni MCP server

Rozhodli jste se postavit MCP server. Ale kdyz se podivate do dokumentace, okamzite stojite pred volbami: TypeScript nebo Python? stdio nebo HTTP? Jaka verze SDK? Jaka struktura projektu? Je snadne se ztratit jeste nez napisete jediny radek kodu.

Pojdme protnout ten sum a nastavit vas tim nejjednodussim zpusobem.

Vyber jazyka

VlastnostTypeScriptPython
SDK balicek@modelcontextprotocol/sdkmcp[cli]
Nejlepsi proWeb API, Node.js ekosystemyZpracovani dat, scripting, Odoo
Typova bezpecnostZod schemata (vyborne)Type hints + Pydantic
Rychly startnpx @anthropic-ai/create-mcpuvx create-mcp-server

Nase doporuceni

Pokud se pripojujete k web API nebo stavite neco od nuly, pouzijte TypeScript. Pokud pracujete s daty, skripty nebo Odoo (jako ve VaryShop ekosystemu), pouzijte Python.

TypeScript setup

Terminal
# Vytvorte adresar projektu
mkdir my-mcp-server
cd my-mcp-server

# Inicializujte projekt
npm init -y
npm install @modelcontextprotocol/sdk zod
npm install -D typescript @types/node

# Vytvorte tsconfig.json
npx tsc --init --target ES2022 --module Node16 \
  --moduleResolution Node16 --outDir dist

Vytvorte soubor serveru src/index.ts:

src/index.ts
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: "my-first-server",
  version: "1.0.0",
});

server.tool(
  "greet",
  "Greet a person by name",
  { name: z.string().describe("The person's name") },
  async ({ name }) => ({
    content: [{ type: "text", text: `Hello, ${name}!` }],
  })
);

async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
}
main();

Jen 20 radku

To je vse — 20 radku kodu pro funkcni MCP server. Registruje jeden nastroj greet, ktery prijme jmeno a vrati pozdrav.

Python setup

Terminal
# Vytvorte projekt
mkdir my-mcp-server
cd my-mcp-server

# Nastavte s uv (doporuceno)
uv init
uv add "mcp[cli]" httpx
server.py
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("my-first-server")

@mcp.tool()
def greet(name: str) -> str:
    """Greet a person by name."""
    return f"Hello, {name}!"

if __name__ == "__main__":
    mcp.run()

Jeste strucnejsi

Python FastMCP ma jen 12 radku. Dekorator @mcp.tool() automaticky prevede signaturu funkce a docstring na definici nastroje.

Transport: stdio vs. Streamable HTTP

stdio (standardni I/O)

Server bezi jako lokalni proces. Vstup/vystup jde pres stdin/stdout. Nejjednodussi a nejbeznejsi transport pro lokalni vyvoj.

Streamable HTTP

Server bezi jako webova sluzba. Komunikace pres HTTP se server-sent events. Pouzijte pro vzdalene nebo sdilene servery.

Zacnete jednoduse

Zacnete s stdio. Je jednodussi, nevyzaduje sitovou konfiguraci a Claude Code ho pouziva jako vychozi. HTTP muzete pridat kdykoli pozdeji.

Vas prvni test

MCP Inspektor
# TypeScript
npx @modelcontextprotocol/inspector node dist/index.js

# Python
mcp dev server.py

Inspektor otevre webove rozhrani, kde vidite registrovane nastroje, muzete je rucne zavolat a overit, ze funguji spravne.

Klicove shrnuti

Nastaveni MCP serveru je prekvapive jednoduche. Ve 20 radcich TypeScriptu nebo 12 radcich Pythonu mate funkcni server s registrovanym nastrojem. Tezsi cast neni setup — je to rozhodnuti jake nastroje postavit. Tim se budeme zabyvat dale.

Hodnocení
0 0

Momentálně nejsou žádné komentáře.

být první, kdo zanechá komentář.