MCP server propojí Codex s daty a funkcemi, které běžně nemá k dispozici – například s administračním rozhraním webu, firemním API nebo interními podklady. V návodu si vysvětlíme princip MCP, vytvoříme jednoduchý server v Node.js a připojíme ho ke Codexu i k webu.

Co znamená MCP
Model Context Protocol (MCP) je otevřený protokol pro spojení jazykového modelu s externími nástroji a zdroji dat. MCP server nabídne Codexu přesně popsané nástroje. Codex podle jejich popisu pozná, kdy je použít, odešle validované vstupy a zpracuje výsledek.
Funguje jako bezpečný adaptér: uživatel zadá úkol, Codex vybere nástroj, MCP server ověří vstup a oprávnění, zavolá webové API a vrátí strukturovaný výsledek. Samotný model tak nepotřebuje přímý přístup do databáze.
STDIO nebo vzdálený server?
- STDIO je vhodné pro vývoj a lokální použití. Codex server spustí jako proces na stejném počítači.
- Streamable HTTP slouží pro sdílený server dostupný přes HTTPS. Podporuje token i OAuth.
Co budete potřebovat
- Node.js 20 nebo novější,
- Codex CLI nebo aplikaci Codex,
- adresu webu či dokumentaci jeho API,
- pro zápis API token s nejmenšími nutnými oprávněními.
1. Založení projektu
mkdir web-mcp
cd web-mcp
npm init -y
npm install @modelcontextprotocol/sdk zod
npm pkg set type=module
2. Jednoduchý MCP server
Vytvořte soubor server.js. Tento nástroj pouze zkontroluje dostupnost nastaveného webu:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const siteUrl = new URL(process.env.SITE_URL ?? "https://example.cz");
const server = new McpServer(
{ name: "web-mcp", version: "1.0.0" },
{ instructions: "Používej nástroj jen pro kontrolu nastaveného webu." }
);
server.registerTool("get_site_status", {
title: "Kontrola webu",
description: "Vrátí dostupnost nastaveného webu.",
inputSchema: {},
outputSchema: { url: z.string(), status: z.number(), ok: z.boolean() },
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true }
}, async () => {
const response = await fetch(siteUrl, {
headers: { "User-Agent": "web-mcp/1.0" },
signal: AbortSignal.timeout(10000)
});
const result = { url: siteUrl.toString(), status: response.status, ok: response.ok };
return {
structuredContent: result,
content: [{ type: "text", text: JSON.stringify(result) }]
};
});
await server.connect(new StdioServerTransport());
U STDIO serveru neposílejte ladicí výpisy na standardní výstup, protože by narušily protokol.
3. Připojení ke Codexu
Použijte absolutní cestu k souboru:
codex mcp add muj-web --env SITE_URL=https://www.example.cz -- node C:\mcp\web-mcp\server.js
codex mcp list
Nastavení lze zapsat také do ~/.codex/config.toml:
[mcp_servers.muj_web]
command = "node"
args = ["C:\\mcp\\web-mcp\\server.js"]
env = { SITE_URL = "https://www.example.cz" }
tool_timeout_sec = 30
V aplikaci Codex otevřete Settings → MCP servers → Add server, zvolte STDIO, vyplňte příkaz a proměnné prostředí, uložte nastavení a Codex restartujte. Připojení ověříte příkazem /mcp.
4. Propojení s webem nebo Joomla
Pro správu obsahu nahraďte funkci uvnitř nástroje voláním podporovaného API webu. U Joomla může prostřední vrstvu tvořit Joomla Web Services API nebo vlastní úzce zaměřený plugin. Konkrétní endpointy závisí na verzi Joomla a zapnutých komponentách.
Vytvořte oddělené nástroje například list_articles, get_article, create_article_draft a publish_article. Token uložte do proměnné prostředí, například JOOMLA_API_TOKEN. Bezpečnější je používat aplikační API, které zachová oprávnění redakčního systému, než přímé připojení k databázi.
5. Vzdálené připojení
[mcp_servers.muj_web]
url = "https://mcp.example.cz/mcp"
bearer_token_env_var = "MCP_TOKEN"
OAuth přihlášení spustíte příkazem codex mcp login muj-web. Veřejný endpoint chraňte autentizací, HTTPS, omezením rychlosti a auditním logem.
Bezpečnostní zásady
- Každému nástroji dejte jeden jasný úkol.
- Oddělte čtení, koncept a publikaci.
- Hesla a tokeny ukládejte do proměnných prostředí.
- Validujte vstupy a omezte povolené domény.
- Pro rizikové akce vyžadujte potvrzení uživatele.
- Do výsledků neposílejte tajné ani zbytečné osobní údaje.
Nejčastější potíže
Codex server nevidí: ověřte absolutní cestu, spusťte codex mcp list a aplikaci restartujte.
Web vrací 401 nebo 403: zkontrolujte token, oprávnění a předání proměnné prostředí.
MCP URL nefunguje: běžná adresa webu není automaticky MCP endpoint. Vzdálený server musí implementovat transport Streamable HTTP.
Kam pokračovat
Začněte nástrojem pouze pro čtení. Až po ověření přidejte ukládání konceptu a nakonec řízenou publikaci. Potřebujete propojit Codex s firemním webem nebo připravit integraci pro Joomla? Ozvěte se nám.
Zdroje
Ověřeno podle dokumentace OpenAI dne 5. září 2026.