S oživováním hardware máme v Edhouse dlouhodobé zkušenosti. Ve skutečnosti ale takový hardware není živý, jen mu dodáme softwarové rozhraní, pomocí kterého s ním uživatel dokáže komunikovat a ovládat ho. Vdechnout ale hardwaru život, i když jen ten umělý, nemusí být v dnešní době vůbec problém.
Mluvící kávovar
Umělou inteligenci dnes potkáváme na každém kroku, v oblasti hardware si ale myslím, že stále naplno nevyužíváme její potenciál. Přitom stačí poměrně málo – přidat komunikační most, aby si AI agent s hardwarem „porozuměl“.
Bohužel zde nemohu nasdílet svoje hrátky s elektronovým mikroskopem, ale pro ukázku by to stejně mohlo být trochu komplikované a pro většinu čtenářů možná i nudné. Oživení hardware si tedy ukážeme na něčem, co asi každý zná. Zkusíme vdechnout život kávovaru. Tedy pouze hypoteticky – nejsem si jistý, jestli nějaké kávovary nabízí možnost ovládání přes software, ale když jsem se o tomto zmínil kolegům u ranní kávy, začali jsme se pídit po tom, zda nemá náš kávovar USB konektor
Použití MCP serveru
Představme si tedy, že náš hardware má, kromě tlačítek a displeje, taky nějaké softwarové rozhraní pro ovládání. Pro tento účel jsem si napsal simulátor kávovaru v Pythonu:
Softwarové rozhraní nám umožňuje všechny možné operace, které kávovar nabízí a také zjišťování jeho stavu – zda má dostatek vody nebo kávy. Umí také spočítat, zda je dostatek ingrediencí pro přípravu jednotlivých druhů kávy. Aby ale umělá inteligence dokázala s takovým rozhraním komunikovat, potřebuje malého pomocníka. A tím může být MCP server.
MCP server předá AI informaci o tom, co všechno dokáže ovládat ve formě nástrojů. Nástroje můžeme pochopit jako jednotlivé příkazy nebo dotazy, které chceme pokládat. V případě kávovaru to tak může být například “kolik zbývá v nádrži vody?” nebo “uvař mi espresso”.
FastMCP Python knihovna
Protože Python je mým hlavním programovacím jazykem a samotné rozhraní kávovaru je také naprogramované v Pythonu, vybral jsem pro ukázku FastMCP. Pevně věřím, že podobnou knihovnu nebo nástroj už dnes najdeme pro každý běžně používaný programovací jazyk.
FastMCP jsem nainstaloval přes PIP pomocí pip install fastmcp a následně vytvořil soubor, který bude náš MCP server představovat. Do něj potom stačí naimportovat jak rozhraní našeho kávovaru, tak zmíněný modul.
A nyní se už můžeme pustit do implementace. Zde už záleží na naší kreativitě a na tom, jak moc chceme AI komunikaci ulehčit. Můžeme například pouze duplikovat dostupné funkce:
Nebo můžeme přidat další logiku. V takovém případě předáváme AI další potřebné informace, nebo můžeme jednotlivé operace formou nástrojů sloučit do logických celků. V takovém případě můžeme navíc výrazně snížit náklady na používání AI modelu, protože tím současně snižujeme množství dotazů.
Jak vidíte v mém příkladu, jehož kompletní zdrojový kód najdete na našem Githubu, naprogramování takového MCP serveru není vůbec složité. Pokud jste někdy programovali back-end nebo API, zvládnete i tohle.
Povídáme si a propojujeme
MCP server stačí jen nastartovat a začít si s ním povídat. Já k tomu využil rozhraní VS Code editoru a chatovacího agenta Copilot. Pro obsluhu MCP serveru zde slouží soubor .vscode/mcp.json. MCP server můžete také spustit jako webový server a tím ho propojit s dalšími aplikacemi v rámci vaší infrastruktury.
spuštení MCP serveru ve VS Code
Komunikaci s MCP nemusíme omezovat jen na chatování. Můžeme tak vytvářet složitější scénáře nebo pracovní postupy. Do mého příkladu jsem přidal morning-coffee.prompt.md - scénář pro přípravu ranní kávy pro kolegy v kanceláři.
spuštění instrukcí zapsaných v Markdown souboru
Takto můžeme navíc propojovat více zdrojů. Do mého příkladu jsem přidal také simulátor notifikační aplikace, které dokáže kolegům poslat zprávu, že je jejich káva připravená.
Je zajímavé sledovat, jak si AI poradí s různými problémy. V mém případě si například Bob rád po ránu dopřeje latté, jenomže náš kávovar nemá zásobník na mléko. AI se někdy zeptá, co má připravit jako náhradu, a někdy vybere náhradu sama. Bob tak může být každé ráno překvapen, nebo můžeme rutinu upravit a přidat informaci, kterou kávu Bob preferuje jako náhradu.
Sdílet článek
Autor
Jan ZatloukalQA & Cybersecurity Technical Lead se zaměřením na automatizaci procesů a budování vyspělých firemních standardů. V minulosti jsem se věnoval automatizaci elektronových mikroskopů, dnes se specializuji na kybernetickou bezpečnost a propojování vývojových procesů.
Získejte aktuální info ze světa Edhouse - novinky, setkávání, aktuální trendy softwarové i hardwarové.
Děkujeme za váš zájem o odběr našeho newsletteru! Pro dokončení registrace je potřeba potvrdit vaše přihlášení. Na zadaný e-mail jsme vám právě zaslali potvrzovací odkaz. Klikněte prosím na tento odkaz, aby bylo vaše přihlášení dokončeno. Pokud e-mail nenajdete, zkontrolujte prosím složku nevyžádané pošty (spam) nebo složku hromadné pošty.