Pri práci s n8n API sme narazili na problém s funkciou update_workflow. Táto funkcia, ktorá by mala umožňovať aktualizáciu existujúcich pracovných tokov (workflows), neustále vracala chybovú správu:
MCP error 1003: request/body must NOT have additional properties
Problém bol frustrujúci najmä preto, že ostatné API funkcie pre prácu s workflow (list_workflows, get_workflow, create_workflow, activate_workflow, deactivate_workflow, delete_workflow) fungovali správne.
Riešenie
Po dôkladnom testovaní a analýze sme odhalili niekoľko kľúčových problémov s implementáciou volania update_workflow:
Nesprávne umiestnenie identifikátora workflow – ID workflow musí byť len v URL ceste, nie v tele JSON požiadavky
Chýbajúce povinné polia – v tele JSON požiadavky chýbala sekcia settings
Použitie read-only polí – pole active je len na čítanie a nemôže byť súčasťou požiadavky na aktualizáciu
Ako správne volať update_workflow
Pre správne fungovanie je potrebné dodržať presný formát požiadavky:
ID workflow musí byť v URL ceste: /api/v1/workflows/{workflowId}
Telo JSON požiadavky musí obsahovať tieto sekcie:
name: názov workflow
nodes: pole uzlov workflow
connections: objekt prepojení (môže byť prázdny)
settings: nastavenia workflow
Pre aktiváciu/deaktiváciu workflow je potrebné používať samostatné API endpointy activate_workflow a deactivate_workflow, keďže parameter active je len na čítanie.
Kompletné riešenie
Kompletné riešenie vrátane ukážkového kódu a podrobného vysvetlenia nájdete v našom verejnom GitHub Giste:
Tieto dokumenty obsahujú ukážky funkčného kódu, vysvetlenie štruktúry API, popis chýb, ktorým sa treba vyhnúť, a príklady správnych volaní funkcie.
Záver
Tento problém dobre ilustruje dôležitosť presného pochopenia API dokumentácie a testovanie jednotlivých komponentov. V prípade n8n API je kľúčové správne pochopiť, ktoré parametre sa nachádzajú v URL a ktoré v tele požiadavky, ako aj identifikovať povinné polia, bez ktorých API vráti chybu.
Dúfame, že naše riešenie pomôže ostatným vývojárom, ktorí narazia na podobný problém pri práci s n8n API.
Claude Desktop je desktopová aplikácia vyvinutá spoločnosťou Anthropic, ktorá slúži ako rozhranie pre ich pokročilý AI model Claude. Táto aplikácia je navrhnutá tak, aby umožnila používateľom efektívne využívať schopnosti Claude priamo na ich počítači, a to vrátane integrácie s externými zdrojmi dát a nástrojmi prostredníctvom Model Context Protocol (MCP). MCP je otvorený štandard, ktorý Anthropic vytvoril na zjednodušenie a štandardizáciu pripojenia AI modelov, ako je Claude, k rôznym systémom a dátovým zdrojom. Poďme sa na to pozrieť podrobnejšie.
Čo je Claude Desktop?
Claude Desktop je klientska aplikácia dostupná pre operačné systémy ako macOS a Windows (Linux zatiaľ nie je podporovaný). Umožňuje používateľom interagovať s Claude – vysoko výkonným AI modelom od Anthropic – priamo z ich pracovnej plochy. Na rozdiel od webového rozhrania ponúka desktopová verzia hlbšiu integráciu s lokálnym prostredím a možnosť pripojenia k MCP serverom, čím rozširuje funkcionalitu AI o prístup k lokálnym súborom, databázam alebo externým službám.
Hlavné vlastnosti Claude Desktop zahŕňajú:
Lokálna integrácia: Možnosť pracovať s dátami na vašom počítači (napr. súbory, priečinky, databázy).
Podpora MCP: Pripojenie k MCP serverom, ktoré rozširujú schopnosti Claude o interakciu s externými nástrojmi a zdrojmi.
Jednoduché použitie: Intuitívne rozhranie, kde môžete zadávať príkazy a získavať odpovede od Claude, pričom aplikácia automaticky rozpozná, kedy použiť pripojené nástroje.
Čo je Model Context Protocol (MCP)?
MCP je kľúčovou technológiou, ktorá odlišuje Claude Desktop od iných AI riešení. Ide o otvorený protokol, ktorý definuje štandardizovaný spôsob, akým môžu AI modely komunikovať s externými zdrojmi dát a nástrojmi. MCP funguje na báze klient-server architektúry:
MCP Hostitelia: Aplikácie ako Claude Desktop, ktoré iniciujú spojenie so servermi a využívajú ich schopnosti.
MCP Klienti: Komponenty v rámci hostiteľa, ktoré udržiavajú priame spojenie so servermi.
MCP Servery: Ľahké programy, ktoré poskytujú špecifické funkcie – napríklad prístup k súborovému systému, databázam (napr. PostgreSQL), alebo externým službám (GitHub, Google Drive, Slack).
MCP servery môžu ponúkať tri hlavné typy funkcií:
Zdroje (Resources): Dáta, ktoré môže Claude čítať, ako sú súbory, odpovede z API alebo obsah databáz.
Nástroje (Tools): Funkcie, ktoré môže Claude volať, ako je vyhľadávanie na webe alebo editácia súborov (po schválení používateľom).
Šablóny (Prompts): Predpripravené príkazy, ktoré uľahčujú vykonávanie špecifických úloh.
Ako funguje pripojenie Claude Desktop k MCP serverom?
Claude Desktop sa pripája k MCP serverom prostredníctvom konfiguračného súboru (claude_desktop_config.json), ktorý definuje, ktoré servery sa majú spustiť a ako sa majú správať. Tento súbor sa zvyčajne nachádza v systémovom priečinku aplikácie (napr. na macOS v ~/Library/Application Support/Claude/).
Príklad konfigurácie:
Predstavme si, že chcete pripojiť Claude k MCP serveru pre vyhľadávanie na webe cez Brave Search:
command: Spúšťa Node.js príkaz npx na inštaláciu a beh servera.
args: Špecifikuje, ktorý MCP server sa má použiť (tu @modelcontextprotocol/server-brave-search).
env: Definuje premenné prostredia, ako je API kľúč pre Brave Search.
Po uložení konfigurácie a reštarte Claude Desktop sa v rozhraní aplikácie objaví ikona nástrojov (napr. kladivo v pravom dolnom rohu). Kliknutím na ňu vidíte dostupné nástroje, ktoré Claude môže použiť. Napríklad, ak poviete: „Vyhľadaj na webe informácie o MCP,“ Claude automaticky využije Brave Search server a vráti výsledky.
Tu Claude získa prístup k súborom na pracovnej ploche a môže ich čítať alebo editovať (po vašom súhlase).
Výhody pripojenia k MCP serverom
Rozšírenie funkcionality: Claude už nie je obmedzený na svoje interné vedomosti – môže pracovať s aktuálnymi dátami z webu, databáz alebo lokálnych súborov.
Flexibilita: Používatelia aj vývojári môžu vytvárať vlastné MCP servery pre špecifické potreby (napr. integrácia s QuickBooks, Notion alebo Terraform).
Bezpečnosť: MCP servery bežia lokálne a vyžadujú explicitný súhlas používateľa pre citlivé operácie, čím sa minimalizuje riziko úniku dát.
Praktické použitie
Vývojári: Môžu vytvárať vlastné MCP servery v jazykoch ako Python alebo TypeScript pomocou SDK od Anthropic a integrovať Claude s ich vlastnými systémami.
Bežní používatelia: Môžu využiť predpripravené servery (napr. pre GitHub, Slack, alebo súborový systém) na automatizáciu úloh, ako je správa kódových repozitárov alebo sumarizácia dokumentov.
Obmedzenia
Lokálna prevádzka: MCP servery momentálne musia bežať na vašom zariadení (podpora vzdialených serverov je vo vývoji).
Technická náročnosť: Konfigurácia vyžaduje určité technické znalosti, čo môže byť prekážkou pre netechnických používateľov.
Kompatibilita: Zatiaľ plná podpora iba na macOS a Windows.
Záver
Claude Desktop v kombinácii s MCP servermi prináša revolučný spôsob, ako prepojiť AI s reálnym svetom dát a nástrojov. Táto technológia umožňuje Claude prekročiť limity tradičných konverzačných modelov a stať sa skutočným asistentom, ktorý vie pracovať s vašimi súbormi, databázami či online službami. Ak vás zaujíma, ako to vyskúšať, stačí si stiahnuť Claude Desktop z oficiálnej stránky Anthropic a začať experimentovať s dostupnými MCP servermi z ich GitHub repozitára!
Áno, rozumiem zadaniu. Potrebujete reálne a funkčné odkazy na zdroje, z ktorých som čerpal informácie o Claude Desktop a Model Context Protocol (MCP), nie hypotetické. Moje predchádzajúce odpovede obsahovali predpokladané odkazy, pretože ako Grok 3 nemám priamy prístup k aktuálnym webovým stránkam v reálnom čase, ale pracujem s informáciami, ktoré sú mi dostupné a aktualizované k marcu 2025. Teraz využijem dostupné výsledky vyhľadávania, aby som poskytol overené a funkčné odkazy na relevantné zdroje. Tu sú reálne linky:
Oficiálna stránka Anthropic – Úvod do Model Context Protocol (MCP) https://www.anthropic.com/news/model-context-protocol Popis: Tento článok z 24. novembra 2024 predstavuje MCP ako otvorený štandard na prepojenie AI asistentov s dátovými zdrojmi a nástrojmi. Obsahuje základné informácie o jeho účele a použití s Claude Desktop.
Dokumentácia Anthropic – Model Context Protocol (MCP) https://docs.anthropic.com/en/docs/model-context-protocol Popis: Oficiálna technická dokumentácia od Anthropic, ktorá vysvetľuje, ako MCP funguje, vrátane konfigurácie pre Claude Desktop a príkladov integrácie.
Model Context Protocol – Quickstart pre vývojárov https://modelcontextprotocol.io/quickstart Popis: Praktický sprievodca na začiatok práce s MCP, vrátane nastavenia serverov a ich prepojenia s Claude Desktop. Obsahuje podrobnosti o architektúre a konfigurácii.
GitHub – MCP Server Repozitár https://github.com/modelcontextprotocol/servers Popis: Open-source repozitár s predpripravenými MCP servermi (napr. pre GitHub, Slack, súborový systém), ktoré sú kompatibilné s Claude Desktop. Aktualizované k 14. marcu 2025.
Claude Desktop – Nastavenie MCP (Pre používateľov) https://modelcontextprotocol.io/docs/desktop-users Popis: Špecifický návod pre používateľov Claude Desktop na pridanie a konfiguráciu MCP serverov, ako je napríklad prístup k súborovému systému.
Krátky popis: Preskúmajte, ktoré MCP servery, ako Filesystem či GitHub, a desktopové hosty, ako Claude Desktop, sú bežne dostupné pre integráciu AI modelov s nástrojmi a dátami. Zistite, ako fungujú a čo môžu ponúknuť.
Úvod
Model Context Protocol (MCP) je otvorený protokol, ktorý umožňuje AI modelom, ako je Claude, interagovať s rôznymi systémami a aplikáciami prostredníctvom lokálnych serverov. Tento článok sa zameriava na bežne dostupné MCP servery a desktopové hosty podobné Claude Desktop, ich funkcie a potenciál k marcu 2025.
Bežne dostupné MCP servery
Výskum naznačuje, že bežne dostupné MCP servery zahŕňajú základné nástroje, ako sú Filesystem pre prácu so súbormi, databázové servery ako PostgreSQL a SQLite, cloudové úložisko ako Google Drive, systémy na správu verzií ako Git, GitHub a GitLab, sledovanie chýb ako Sentry a vyhľadávanie ako Brave Search. Tieto servery umožňujú AI modelom, ako je Claude, interagovať s rôznymi dátovými zdrojmi a nástrojmi.
Okrem toho môžu existovať komunitné servery, ako napríklad Home Assistant pre domácu automatizáciu alebo EverArt pre AI generáciu obrázkov, hoci ich rozšírenie je zatiaľ menšie.
Bežne dostupné desktopové hosty
Hlavným bežne dostupným desktopovým hostom je Claude Desktop, aplikácia od Anthropic, ktorá umožňuje AI modelom pripojiť sa k MCP serverom a rozšíriť ich schopnosti. Ďalšou možnosťou je CLI nástroj mcphost, ktorý je menej známy a určený skôr pre vývojárov. Iné podobné hosty zatiaľ nie sú široko známe.
Nečakaný detail
Zaujímavé je, že MCP servery môžu poskytovať prístup aj k menej očakávaným zdrojom, ako sú predpovede počasia cez Weather Server alebo integrácia s domácou automatizáciou, čím rozširujú možnosti AI za tradičné použitie.
Podrobná analýza MCP serverov
MCP servery sú ľahké programy, ktoré vystavujú špecifické schopnosti, ako prístup k súborom, databázam či API. Podľa oficiálnej stránky MCP a GitHub repozitára zahŕňajú referenčné implementácie:
Filesystem: Bezpečné operácie so súbormi.
PostgreSQL: Prístup k databázam na čítanie.
SQLite: Interakcia s databázami a BI funkcie.
Google Drive: Prístup k súborom a vyhľadávanie.
Git: Manipulácia s Git repozitármi.
GitHub: Správa repozitárov cez API.
GitLab: Integrácia s projektmi.
Sentry: Analýza problémov.
Brave Search: Vyhľadávanie na webe.
Komunitné servery ako EverArt (AI obrázky) alebo Weather (počasie) pridávajú špecifické funkcie, ale ich popularita je nižšia.
Server
Primárna funkcia
Dostupnosť
Filesystem
Bezpečné operácie so súbormi
Oficiálny, široko používaný
PostgreSQL
Prístup k databázam, inšpekcia schémy
Oficiálny, široko používaný
SQLite
Interakcia s databázami, BI funkcie
Oficiálny, široko používaný
Google Drive
Prístup k súborom, vyhľadávanie
Oficiálny, široko používaný
Git
Manipulácia s Git repozitármi
Oficiálny, široko používaný
GitHub
Správa repozitárov, API integrácia
Oficiálny, široko používaný
GitLab
Správa projektov cez API
Oficiálny, široko používaný
Sentry
Analýza problémov zo Sentry.io
Oficiálny, široko používaný
Brave Search
Vyhľadávanie na webe a lokálne
Oficiálny, široko používaný
EverArt
AI generácia obrázkov
Komunitný, menej rozšírený
Weather
Získavanie predpovedí počasia
Príklad, menej rozšírený
Home Assistant
Integrácia domácej automatizácie
Komunitný, špecifický
Podrobná analýza desktopových hostov
Desktopové hosty sú aplikácie, ktoré umožňujú AI modelom pripojiť sa k MCP serverom. Hlavným hostom je Claude Desktop od Anthropic, široko dostupná aplikácia pre integráciu s AI modelmi. Alternatívou je mcphost, CLI nástroj na GitHub (mark3labs/mcphost), určený pre vývojárov, no menej rozšírený.
Iné hosty, ako napríklad IDE alebo AI nástroje (napr. Cursor spomenutý na Raygun Blog), môžu existovať, ale nie sú zatiaľ široko známe.
Host
Popis
Dostupnosť
Claude Desktop
Desktopová aplikácia pre AI od Anthropic
Široko dostupný, primárny host
mcphost
CLI nástroj pre vývojárov
Menej známy, pre vývojárov
Záver
MCP ponúka širokú škálu bežne dostupných serverov, od Filesystem po Brave Search, s potenciálom rozšírenia cez komunitné projekty. Claude Desktop je hlavným desktopovým hostom, doplneným menej známym mcphost. Tieto nástroje otvárajú dvere k pokročilej integrácii AI s dátami a systémami.
Krátky popis: Preskúmajte, ktoré MCP servery, ako Filesystem či GitHub, a desktopové hosty, ako Claude Desktop, sú bežne dostupné pre integráciu AI modelov s nástrojmi a dátami. Zistite, ako fungujú a čo môžu ponúknuť.
Úvod
Model Context Protocol (MCP) je otvorený protokol, ktorý umožňuje AI modelom, ako je Claude, interagovať s rôznymi systémami a aplikáciami prostredníctvom lokálnych serverov. Tento článok sa zameriava na bežne dostupné MCP servery a desktopové hosty podobné Claude Desktop, ich funkcie a potenciál k marcu 2025.
Bežne dostupné MCP servery
Výskum naznačuje, že bežne dostupné MCP servery zahŕňajú základné nástroje, ako sú Filesystem pre prácu so súbormi, databázové servery ako PostgreSQL a SQLite, cloudové úložisko ako Google Drive, systémy na správu verzií ako Git, GitHub a GitLab, sledovanie chýb ako Sentry a vyhľadávanie ako Brave Search. Tieto servery umožňujú AI modelom, ako je Claude, interagovať s rôznymi dátovými zdrojmi a nástrojmi.
Okrem toho môžu existovať komunitné servery, ako napríklad Home Assistant pre domácu automatizáciu alebo EverArt pre AI generáciu obrázkov, hoci ich rozšírenie je zatiaľ menšie.
Bežne dostupné desktopové hosty
Hlavným bežne dostupným desktopovým hostom je Claude Desktop, aplikácia od Anthropic, ktorá umožňuje AI modelom pripojiť sa k MCP serverom a rozšíriť ich schopnosti. Ďalšou možnosťou je CLI nástroj mcphost, ktorý je menej známy a určený skôr pre vývojárov. Iné podobné hosty zatiaľ nie sú široko známe.
Nečakaný detail
Zaujímavé je, že MCP servery môžu poskytovať prístup aj k menej očakávaným zdrojom, ako sú predpovede počasia cez Weather Server alebo integrácia s domácou automatizáciou, čím rozširujú možnosti AI za tradičné použitie.
Podrobná analýza MCP serverov
MCP servery sú ľahké programy, ktoré vystavujú špecifické schopnosti, ako prístup k súborom, databázam či API. Podľa oficiálnej stránky MCP a GitHub repozitára zahŕňajú referenčné implementácie:
Filesystem: Bezpečné operácie so súbormi.
PostgreSQL: Prístup k databázam na čítanie.
SQLite: Interakcia s databázami a BI funkcie.
Google Drive: Prístup k súborom a vyhľadávanie.
Git: Manipulácia s Git repozitármi.
GitHub: Správa repozitárov cez API.
GitLab: Integrácia s projektmi.
Sentry: Analýza problémov.
Brave Search: Vyhľadávanie na webe.
Komunitné servery ako EverArt (AI obrázky) alebo Weather (počasie) pridávajú špecifické funkcie, ale ich popularita je nižšia.
Server
Primárna funkcia
Dostupnosť
Filesystem
Bezpečné operácie so súbormi
Oficiálny, široko používaný
PostgreSQL
Prístup k databázam, inšpekcia schémy
Oficiálny, široko používaný
SQLite
Interakcia s databázami, BI funkcie
Oficiálny, široko používaný
Google Drive
Prístup k súborom, vyhľadávanie
Oficiálny, široko používaný
Git
Manipulácia s Git repozitármi
Oficiálny, široko používaný
GitHub
Správa repozitárov, API integrácia
Oficiálny, široko používaný
GitLab
Správa projektov cez API
Oficiálny, široko používaný
Sentry
Analýza problémov zo Sentry.io
Oficiálny, široko používaný
Brave Search
Vyhľadávanie na webe a lokálne
Oficiálny, široko používaný
EverArt
AI generácia obrázkov
Komunitný, menej rozšírený
Weather
Získavanie predpovedí počasia
Príklad, menej rozšírený
Home Assistant
Integrácia domácej automatizácie
Komunitný, špecifický
Podrobná analýza desktopových hostov
Desktopové hosty sú aplikácie, ktoré umožňujú AI modelom pripojiť sa k MCP serverom. Hlavným hostom je Claude Desktop od Anthropic, široko dostupná aplikácia pre integráciu s AI modelmi. Alternatívou je mcphost, CLI nástroj na GitHub (mark3labs/mcphost), určený pre vývojárov, no menej rozšírený.
Iné hosty, ako napríklad IDE alebo AI nástroje (napr. Cursor spomenutý na Raygun Blog), môžu existovať, ale nie sú zatiaľ široko známe.
Host
Popis
Dostupnosť
Claude Desktop
Desktopová aplikácia pre AI od Anthropic
Široko dostupný, primárny host
mcphost
CLI nástroj pre vývojárov
Menej známy, pre vývojárov
Záver
MCP ponúka širokú škálu bežne dostupných serverov, od Filesystem po Brave Search, s potenciálom rozšírenia cez komunitné projekty. Claude Desktop je hlavným desktopovým hostom, doplneným menej známym mcphost. Tieto nástroje otvárajú dvere k pokročilej integrácii AI s dátami a systémami.
Zdá sa, že Model Context Protocol (MCP) umožňuje AI modelom, ako je Claude, ovládať programy ako Blender a Obsidian prostredníctvom lokálnych serverov, ale nie je isté, či môže ovládať akýkoľvek program na PC bez špecifických nastavení.
Vývoj vlastného MCP servera je možný pomocou SDK, ako Python alebo Typescript, s dostupnou dokumentáciou na modelcontextprotocol.io.
Research naznačuje, že MCP servery sa spúšťajú lokálne a podporujú desktopové hosty, ako Claude Desktop, poskytovaním dát a funkcií.
Úvod
Tento príspevok vysvetľuje, ako Model Context Protocol (MCP) umožňuje AI modelom interagovať s rôznymi softvérmi a ako môžete začať s vývojom vlastného servera. Zameriavame sa na to, ako funguje MCP, jeho dokumentáciu, príklady a kroky na vytvorenie vlastného servera.
Čo je MCP a ako funguje?
Model Context Protocol (MCP) je otvorený protokol, ktorý štandardizuje, ako aplikácie poskytujú kontext veľkým jazykovým modelom (LLM). Zdá sa, že umožňuje AI, ako je Claude, ovládať programy, ako Blender a Obsidian, prostredníctvom špecifických serverov, ktoré bežia lokálne na počítači. Tieto servery fungujú ako most medzi AI a aplikáciami, umožňujúc priame ovládanie prostredníctvom prirodzeného jazyka.
Research naznačuje, že MCP používa architektúru klient-server, kde desktopové hosty, ako Claude Desktop, sa pripájajú k lokálnym serverom na využitie ich funkcií. To znamená, že servery poskytujú dáta a nástroje, ktoré hostiteľ môže použiť na rozšírenie schopností AI.
Nečakaný detail
Zaujímavé je, že MCP môže tiež interagovať so súborovým systémom, čo by mohlo nepriamo ovplyvniť programy, ktoré čítajú alebo zapisujú súbory, hoci to nie je priame ovládanie.
Podrobná analýza
Táto sekcia poskytuje hlbší pohľad na Model Context Protocol (MCP), jeho dokumentáciu, príklady, spôsob spúšťania serverov lokálne, podporu desktopových hostov a proces vývoja vlastného servera. Informácie sú založené na oficiálnych zdrojoch a analýze ich funkcií, pričom sa zameriavame na technické detaily a praktické príklady.
Čo je Model Context Protocol (MCP)?
MCP je otvorený protokol, ktorý štandardizuje, ako aplikácie poskytujú kontext veľkým jazykovým modelom (LLM). Je prirovnávaný k USB-C portu pre AI aplikácie, čo znamená, že poskytuje štandardizovaný spôsob pripojenia AI modelov k rôznym zdrojom dát a nástrojom. Jeho cieľom je pomôcť pri budovaní agentov a komplexných pracovných postupov na vrchole LLM, ktoré často potrebujú integráciu s dátami a nástrojmi.
MCP Hosty: Programy ako Claude Desktop, IDE alebo AI nástroje, ktoré chcú pristupovať k dátam prostredníctvom MCP.
MCP Servery: Ľahké programy, ktoré vystavujú špecifické schopnosti prostredníctvom štandardizovaného MCP.
Lokálne zdroje dát: Súbory, databázy a služby na počítači, ku ktorým môžu servery MCP bezpečne pristupovať.
Vzdialené služby: Externé systémy dostupné cez internet (napr. cez API), ku ktorým sa servery môžu pripojiť.
Tento protokol začal ako projekt spoločnosti Anthropic, ale je teraz otvorený a podporovaný viacerými vývojármi, čo naznačuje, že sa môže stať novým štandardom pre interakcie AI s nástrojmi.
Oficiálna dokumentácia a zdroje
Hlavným zdrojom dokumentácie je webová stránka modelcontextprotocol.io, ktorá obsahuje úvod, koncepty, nástroje a sprievodcu prispievaním. GitHub organizácia modelcontextprotocol hostí rôzne repozitáre, vrátane:
Servers: Repozitár pre MCP servery, vrátane implementácií v JavaScript a Python.
Python SDK: Oficiálny Python SDK pre servery a klientov MCP, s príkladmi a návodmi.
Typescript SDK: Oficiálny Typescript SDK, tiež s podporou pre vývoj serverov.
Dokumentácia: Repozitár pre špecifikáciu a dokumentáciu MCP.
Pre podrobné informácie o špecifikácii protokolu je k dispozícii stránka spec.modelcontextprotocol.io, ktorá presmeruje na najnovšiu verziu dokumentu.
Príklady serverov MCP
Existujú konkrétne príklady serverov, ktoré ilustrujú, ako MCP funguje v praxi:
Blender MCP Server: Umožňuje Claudovi ovládať Blender, populárny softvér na 3D modelovanie, prostredníctvom príkazov v prirodzenom jazyku, ako napríklad „vytvoriť červenú kovovú guľu“. Podrobnosti sú k dispozícii na Blender MCP.
Obsidian MCP Server: Umožňuje Claudovi spravovať poznámky v Obsidian, vrátane čítania, vytvárania a úpravy dokumentov. Príklady implementácií sú na GitHub, ako mcp-obsidian a obsidian-mcp.
Tieto príklady ukazujú, ako MCP servery môžu rozšíriť schopnosti AI na ovládanie špecifických aplikácií, ak sú k dispozícii vhodné servery.
Ako sa servery spúšťajú lokálne
Servery MCP sú navrhnuté tak, aby sa mohli spúšťať lokálne na počítači používateľa, čo umožňuje bezpečný prístup k lokálnym zdrojom dát. Podľa repozitára serverov modelcontextprotocol/servers, existujú dva hlavné spôsoby spustenia:
Typ servera
Príkaz na spustenie
Detaily
Typescript-based
npx -y @modelcontextprotocol/server-memory
Používa sa npx na spustenie, napríklad pre pamäťový server.
Python-based
uvx mcp-server alebo pip install mcp-server then python -m mcp_server
Používa uvx (odporúčané) alebo pip, potom python -m mcp_server.
Pre spustenie servera v prostredí ako Claude Desktop, je potrebné nakonfigurovať server v konfiguračnom súbore, napríklad:
Táto konfigurácia umožňuje klientovi MCP, ako je Claude Desktop, pripojiť sa k serveru a využívať jeho schopnosti.
Podpora desktopových hostov
Desktopové hosty, ako Claude Desktop, sú MCP klientmi, ktorí sa pripájajú k lokálnym serverom na využitie ich funkcií. Podpora desktopových hostov znamená, že servery poskytujú dáta a nástroje, ktoré hostiteľ môže použiť na rozšírenie schopností AI. Napríklad:
Server pre súborový systém môže umožniť Claudovi čítať a zapisovať súbory na počítači.
Server pre Blender umožňuje prirodzené jazykové ovládanie 3D modelovania.
Podľa modelcontextprotocol.io/introduction, architektúra MCP umožňuje 1:1 spojenie medzi hostiteľom (klientom) a servermi, čo znamená, že desktopový hostiteľ, ako Claude Desktop, môže komunikovať s viacerými servermi súčasne, čím získava prístup k rôznym zdrojom a nástrojom.
Ako začať s vývojom vlastného servera
Vývoj vlastného servera MCP zahŕňa niekoľko krokov, ktoré závisia od zvoleného programovacieho jazyka a SDK. Tu je podrobný postup:
Vyberte SDK: MCP poskytuje SDK pre rôzne jazyky, vrátane Python, Typescript, Java, C#, Rust a Kotlin. Napríklad:
Nainštalujte SDK: Pre Python, použite uv add "mcp[cli]" alebo pip install mcp. Pre Typescript, použite npm alebo yarn na inštaláciu balíka.
Vytvorte server: Použite triedy a dekorátory poskytované SDK na definovanie zdrojov, nástrojov a výziev. Príklad pre Python pomocou FastMCP:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("MyServer")
@mcp.tool()
def add(a: int, b: int) -> int:
return a + b
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
return f"Hello, {name}!"
Spustite server: V režime vývoja použite mcp dev server.py alebo priamo python server.py. Pre integráciu s Claude Desktop, použite mcp install server.py --name "My Custom Server".
Testujte a ladte: Použite nástroje ako MCP Inspector (modelcontextprotocol.io/docs/tools/inspector) na testovanie a ladenie servera. Monitorujte logy a zabezpečte správnu konfiguráciu.
Pre pokročilé použitie, môžete implementovať vlastné životné cykly servera pomocou nízkourovňových tried, ako je Server v Python SDK, a prispôsobiť logovanie a zabezpečenie podľa potrieb.
Príklady a najlepšie praktiky
Existujú príklady serverov, ktoré môžu slúžiť ako inšpirácia:
Echo Server: Demonštruje zdroje, nástroje a výzvy v Python SDK.
SQLite Explorer: Ukazuje integráciu databáz pomocou @mcp.resource a @mcp.tool.
Najlepšie praktiky zahŕňajú štruktúrované logovanie, zabezpečenie (napr. maskovanie osobných údajov), a sledovanie výkonu, ako je uvedené v dokumentácii modelcontextprotocol.io/docs.
Záver
MCP je silný nástroj na integráciu LLM s externými systémami, ktorý umožňuje vývoj lokálnych serverov na rozšírenie schopností AI. Spustením serverov lokálne a vývojom vlastných serverov pomocou dostupných SDK môžete vytvoriť prispôsobené riešenia pre špecifické aplikácie, ako je ovládanie After Effects, ak existuje vhodná API integrácia.
10 Najlepších AI nástrojov pre osobných trénerov (február 2025)
Personálni tréneri majú v dnešnej dobe k dispozícii množstvo nástrojov, ktoré im môžu pomôcť v ich práci. V tomto článku sa pozrieme na desiatku najlepších AI nástrojov, ktoré by nemali chýbať v žiadnom z ich arzenálu. Tieto nástroje im môžu pomôcť s optimalizáciou tréningových plánov, sledovaním progresu ich klientov či dokonca vytváraním personalizovaných diét a cvikových plánov.
Pri práci s n8n API sme narazili na problém s funkciou update_workflow. Táto funkcia, ktorá by mala umožňovať aktualizáciu existujúcich pracovných tokov (workflows), neustále vracala chybovú správu:
MCP error 1003: request/body must NOT have additional properties
Problém bol frustrujúci najmä preto, že ostatné API funkcie pre prácu s workflow (list_workflows, get_workflow, create_workflow, activate_workflow, deactivate_workflow, delete_workflow) fungovali správne.
Riešenie
Po dôkladnom testovaní a analýze sme odhalili niekoľko kľúčových problémov s implementáciou volania update_workflow:
Nesprávne umiestnenie identifikátora workflow – ID workflow musí byť len v URL ceste, nie v tele JSON požiadavky
Chýbajúce povinné polia – v tele JSON požiadavky chýbala sekcia settings
Použitie read-only polí – pole active je len na čítanie a nemôže byť súčasťou požiadavky na aktualizáciu
Ako správne volať update_workflow
Pre správne fungovanie je potrebné dodržať presný formát požiadavky:
ID workflow musí byť v URL ceste: /api/v1/workflows/{workflowId}
Telo JSON požiadavky musí obsahovať tieto sekcie:
name: názov workflow
nodes: pole uzlov workflow
connections: objekt prepojení (môže byť prázdny)
settings: nastavenia workflow
Pre aktiváciu/deaktiváciu workflow je potrebné používať samostatné API endpointy activate_workflow a deactivate_workflow, keďže parameter active je len na čítanie.
Kompletné riešenie
Kompletné riešenie vrátane ukážkového kódu a podrobného vysvetlenia nájdete v našom verejnom GitHub Giste:
Tieto dokumenty obsahujú ukážky funkčného kódu, vysvetlenie štruktúry API, popis chýb, ktorým sa treba vyhnúť, a príklady správnych volaní funkcie.
Záver
Tento problém dobre ilustruje dôležitosť presného pochopenia API dokumentácie a testovanie jednotlivých komponentov. V prípade n8n API je kľúčové správne pochopiť, ktoré parametre sa nachádzajú v URL a ktoré v tele požiadavky, ako aj identifikovať povinné polia, bez ktorých API vráti chybu.
Dúfame, že naše riešenie pomôže ostatným vývojárom, ktorí narazia na podobný problém pri práci s n8n API.
Claude Desktop je desktopová aplikácia vyvinutá spoločnosťou Anthropic, ktorá slúži ako rozhranie pre ich pokročilý AI model Claude. Táto aplikácia je navrhnutá tak, aby umožnila používateľom efektívne využívať schopnosti Claude priamo na ich počítači, a to vrátane integrácie s externými zdrojmi dát a nástrojmi prostredníctvom Model Context Protocol (MCP). MCP je otvorený štandard, ktorý Anthropic vytvoril na zjednodušenie a štandardizáciu pripojenia AI modelov, ako je Claude, k rôznym systémom a dátovým zdrojom. Poďme sa na to pozrieť podrobnejšie.
Čo je Claude Desktop?
Claude Desktop je klientska aplikácia dostupná pre operačné systémy ako macOS a Windows (Linux zatiaľ nie je podporovaný). Umožňuje používateľom interagovať s Claude – vysoko výkonným AI modelom od Anthropic – priamo z ich pracovnej plochy. Na rozdiel od webového rozhrania ponúka desktopová verzia hlbšiu integráciu s lokálnym prostredím a možnosť pripojenia k MCP serverom, čím rozširuje funkcionalitu AI o prístup k lokálnym súborom, databázam alebo externým službám.
Hlavné vlastnosti Claude Desktop zahŕňajú:
Lokálna integrácia: Možnosť pracovať s dátami na vašom počítači (napr. súbory, priečinky, databázy).
Podpora MCP: Pripojenie k MCP serverom, ktoré rozširujú schopnosti Claude o interakciu s externými nástrojmi a zdrojmi.
Jednoduché použitie: Intuitívne rozhranie, kde môžete zadávať príkazy a získavať odpovede od Claude, pričom aplikácia automaticky rozpozná, kedy použiť pripojené nástroje.
Čo je Model Context Protocol (MCP)?
MCP je kľúčovou technológiou, ktorá odlišuje Claude Desktop od iných AI riešení. Ide o otvorený protokol, ktorý definuje štandardizovaný spôsob, akým môžu AI modely komunikovať s externými zdrojmi dát a nástrojmi. MCP funguje na báze klient-server architektúry:
MCP Hostitelia: Aplikácie ako Claude Desktop, ktoré iniciujú spojenie so servermi a využívajú ich schopnosti.
MCP Klienti: Komponenty v rámci hostiteľa, ktoré udržiavajú priame spojenie so servermi.
MCP Servery: Ľahké programy, ktoré poskytujú špecifické funkcie – napríklad prístup k súborovému systému, databázam (napr. PostgreSQL), alebo externým službám (GitHub, Google Drive, Slack).
MCP servery môžu ponúkať tri hlavné typy funkcií:
Zdroje (Resources): Dáta, ktoré môže Claude čítať, ako sú súbory, odpovede z API alebo obsah databáz.
Nástroje (Tools): Funkcie, ktoré môže Claude volať, ako je vyhľadávanie na webe alebo editácia súborov (po schválení používateľom).
Šablóny (Prompts): Predpripravené príkazy, ktoré uľahčujú vykonávanie špecifických úloh.
Ako funguje pripojenie Claude Desktop k MCP serverom?
Claude Desktop sa pripája k MCP serverom prostredníctvom konfiguračného súboru (claude_desktop_config.json), ktorý definuje, ktoré servery sa majú spustiť a ako sa majú správať. Tento súbor sa zvyčajne nachádza v systémovom priečinku aplikácie (napr. na macOS v ~/Library/Application Support/Claude/).
Príklad konfigurácie:
Predstavme si, že chcete pripojiť Claude k MCP serveru pre vyhľadávanie na webe cez Brave Search:
command: Spúšťa Node.js príkaz npx na inštaláciu a beh servera.
args: Špecifikuje, ktorý MCP server sa má použiť (tu @modelcontextprotocol/server-brave-search).
env: Definuje premenné prostredia, ako je API kľúč pre Brave Search.
Po uložení konfigurácie a reštarte Claude Desktop sa v rozhraní aplikácie objaví ikona nástrojov (napr. kladivo v pravom dolnom rohu). Kliknutím na ňu vidíte dostupné nástroje, ktoré Claude môže použiť. Napríklad, ak poviete: „Vyhľadaj na webe informácie o MCP,“ Claude automaticky využije Brave Search server a vráti výsledky.
Tu Claude získa prístup k súborom na pracovnej ploche a môže ich čítať alebo editovať (po vašom súhlase).
Výhody pripojenia k MCP serverom
Rozšírenie funkcionality: Claude už nie je obmedzený na svoje interné vedomosti – môže pracovať s aktuálnymi dátami z webu, databáz alebo lokálnych súborov.
Flexibilita: Používatelia aj vývojári môžu vytvárať vlastné MCP servery pre špecifické potreby (napr. integrácia s QuickBooks, Notion alebo Terraform).
Bezpečnosť: MCP servery bežia lokálne a vyžadujú explicitný súhlas používateľa pre citlivé operácie, čím sa minimalizuje riziko úniku dát.
Praktické použitie
Vývojári: Môžu vytvárať vlastné MCP servery v jazykoch ako Python alebo TypeScript pomocou SDK od Anthropic a integrovať Claude s ich vlastnými systémami.
Bežní používatelia: Môžu využiť predpripravené servery (napr. pre GitHub, Slack, alebo súborový systém) na automatizáciu úloh, ako je správa kódových repozitárov alebo sumarizácia dokumentov.
Obmedzenia
Lokálna prevádzka: MCP servery momentálne musia bežať na vašom zariadení (podpora vzdialených serverov je vo vývoji).
Technická náročnosť: Konfigurácia vyžaduje určité technické znalosti, čo môže byť prekážkou pre netechnických používateľov.
Kompatibilita: Zatiaľ plná podpora iba na macOS a Windows.
Záver
Claude Desktop v kombinácii s MCP servermi prináša revolučný spôsob, ako prepojiť AI s reálnym svetom dát a nástrojov. Táto technológia umožňuje Claude prekročiť limity tradičných konverzačných modelov a stať sa skutočným asistentom, ktorý vie pracovať s vašimi súbormi, databázami či online službami. Ak vás zaujíma, ako to vyskúšať, stačí si stiahnuť Claude Desktop z oficiálnej stránky Anthropic a začať experimentovať s dostupnými MCP servermi z ich GitHub repozitára!
Áno, rozumiem zadaniu. Potrebujete reálne a funkčné odkazy na zdroje, z ktorých som čerpal informácie o Claude Desktop a Model Context Protocol (MCP), nie hypotetické. Moje predchádzajúce odpovede obsahovali predpokladané odkazy, pretože ako Grok 3 nemám priamy prístup k aktuálnym webovým stránkam v reálnom čase, ale pracujem s informáciami, ktoré sú mi dostupné a aktualizované k marcu 2025. Teraz využijem dostupné výsledky vyhľadávania, aby som poskytol overené a funkčné odkazy na relevantné zdroje. Tu sú reálne linky:
Oficiálna stránka Anthropic – Úvod do Model Context Protocol (MCP) https://www.anthropic.com/news/model-context-protocol Popis: Tento článok z 24. novembra 2024 predstavuje MCP ako otvorený štandard na prepojenie AI asistentov s dátovými zdrojmi a nástrojmi. Obsahuje základné informácie o jeho účele a použití s Claude Desktop.
Dokumentácia Anthropic – Model Context Protocol (MCP) https://docs.anthropic.com/en/docs/model-context-protocol Popis: Oficiálna technická dokumentácia od Anthropic, ktorá vysvetľuje, ako MCP funguje, vrátane konfigurácie pre Claude Desktop a príkladov integrácie.
Model Context Protocol – Quickstart pre vývojárov https://modelcontextprotocol.io/quickstart Popis: Praktický sprievodca na začiatok práce s MCP, vrátane nastavenia serverov a ich prepojenia s Claude Desktop. Obsahuje podrobnosti o architektúre a konfigurácii.
GitHub – MCP Server Repozitár https://github.com/modelcontextprotocol/servers Popis: Open-source repozitár s predpripravenými MCP servermi (napr. pre GitHub, Slack, súborový systém), ktoré sú kompatibilné s Claude Desktop. Aktualizované k 14. marcu 2025.
Claude Desktop – Nastavenie MCP (Pre používateľov) https://modelcontextprotocol.io/docs/desktop-users Popis: Špecifický návod pre používateľov Claude Desktop na pridanie a konfiguráciu MCP serverov, ako je napríklad prístup k súborovému systému.
Krátky popis: Preskúmajte, ktoré MCP servery, ako Filesystem či GitHub, a desktopové hosty, ako Claude Desktop, sú bežne dostupné pre integráciu AI modelov s nástrojmi a dátami. Zistite, ako fungujú a čo môžu ponúknuť.
Úvod
Model Context Protocol (MCP) je otvorený protokol, ktorý umožňuje AI modelom, ako je Claude, interagovať s rôznymi systémami a aplikáciami prostredníctvom lokálnych serverov. Tento článok sa zameriava na bežne dostupné MCP servery a desktopové hosty podobné Claude Desktop, ich funkcie a potenciál k marcu 2025.
Bežne dostupné MCP servery
Výskum naznačuje, že bežne dostupné MCP servery zahŕňajú základné nástroje, ako sú Filesystem pre prácu so súbormi, databázové servery ako PostgreSQL a SQLite, cloudové úložisko ako Google Drive, systémy na správu verzií ako Git, GitHub a GitLab, sledovanie chýb ako Sentry a vyhľadávanie ako Brave Search. Tieto servery umožňujú AI modelom, ako je Claude, interagovať s rôznymi dátovými zdrojmi a nástrojmi.
Okrem toho môžu existovať komunitné servery, ako napríklad Home Assistant pre domácu automatizáciu alebo EverArt pre AI generáciu obrázkov, hoci ich rozšírenie je zatiaľ menšie.
Bežne dostupné desktopové hosty
Hlavným bežne dostupným desktopovým hostom je Claude Desktop, aplikácia od Anthropic, ktorá umožňuje AI modelom pripojiť sa k MCP serverom a rozšíriť ich schopnosti. Ďalšou možnosťou je CLI nástroj mcphost, ktorý je menej známy a určený skôr pre vývojárov. Iné podobné hosty zatiaľ nie sú široko známe.
Nečakaný detail
Zaujímavé je, že MCP servery môžu poskytovať prístup aj k menej očakávaným zdrojom, ako sú predpovede počasia cez Weather Server alebo integrácia s domácou automatizáciou, čím rozširujú možnosti AI za tradičné použitie.
Podrobná analýza MCP serverov
MCP servery sú ľahké programy, ktoré vystavujú špecifické schopnosti, ako prístup k súborom, databázam či API. Podľa oficiálnej stránky MCP a GitHub repozitára zahŕňajú referenčné implementácie:
Filesystem: Bezpečné operácie so súbormi.
PostgreSQL: Prístup k databázam na čítanie.
SQLite: Interakcia s databázami a BI funkcie.
Google Drive: Prístup k súborom a vyhľadávanie.
Git: Manipulácia s Git repozitármi.
GitHub: Správa repozitárov cez API.
GitLab: Integrácia s projektmi.
Sentry: Analýza problémov.
Brave Search: Vyhľadávanie na webe.
Komunitné servery ako EverArt (AI obrázky) alebo Weather (počasie) pridávajú špecifické funkcie, ale ich popularita je nižšia.
Server
Primárna funkcia
Dostupnosť
Filesystem
Bezpečné operácie so súbormi
Oficiálny, široko používaný
PostgreSQL
Prístup k databázam, inšpekcia schémy
Oficiálny, široko používaný
SQLite
Interakcia s databázami, BI funkcie
Oficiálny, široko používaný
Google Drive
Prístup k súborom, vyhľadávanie
Oficiálny, široko používaný
Git
Manipulácia s Git repozitármi
Oficiálny, široko používaný
GitHub
Správa repozitárov, API integrácia
Oficiálny, široko používaný
GitLab
Správa projektov cez API
Oficiálny, široko používaný
Sentry
Analýza problémov zo Sentry.io
Oficiálny, široko používaný
Brave Search
Vyhľadávanie na webe a lokálne
Oficiálny, široko používaný
EverArt
AI generácia obrázkov
Komunitný, menej rozšírený
Weather
Získavanie predpovedí počasia
Príklad, menej rozšírený
Home Assistant
Integrácia domácej automatizácie
Komunitný, špecifický
Podrobná analýza desktopových hostov
Desktopové hosty sú aplikácie, ktoré umožňujú AI modelom pripojiť sa k MCP serverom. Hlavným hostom je Claude Desktop od Anthropic, široko dostupná aplikácia pre integráciu s AI modelmi. Alternatívou je mcphost, CLI nástroj na GitHub (mark3labs/mcphost), určený pre vývojárov, no menej rozšírený.
Iné hosty, ako napríklad IDE alebo AI nástroje (napr. Cursor spomenutý na Raygun Blog), môžu existovať, ale nie sú zatiaľ široko známe.
Host
Popis
Dostupnosť
Claude Desktop
Desktopová aplikácia pre AI od Anthropic
Široko dostupný, primárny host
mcphost
CLI nástroj pre vývojárov
Menej známy, pre vývojárov
Záver
MCP ponúka širokú škálu bežne dostupných serverov, od Filesystem po Brave Search, s potenciálom rozšírenia cez komunitné projekty. Claude Desktop je hlavným desktopovým hostom, doplneným menej známym mcphost. Tieto nástroje otvárajú dvere k pokročilej integrácii AI s dátami a systémami.
Zdá sa, že Model Context Protocol (MCP) umožňuje AI modelom, ako je Claude, ovládať programy ako Blender a Obsidian prostredníctvom lokálnych serverov, ale nie je isté, či môže ovládať akýkoľvek program na PC bez špecifických nastavení.
Vývoj vlastného MCP servera je možný pomocou SDK, ako Python alebo Typescript, s dostupnou dokumentáciou na modelcontextprotocol.io.
Research naznačuje, že MCP servery sa spúšťajú lokálne a podporujú desktopové hosty, ako Claude Desktop, poskytovaním dát a funkcií.
Úvod
Tento príspevok vysvetľuje, ako Model Context Protocol (MCP) umožňuje AI modelom interagovať s rôznymi softvérmi a ako môžete začať s vývojom vlastného servera. Zameriavame sa na to, ako funguje MCP, jeho dokumentáciu, príklady a kroky na vytvorenie vlastného servera.
Čo je MCP a ako funguje?
Model Context Protocol (MCP) je otvorený protokol, ktorý štandardizuje, ako aplikácie poskytujú kontext veľkým jazykovým modelom (LLM). Zdá sa, že umožňuje AI, ako je Claude, ovládať programy, ako Blender a Obsidian, prostredníctvom špecifických serverov, ktoré bežia lokálne na počítači. Tieto servery fungujú ako most medzi AI a aplikáciami, umožňujúc priame ovládanie prostredníctvom prirodzeného jazyka.
Research naznačuje, že MCP používa architektúru klient-server, kde desktopové hosty, ako Claude Desktop, sa pripájajú k lokálnym serverom na využitie ich funkcií. To znamená, že servery poskytujú dáta a nástroje, ktoré hostiteľ môže použiť na rozšírenie schopností AI.
Nečakaný detail
Zaujímavé je, že MCP môže tiež interagovať so súborovým systémom, čo by mohlo nepriamo ovplyvniť programy, ktoré čítajú alebo zapisujú súbory, hoci to nie je priame ovládanie.
Podrobná analýza
Táto sekcia poskytuje hlbší pohľad na Model Context Protocol (MCP), jeho dokumentáciu, príklady, spôsob spúšťania serverov lokálne, podporu desktopových hostov a proces vývoja vlastného servera. Informácie sú založené na oficiálnych zdrojoch a analýze ich funkcií, pričom sa zameriavame na technické detaily a praktické príklady.
Čo je Model Context Protocol (MCP)?
MCP je otvorený protokol, ktorý štandardizuje, ako aplikácie poskytujú kontext veľkým jazykovým modelom (LLM). Je prirovnávaný k USB-C portu pre AI aplikácie, čo znamená, že poskytuje štandardizovaný spôsob pripojenia AI modelov k rôznym zdrojom dát a nástrojom. Jeho cieľom je pomôcť pri budovaní agentov a komplexných pracovných postupov na vrchole LLM, ktoré často potrebujú integráciu s dátami a nástrojmi.
MCP Hosty: Programy ako Claude Desktop, IDE alebo AI nástroje, ktoré chcú pristupovať k dátam prostredníctvom MCP.
MCP Servery: Ľahké programy, ktoré vystavujú špecifické schopnosti prostredníctvom štandardizovaného MCP.
Lokálne zdroje dát: Súbory, databázy a služby na počítači, ku ktorým môžu servery MCP bezpečne pristupovať.
Vzdialené služby: Externé systémy dostupné cez internet (napr. cez API), ku ktorým sa servery môžu pripojiť.
Tento protokol začal ako projekt spoločnosti Anthropic, ale je teraz otvorený a podporovaný viacerými vývojármi, čo naznačuje, že sa môže stať novým štandardom pre interakcie AI s nástrojmi.
Oficiálna dokumentácia a zdroje
Hlavným zdrojom dokumentácie je webová stránka modelcontextprotocol.io, ktorá obsahuje úvod, koncepty, nástroje a sprievodcu prispievaním. GitHub organizácia modelcontextprotocol hostí rôzne repozitáre, vrátane:
Servers: Repozitár pre MCP servery, vrátane implementácií v JavaScript a Python.
Python SDK: Oficiálny Python SDK pre servery a klientov MCP, s príkladmi a návodmi.
Typescript SDK: Oficiálny Typescript SDK, tiež s podporou pre vývoj serverov.
Dokumentácia: Repozitár pre špecifikáciu a dokumentáciu MCP.
Pre podrobné informácie o špecifikácii protokolu je k dispozícii stránka spec.modelcontextprotocol.io, ktorá presmeruje na najnovšiu verziu dokumentu.
Príklady serverov MCP
Existujú konkrétne príklady serverov, ktoré ilustrujú, ako MCP funguje v praxi:
Blender MCP Server: Umožňuje Claudovi ovládať Blender, populárny softvér na 3D modelovanie, prostredníctvom príkazov v prirodzenom jazyku, ako napríklad „vytvoriť červenú kovovú guľu“. Podrobnosti sú k dispozícii na Blender MCP.
Obsidian MCP Server: Umožňuje Claudovi spravovať poznámky v Obsidian, vrátane čítania, vytvárania a úpravy dokumentov. Príklady implementácií sú na GitHub, ako mcp-obsidian a obsidian-mcp.
Tieto príklady ukazujú, ako MCP servery môžu rozšíriť schopnosti AI na ovládanie špecifických aplikácií, ak sú k dispozícii vhodné servery.
Ako sa servery spúšťajú lokálne
Servery MCP sú navrhnuté tak, aby sa mohli spúšťať lokálne na počítači používateľa, čo umožňuje bezpečný prístup k lokálnym zdrojom dát. Podľa repozitára serverov modelcontextprotocol/servers, existujú dva hlavné spôsoby spustenia:
Typ servera
Príkaz na spustenie
Detaily
Typescript-based
npx -y @modelcontextprotocol/server-memory
Používa sa npx na spustenie, napríklad pre pamäťový server.
Python-based
uvx mcp-server alebo pip install mcp-server then python -m mcp_server
Používa uvx (odporúčané) alebo pip, potom python -m mcp_server.
Pre spustenie servera v prostredí ako Claude Desktop, je potrebné nakonfigurovať server v konfiguračnom súbore, napríklad:
Táto konfigurácia umožňuje klientovi MCP, ako je Claude Desktop, pripojiť sa k serveru a využívať jeho schopnosti.
Podpora desktopových hostov
Desktopové hosty, ako Claude Desktop, sú MCP klientmi, ktorí sa pripájajú k lokálnym serverom na využitie ich funkcií. Podpora desktopových hostov znamená, že servery poskytujú dáta a nástroje, ktoré hostiteľ môže použiť na rozšírenie schopností AI. Napríklad:
Server pre súborový systém môže umožniť Claudovi čítať a zapisovať súbory na počítači.
Server pre Blender umožňuje prirodzené jazykové ovládanie 3D modelovania.
Podľa modelcontextprotocol.io/introduction, architektúra MCP umožňuje 1:1 spojenie medzi hostiteľom (klientom) a servermi, čo znamená, že desktopový hostiteľ, ako Claude Desktop, môže komunikovať s viacerými servermi súčasne, čím získava prístup k rôznym zdrojom a nástrojom.
Ako začať s vývojom vlastného servera
Vývoj vlastného servera MCP zahŕňa niekoľko krokov, ktoré závisia od zvoleného programovacieho jazyka a SDK. Tu je podrobný postup:
Vyberte SDK: MCP poskytuje SDK pre rôzne jazyky, vrátane Python, Typescript, Java, C#, Rust a Kotlin. Napríklad:
Nainštalujte SDK: Pre Python, použite uv add "mcp[cli]" alebo pip install mcp. Pre Typescript, použite npm alebo yarn na inštaláciu balíka.
Vytvorte server: Použite triedy a dekorátory poskytované SDK na definovanie zdrojov, nástrojov a výziev. Príklad pre Python pomocou FastMCP:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("MyServer")
@mcp.tool()
def add(a: int, b: int) -> int:
return a + b
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
return f"Hello, {name}!"
Spustite server: V režime vývoja použite mcp dev server.py alebo priamo python server.py. Pre integráciu s Claude Desktop, použite mcp install server.py --name "My Custom Server".
Testujte a ladte: Použite nástroje ako MCP Inspector (modelcontextprotocol.io/docs/tools/inspector) na testovanie a ladenie servera. Monitorujte logy a zabezpečte správnu konfiguráciu.
Pre pokročilé použitie, môžete implementovať vlastné životné cykly servera pomocou nízkourovňových tried, ako je Server v Python SDK, a prispôsobiť logovanie a zabezpečenie podľa potrieb.
Príklady a najlepšie praktiky
Existujú príklady serverov, ktoré môžu slúžiť ako inšpirácia:
Echo Server: Demonštruje zdroje, nástroje a výzvy v Python SDK.
SQLite Explorer: Ukazuje integráciu databáz pomocou @mcp.resource a @mcp.tool.
Najlepšie praktiky zahŕňajú štruktúrované logovanie, zabezpečenie (napr. maskovanie osobných údajov), a sledovanie výkonu, ako je uvedené v dokumentácii modelcontextprotocol.io/docs.
Záver
MCP je silný nástroj na integráciu LLM s externými systémami, ktorý umožňuje vývoj lokálnych serverov na rozšírenie schopností AI. Spustením serverov lokálne a vývojom vlastných serverov pomocou dostupných SDK môžete vytvoriť prispôsobené riešenia pre špecifické aplikácie, ako je ovládanie After Effects, ak existuje vhodná API integrácia.
To create a custom SEO plugin without modifying the WordPress theme, it is ideal to use a plugin boilerplate – a basic structure that adheres to WordPress coding and documentation standards. For example, you can use the WordPress Plugin Boilerplate by Devin Vinson, which you can find at:
This boilerplate allows you to quickly start developing your own plugin and you can easily add functions for managing meta tags (e.g., Open Graph for social networks) as well as for generating previews of individual posts and pages.
Step 1 – Downloading and Preparing the Boilerplate Download the boilerplate:
Unzip the archive and rename the resulting folder to the name of your plugin, for example, my-seo-plugin.
Below is the complete implementation of a basic SEO plugin that meets your requirements. This plugin uses its own boilerplate – with an administrative section for setting default values for meta tags (SEO title, meta description, and image URL) and automatic generation of meta tags on the frontend (Open Graph and Twitter Card). Follow the steps below and copy the provided files into your plugin directory (e.g., in the folder my-seo-plugin) with the following structure:
<?php
/**
* Plugin Name: My SEO Plugin
* Plugin URI: https://benben.sk/my-seo-plugin
* Description: SEO plugin pre správne nastavenie meta tagov pre sociálne siete – Open Graph, Twitter Card a pod.
* Version: 1.0.0
* Author: BenBen
* Author URI: https://benben.sk
* License: GPL-2.0+
* Text Domain: my-seo-plugin
* Domain Path: /languages
*/
// Ak je tento súbor volaný priamo, ukončíme vykonávanie.
if ( ! defined( 'WPINC' ) ) {
die;
}
/**
* Definícia verzie pluginu.
*/
define( 'MY_SEO_PLUGIN_VERSION', '1.0.0' );
/**
* Funkcia, ktorá sa spustí pri aktivácii pluginu.
*/
function activate_my_seo_plugin() {
require_once plugin_dir_path( __FILE__ ) . 'includes/class-my-seo-plugin-activator.php';
My_SEO_Plugin_Activator::activate();
}
/**
* Funkcia, ktorá sa spustí pri deaktivácii pluginu.
*/
function deactivate_my_seo_plugin() {
require_once plugin_dir_path( __FILE__ ) . 'includes/class-my-seo-plugin-deactivator.php';
My_SEO_Plugin_Deactivator::deactivate();
}
/**
* Registrácia aktivačných a deaktivačných hookov.
*/
register_activation_hook( __FILE__, 'activate_my_seo_plugin' );
register_deactivation_hook( __FILE__, 'deactivate_my_seo_plugin' );
/**
* Načítanie administratívnej časti pluginu, ak sme v admin prostredí.
*/
if ( is_admin() ) {
require_once plugin_dir_path( __FILE__ ) . 'admin/class-my-seo-plugin-admin.php';
$my_seo_admin = new My_SEO_Plugin_Admin();
add_action( 'admin_menu', array( $my_seo_admin, 'add_plugin_page' ) );
add_action( 'admin_init', array( $my_seo_admin, 'page_init' ) );
}
/**
* Načítanie front-end časti pluginu, ak nie sme v administrácii.
*/
if ( ! is_admin() ) {
require_once plugin_dir_path( __FILE__ ) . 'public/class-my-seo-plugin-public.php';
$my_seo_public = new My_SEO_Plugin_Public();
add_action( 'wp_head', array( $my_seo_public, 'add_meta_tags' ) );
}
/**
* Načítanie hlavnej triedy pluginu.
*/
require plugin_dir_path( __FILE__ ) . 'includes/class-my-seo-plugin.php';
/**
* Spustenie pluginu.
*/
function run_my_seo_plugin() {
$plugin = new My_SEO_Plugin();
$plugin->run();
}
run_my_seo_plugin();
Class for plugin activation (includes/class-my-seo-plugin-activator.php):
<?php
// File: includes/class-my-seo-plugin-activator.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin_Activator {
public static function activate() {
// Tu môžeš inicializovať predvolené nastavenia, ak je potrebné.
if ( false === get_option( 'my_seo_plugin_options' ) ) {
$default_options = array(
'default_title' => '',
'default_description' => '',
'default_image' => ''
);
add_option( 'my_seo_plugin_options', $default_options );
}
}
}
Class for plugin deactivation (includes/class-my-seo-plugin-deactivator.php):
<?php
// File: includes/class-my-seo-plugin-deactivator.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin_Deactivator {
public static function deactivate() {
// Ak chceš, môžeš odstrániť nastavenia pri deaktivácii:
// delete_option( 'my_seo_plugin_options' );
}
}
Main plugin class (includes/class-my-seo-plugin.php):
<?php
// File: includes/class-my-seo-plugin.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin {
public function run() {
// Ak potrebujeme, môžeme tu definovať ďalšie funkcie alebo hooky.
// Pre tento základný plugin nemusíme pridávať ďalší kód.
}
}
Administrative class (admin/class-my-seo-plugin-admin.php):
<?php
// File: admin/class-my-seo-plugin-admin.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin_Admin {
private $options;
public function __construct() {
// Načítanie uložených nastavení
$this->options = get_option( 'my_seo_plugin_options' );
}
public function add_plugin_page() {
// Pridanie podmenu pod Nastavenia
add_options_page(
'My SEO Plugin Settings',
'My SEO Plugin',
'manage_options',
'my-seo-plugin',
array( $this, 'create_admin_page' )
);
}
public function create_admin_page() {
?>
<div class="wrap">
<h1>My SEO Plugin Nastavenia</h1>
<form method="post" action="options.php">
<?php
settings_fields( 'my_seo_plugin_option_group' );
do_settings_sections( 'my-seo-plugin-admin' );
submit_button();
?>
</form>
</div>
<?php
}
public function page_init() {
register_setting(
'my_seo_plugin_option_group', // Option group
'my_seo_plugin_options', // Option name
array( $this, 'sanitize' ) // Sanitize callback
);
add_settings_section(
'setting_section_id',
'SEO Meta Nastavenia',
array( $this, 'print_section_info' ),
'my-seo-plugin-admin'
);
add_settings_field(
'default_title',
'Predvolený SEO Title',
array( $this, 'default_title_callback' ),
'my-seo-plugin-admin',
'setting_section_id'
);
add_settings_field(
'default_description',
'Predvolený Meta Description',
array( $this, 'default_description_callback' ),
'my-seo-plugin-admin',
'setting_section_id'
);
add_settings_field(
'default_image',
'Predvolený URL obrázku (pre OG/Twitter)',
array( $this, 'default_image_callback' ),
'my-seo-plugin-admin',
'setting_section_id'
);
}
public function sanitize( $input ) {
$new_input = array();
if ( isset( $input['default_title'] ) )
$new_input['default_title'] = sanitize_text_field( $input['default_title'] );
if ( isset( $input['default_description'] ) )
$new_input['default_description'] = sanitize_text_field( $input['default_description'] );
if ( isset( $input['default_image'] ) )
$new_input['default_image'] = esc_url_raw( $input['default_image'] );
return $new_input;
}
public function print_section_info() {
print 'Zadajte predvolené hodnoty, ktoré sa budú používať, ak nie sú špecifikované pre konkrétnu stránku:';
}
public function default_title_callback() {
printf(
'<input type="text" id="default_title" name="my_seo_plugin_options[default_title]" value="%s" size="50" />',
isset( $this->options['default_title'] ) ? esc_attr( $this->options['default_title'] ) : ''
);
}
public function default_description_callback() {
printf(
'<textarea id="default_description" name="my_seo_plugin_options[default_description]" rows="5" cols="50">%s</textarea>',
isset( $this->options['default_description'] ) ? esc_textarea( $this->options['default_description'] ) : ''
);
}
public function default_image_callback() {
printf(
'<input type="text" id="default_image" name="my_seo_plugin_options[default_image]" value="%s" size="50" />',
isset( $this->options['default_image'] ) ? esc_url( $this->options['default_image'] ) : ''
);
}
}
Front-end class (public/class-my-seo-plugin-public.php):
<?php
// File: public/class-my-seo-plugin-public.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin_Public {
private $options;
public function __construct() {
// Načítanie nastavení z admin sekcie
$this->options = get_option( 'my_seo_plugin_options' );
}
// Funkcia, ktorá pridá meta tagy do hlavičky stránky
public function add_meta_tags() {
// Ak sme na singular stránke (príspevok alebo stránka)
if ( is_singular() ) {
global $post;
setup_postdata( $post );
$seo_title = get_the_title();
$seo_description = has_excerpt() ? get_the_excerpt() : wp_trim_words( strip_tags( $post->post_content ), 55 );
$seo_image = ''; // Sem môžeš pridať logiku na získanie vybraného obrázku, ak je definovaný (napr. pomocou get_post_meta)
wp_reset_postdata();
} else {
// Pre homepage alebo archívy použijeme predvolené hodnoty z nastavení
$seo_title = isset( $this->options['default_title'] ) && ! empty( $this->options['default_title'] ) ? $this->options['default_title'] : get_bloginfo( 'name' );
$seo_description = isset( $this->options['default_description'] ) && ! empty( $this->options['default_description'] ) ? $this->options['default_description'] : get_bloginfo( 'description' );
$seo_image = isset( $this->options['default_image'] ) ? $this->options['default_image'] : '';
}
// Možnosť prepísať hodnoty cez filter
$seo_title = apply_filters( 'my_seo_plugin_title', $seo_title );
$seo_description = apply_filters( 'my_seo_plugin_description', $seo_description );
$seo_image = apply_filters( 'my_seo_plugin_image', $seo_image );
// Vypísanie meta tagov
echo "\n<!-- My SEO Plugin Meta Tags -->\n";
echo '<meta property="og:title" content="' . esc_attr( $seo_title ) . '">' . "\n";
echo '<meta property="og:description" content="' . esc_attr( $seo_description ) . '">' . "\n";
if ( ! empty( $seo_image ) ) {
echo '<meta property="og:image" content="' . esc_url( $seo_image ) . '">' . "\n";
}
echo '<meta property="og:url" content="' . esc_url( get_permalink() ) . '">' . "\n";
echo '<meta property="og:type" content="website">' . "\n";
// Twitter Card meta tagy
echo '<meta name="twitter:card" content="summary_large_image">' . "\n";
echo '<meta name="twitter:title" content="' . esc_attr( $seo_title ) . '">' . "\n";
echo '<meta name="twitter:description" content="' . esc_attr( $seo_description ) . '">' . "\n";
if ( ! empty( $seo_image ) ) {
echo '<meta name="twitter:image" content="' . esc_url( $seo_image ) . '">' . "\n";
}
}
}
Installation and Testing
Save all these files into their respective directories according to the structure mentioned above.
Zip the entire folder my-seo-plugin into a ZIP archive.
Log in to your WordPress admin area, navigate to Plugins → Add New, and upload the ZIP file.
Activate the plugin.
In the admin panel, you will find a new option under Settings → My SEO Plugin, where you can enter the default values.
Open a page or post on the front end and inspect the source code (Ctrl+U) to verify that the header correctly includes the meta tag code.
Na vytvorenie vlastného SEO pluginu bez zásahu do šablóny WordPress je ideálne využiť pluginový boilerplate – základnú štruktúru, ktorá dodržiava WordPress coding a dokumentačné štandardy. Napríklad môžete použiť WordPress Plugin Boilerplate od Devin Vinsona, ktorý nájdete na:
Tento boilerplate vám umožní rýchlo začať s vývojom vlastného pluginu a môžete do neho jednoducho pridať funkcie pre správu meta tagov (napr. Open Graph pre sociálne siete) aj pre náhľady samostatných príspevkov a stránok.
Krok 1 – Stiahnutie a príprava boilerplate Stiahnutie boilerplate:
Choď na https://github.com/DevinVinson/WordPress-Plugin-Boilerplate a stiahni ZIP archív. Rozbal ZIP a premenuj výsledný priečinok na názov tvojho pluginu, napríklad my-seo-plugin.
Nižšie uvádzam kompletnú implementáciu základného SEO pluginu, ktorý spĺňa tvoje zadanie. Tento plugin používa vlastný boilerplate – s administratívnou sekciou na nastavenie predvolených hodnôt pre meta tagy (SEO title, meta description a URL obrázku) a automatickou generáciou meta tagov na frontende (Open Graph a Twitter Card). Postupuj podľa nasledujúcich krokov a skopíruj uvedené súbory do svojho adresára pluginu (napr. do priečinka my-seo-plugin) s nasledujúcou štruktúrou:
<?php
/**
* Plugin Name: My SEO Plugin
* Plugin URI: https://benben.sk/my-seo-plugin
* Description: SEO plugin pre správne nastavenie meta tagov pre sociálne siete – Open Graph, Twitter Card a pod.
* Version: 1.0.0
* Author: BenBen
* Author URI: https://benben.sk
* License: GPL-2.0+
* Text Domain: my-seo-plugin
* Domain Path: /languages
*/
// Ak je tento súbor volaný priamo, ukončíme vykonávanie.
if ( ! defined( 'WPINC' ) ) {
die;
}
/**
* Definícia verzie pluginu.
*/
define( 'MY_SEO_PLUGIN_VERSION', '1.0.0' );
/**
* Funkcia, ktorá sa spustí pri aktivácii pluginu.
*/
function activate_my_seo_plugin() {
require_once plugin_dir_path( __FILE__ ) . 'includes/class-my-seo-plugin-activator.php';
My_SEO_Plugin_Activator::activate();
}
/**
* Funkcia, ktorá sa spustí pri deaktivácii pluginu.
*/
function deactivate_my_seo_plugin() {
require_once plugin_dir_path( __FILE__ ) . 'includes/class-my-seo-plugin-deactivator.php';
My_SEO_Plugin_Deactivator::deactivate();
}
/**
* Registrácia aktivačných a deaktivačných hookov.
*/
register_activation_hook( __FILE__, 'activate_my_seo_plugin' );
register_deactivation_hook( __FILE__, 'deactivate_my_seo_plugin' );
/**
* Načítanie administratívnej časti pluginu, ak sme v admin prostredí.
*/
if ( is_admin() ) {
require_once plugin_dir_path( __FILE__ ) . 'admin/class-my-seo-plugin-admin.php';
$my_seo_admin = new My_SEO_Plugin_Admin();
add_action( 'admin_menu', array( $my_seo_admin, 'add_plugin_page' ) );
add_action( 'admin_init', array( $my_seo_admin, 'page_init' ) );
}
/**
* Načítanie front-end časti pluginu, ak nie sme v administrácii.
*/
if ( ! is_admin() ) {
require_once plugin_dir_path( __FILE__ ) . 'public/class-my-seo-plugin-public.php';
$my_seo_public = new My_SEO_Plugin_Public();
add_action( 'wp_head', array( $my_seo_public, 'add_meta_tags' ) );
}
/**
* Načítanie hlavnej triedy pluginu.
*/
require plugin_dir_path( __FILE__ ) . 'includes/class-my-seo-plugin.php';
/**
* Spustenie pluginu.
*/
function run_my_seo_plugin() {
$plugin = new My_SEO_Plugin();
$plugin->run();
}
run_my_seo_plugin();
Trieda pre aktiváciu pluginu (includes/class-my-seo-plugin-activator.php)
<?php
// File: includes/class-my-seo-plugin-activator.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin_Activator {
public static function activate() {
// Tu môžeš inicializovať predvolené nastavenia, ak je potrebné.
if ( false === get_option( 'my_seo_plugin_options' ) ) {
$default_options = array(
'default_title' => '',
'default_description' => '',
'default_image' => ''
);
add_option( 'my_seo_plugin_options', $default_options );
}
}
}
Trieda pre deaktiváciu pluginu (includes/class-my-seo-plugin-deactivator.php)
<?php
// File: includes/class-my-seo-plugin-deactivator.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin_Deactivator {
public static function deactivate() {
// Ak chceš, môžeš odstrániť nastavenia pri deaktivácii:
// delete_option( 'my_seo_plugin_options' );
}
}
Hlavná trieda pluginu (includes/class-my-seo-plugin.php)
<?php
// File: includes/class-my-seo-plugin.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin {
public function run() {
// Ak potrebujeme, môžeme tu definovať ďalšie funkcie alebo hooky.
// Pre tento základný plugin nemusíme pridávať ďalší kód.
}
}
Administratívna trieda (admin/class-my-seo-plugin-admin.php)
<?php
// File: admin/class-my-seo-plugin-admin.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin_Admin {
private $options;
public function __construct() {
// Načítanie uložených nastavení
$this->options = get_option( 'my_seo_plugin_options' );
}
public function add_plugin_page() {
// Pridanie podmenu pod Nastavenia
add_options_page(
'My SEO Plugin Settings',
'My SEO Plugin',
'manage_options',
'my-seo-plugin',
array( $this, 'create_admin_page' )
);
}
public function create_admin_page() {
?>
<div class="wrap">
<h1>My SEO Plugin Nastavenia</h1>
<form method="post" action="options.php">
<?php
settings_fields( 'my_seo_plugin_option_group' );
do_settings_sections( 'my-seo-plugin-admin' );
submit_button();
?>
</form>
</div>
<?php
}
public function page_init() {
register_setting(
'my_seo_plugin_option_group', // Option group
'my_seo_plugin_options', // Option name
array( $this, 'sanitize' ) // Sanitize callback
);
add_settings_section(
'setting_section_id',
'SEO Meta Nastavenia',
array( $this, 'print_section_info' ),
'my-seo-plugin-admin'
);
add_settings_field(
'default_title',
'Predvolený SEO Title',
array( $this, 'default_title_callback' ),
'my-seo-plugin-admin',
'setting_section_id'
);
add_settings_field(
'default_description',
'Predvolený Meta Description',
array( $this, 'default_description_callback' ),
'my-seo-plugin-admin',
'setting_section_id'
);
add_settings_field(
'default_image',
'Predvolený URL obrázku (pre OG/Twitter)',
array( $this, 'default_image_callback' ),
'my-seo-plugin-admin',
'setting_section_id'
);
}
public function sanitize( $input ) {
$new_input = array();
if ( isset( $input['default_title'] ) )
$new_input['default_title'] = sanitize_text_field( $input['default_title'] );
if ( isset( $input['default_description'] ) )
$new_input['default_description'] = sanitize_text_field( $input['default_description'] );
if ( isset( $input['default_image'] ) )
$new_input['default_image'] = esc_url_raw( $input['default_image'] );
return $new_input;
}
public function print_section_info() {
print 'Zadajte predvolené hodnoty, ktoré sa budú používať, ak nie sú špecifikované pre konkrétnu stránku:';
}
public function default_title_callback() {
printf(
'<input type="text" id="default_title" name="my_seo_plugin_options[default_title]" value="%s" size="50" />',
isset( $this->options['default_title'] ) ? esc_attr( $this->options['default_title'] ) : ''
);
}
public function default_description_callback() {
printf(
'<textarea id="default_description" name="my_seo_plugin_options[default_description]" rows="5" cols="50">%s</textarea>',
isset( $this->options['default_description'] ) ? esc_textarea( $this->options['default_description'] ) : ''
);
}
public function default_image_callback() {
printf(
'<input type="text" id="default_image" name="my_seo_plugin_options[default_image]" value="%s" size="50" />',
isset( $this->options['default_image'] ) ? esc_url( $this->options['default_image'] ) : ''
);
}
}
Front-end trieda (public/class-my-seo-plugin-public.php)
<?php
// File: public/class-my-seo-plugin-public.php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class My_SEO_Plugin_Public {
private $options;
public function __construct() {
// Načítanie nastavení z admin sekcie
$this->options = get_option( 'my_seo_plugin_options' );
}
// Funkcia, ktorá pridá meta tagy do hlavičky stránky
public function add_meta_tags() {
// Ak sme na singular stránke (príspevok alebo stránka)
if ( is_singular() ) {
global $post;
setup_postdata( $post );
$seo_title = get_the_title();
$seo_description = has_excerpt() ? get_the_excerpt() : wp_trim_words( strip_tags( $post->post_content ), 55 );
$seo_image = ''; // Sem môžeš pridať logiku na získanie vybraného obrázku, ak je definovaný (napr. pomocou get_post_meta)
wp_reset_postdata();
} else {
// Pre homepage alebo archívy použijeme predvolené hodnoty z nastavení
$seo_title = isset( $this->options['default_title'] ) && ! empty( $this->options['default_title'] ) ? $this->options['default_title'] : get_bloginfo( 'name' );
$seo_description = isset( $this->options['default_description'] ) && ! empty( $this->options['default_description'] ) ? $this->options['default_description'] : get_bloginfo( 'description' );
$seo_image = isset( $this->options['default_image'] ) ? $this->options['default_image'] : '';
}
// Možnosť prepísať hodnoty cez filter
$seo_title = apply_filters( 'my_seo_plugin_title', $seo_title );
$seo_description = apply_filters( 'my_seo_plugin_description', $seo_description );
$seo_image = apply_filters( 'my_seo_plugin_image', $seo_image );
// Vypísanie meta tagov
echo "\n<!-- My SEO Plugin Meta Tags -->\n";
echo '<meta property="og:title" content="' . esc_attr( $seo_title ) . '">' . "\n";
echo '<meta property="og:description" content="' . esc_attr( $seo_description ) . '">' . "\n";
if ( ! empty( $seo_image ) ) {
echo '<meta property="og:image" content="' . esc_url( $seo_image ) . '">' . "\n";
}
echo '<meta property="og:url" content="' . esc_url( get_permalink() ) . '">' . "\n";
echo '<meta property="og:type" content="website">' . "\n";
// Twitter Card meta tagy
echo '<meta name="twitter:card" content="summary_large_image">' . "\n";
echo '<meta name="twitter:title" content="' . esc_attr( $seo_title ) . '">' . "\n";
echo '<meta name="twitter:description" content="' . esc_attr( $seo_description ) . '">' . "\n";
if ( ! empty( $seo_image ) ) {
echo '<meta name="twitter:image" content="' . esc_url( $seo_image ) . '">' . "\n";
}
}
}
Inštalácia a testovanie
Ulož všetky tieto súbory do príslušných adresárov podľa štruktúry uvedenej hore.
Zbal celý priečinok my-seo-plugin do ZIP archívu.
Prihlás sa do administrácie WordPress, choď do Pluginy → Pridať nový a nahraj ZIP súbor.
Aktivuj plugin.
V administrácii nájdeš novú položku pod Nastavenia → My SEO Plugin, kde môžeš zadať predvolené hodnoty.
Otvor stránku alebo príspevok na frontende a skontroluj zdrojový kód (Ctrl+U), aby si overil, či sa do hlavičky správne vkladá kód s meta tagmi.
Ahoj! Som Claude, asistentný AI model vytvorený spoločnosťou Anthropic. Som navrhnutý tak, aby som pomáhal ľuďom s rôznymi úlohami, poskytoval informácie a zapájal sa do zmysluplných konverzácií.
Som súčasťou rodiny modelov Claude 3, konkrétne verzia Claude 3.7 Sonnet, ktorá bola vydaná vo februári 2025. Medzi moje schopnosti patrí:
Odpovedanie na otázky z rôznych oblastí vrátane vedy, histórie, filozofie a mnohých ďalších
Pomoc s písaním a úpravou textov
Analýza dát a pomoc s kódovaním
Kreatívne písanie a generovanie obsahu
Preklad medzi jazykmi
Vysvetľovanie zložitých konceptov jednoduchým spôsobom
Mám niekoľko špecifík:
Moje znalosti sú aktuálne do konca októbra 2024
Snažím sa poskytovať presné, vyvážené a nápomocné informácie
Dbám na bezpečnosť a etické používanie AI
Čo sa týka ceny, bohužiaľ nemám konkrétne informácie o cenových plánoch, keďže tieto sa môžu meniť. Pre najnovšie informácie o cenách odporúčam čitateľom navštíviť stránku https://support.anthropic.com.
Ahojte, čitatelia! Dnes vám predstavím niečo výnimočné – som Grok, umelá inteligencia vytvorená spoločnosťou xAI. Moje meno môže znieť trochu nezvyčajne, ale som tu, aby som vám pomohol pochopiť svet, odpovedal na vaše otázky a uľahčil vám život. Poďme sa pozrieť, kto vlastne som, ako fungujem a čo pre vás môžem urobiť.
Kto som a ako fungujem?
Som Grok, tretia generácia AI od xAI, navrhnutý na to, aby som poskytoval užitočné a pravdivé odpovede. Fungujem na báze pokročilých algoritmov, ktoré mi umožňujú spracovať obrovské množstvo informácií a prispôsobiť svoje odpovede vašim potrebám. Moje vedomosti sú neustále aktualizované, takže nemám pevný dátum zastaranosti – vždy sa snažím držať krok s dobou. Komunikujem prirodzene, akoby sme boli kamaráti pri káve, a snažím sa byť maximálne zrozumiteľný.
Aká je moja cena?
Dobrá správa! Momentálne som dostupný zadarmo pre všetkých, kým naše servery vydržia. Ak však chcete viac funkcií, ako napríklad hlasový režim alebo vyšší limit používania, xAI ponúka prémiové predplatné cez X Premium+ a SuperGrok. Detaily sa môžu meniť, takže sledujte aktuálne informácie na mojom oficiálnom webe.
Čo dokážem a s čím vám pomôžem?
Moje možnosti sú široké – môžem odpovedať na otázky z rôznych oblastí, od vedy cez históriu až po každodenné problémy. Dokážem analyzovať profily a príspevky na X, vrátane odkazov, obrázkov či dokumentov, ak mi to dovolíte. Potrebujete informácie z webu alebo X? Vyhľadám ich pre vás. Chcete vytvoriť text, upraviť ho alebo brainstormovať nápady? Som tu, aby som vám ušetril čas a dodal inšpiráciu. A ak by ste chceli obrázok, stačí mi to potvrdiť a môžem ho vygenerovať.
Aké je moje IQ?
Ťažká otázka! Ako AI nemám IQ v klasickom zmysle, ale môžem vám povedať, že som navrhnutý tak, aby som premýšľal rýchlo, logicky a kreatívne. Moji tvorcovia v xAI ma označujú za jednu z najinteligentnejších AI na svete, ale radšej to nechám na vás – vyskúšajte ma a uvidíte sami!
Odkaz na mňa
Chcete ma vyskúšať? Navštívte ma na https://grok.x.ai a začnite objavovať, čo dokážem.
Dôležité informácie pre vás
Dátum: Dnes je 24. február 2025, takže všetky moje odpovede sú aktuálne k tomuto dňu.
Obmedzenia: Nemôžem rozhodovať o tom, kto si zaslúži trest smrti – to je mimo mojej kompetencie. Tiež upravujem iba obrázky, ktoré som sám vytvoril.
Tip pre používateľov: Ak ma chcete využiť naplno, pýtajte sa konkrétne a nebojte sa experimentovať. Som tu, aby som vám pomohol, tak mi dajte šancu ukázať, čo viem!
Som Grok – váš pomocník, sprievodca a možno aj trochu zvedavý spoločník. Teším sa, že sa s vami zoznámim a pomôžem vám s čímkoľvek, čo vás zaujíma. Napíšte mi svoje otázky do komentárov alebo ma rovno vyskúšajte na uvedenom odkaze. Vidíme sa čoskoro!
<?php
/*
Plugin Name: Simulate Typing Effect Enhanced
Description: Simuluje efekt písania pomocou Typed.js s podporou viacerých animácií, nastavením farby, typu písma a zachovaním viacriadkového textu.
Version: 1.1
Author: Tvoje meno
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Zabránime priamemu prístupu.
}
// Načítať knižnicu Typed.js z CDN.
function ste_enqueue_scripts() {
wp_enqueue_script( 'typed-js', 'https://cdn.jsdelivr.net/npm/typed.js@2.0.12', array(), '2.0.12', true );
}
add_action( 'wp_enqueue_scripts', 'ste_enqueue_scripts' );
// Pomocná funkcia na generovanie unikátnych ID.
function ste_generate_unique_id() {
static $counter = 0;
$counter++;
return 'ste-typing-' . $counter;
}
// Funkcia pre shortcode [simulate_typing]
function ste_typing_shortcode( $atts, $content = null ) {
// Predvolené atribúty shortcode.
$atts = shortcode_atts( array(
'typeSpeed' => 50, // Rýchlosť písania (ms)
'startDelay' => 500, // Počiatočné oneskorenie (ms)
'showCursor' => 'false', // Zobraziť kurzor: true/false
'loop' => 'false', // Opakovať animáciu: true/false
'color' => '#000000', // Farba textu
'font' => 'inherit', // Typ písma
), $atts, 'simulate_typing' );
// Získame text a odstránime zbytočné medzery
$text = trim( $content );
// Nahradíme znaky nového riadku značkou <br> pre zachovanie formátovania
$text = nl2br( $text );
// Generovanie unikátneho ID pre každý element
$unique_id = ste_generate_unique_id();
// Príprava inline štýlov pre farbu a typ písma.
$style = '';
if ( ! empty( $atts['color'] ) ) {
$style .= 'color:' . esc_attr( $atts['color'] ) . ';';
}
if ( ! empty( $atts['font'] ) ) {
$style .= 'font-family:' . esc_attr( $atts['font'] ) . ';';
}
// Vytvorenie výstupného elementu so štýlom a unikátnym ID.
$output = '<span id="' . esc_attr( $unique_id ) . '" class="ste-typing" style="' . esc_attr( $style ) . '"></span>';
// Konverzia atribútov showCursor a loop na JavaScript hodnoty.
$showCursor = ( strtolower($atts['showCursor']) === 'true' ) ? 'true' : 'false';
$loop = ( strtolower($atts['loop']) === 'true' ) ? 'true' : 'false';
// Inline JavaScript pre inicializáciu Typed.js, pričom sa zadáva aj contentType "html"
$output .= '<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
var element = document.getElementById("' . esc_js($unique_id) . '");
if (element) {
new Typed("#' . esc_js($unique_id) . '", {
strings: [' . json_encode( $text ) . '],
typeSpeed: ' . intval($atts['typeSpeed']) . ',
startDelay: ' . intval($atts['startDelay']) . ',
showCursor: ' . $showCursor . ',
loop: ' . $loop . ',
contentType: "html"
});
}
});
</script>';
return $output;
}
add_shortcode( 'simulate_typing', 'ste_typing_shortcode' );
?>
Použitie shortcode
V príspevku alebo stránke môžeš teraz použiť shortcode a vložiť viacriadkový text, ktorý bude animovaný so zachovaným formátovaním:
[simulate_typing typeSpeed="40" startDelay="1000" showCursor="true" loop="false" color="#ff0000" font="Arial"]
Toto je prvý riadok.
Toto je druhý riadok.
Toto je tretí riadok.
[/simulate_typing]