Dio 5 od 5: Činjenje AI Zaista Korisnim Koristeći Model Context Protocol
Dobrodošli u naš završni članak! Izgradili smo RAG sustave, fino podešavali modele i stvorili prilagođenu AI od nule. Sada dolazi najuzbudljiviji dio — činjenje vaše AI zaista korisnom u stvarnom svijetu. Upoznajte Model Context Protocol (MCP), most između AI i svega ostaloga.
Što je MCP i Zašto Bi Vas Trebalo Brinuti?
Razmislite kako je frustrirajuće kada pitajte ChatGPT da "provjeri moj kalendar" ili "pošalji ovaj email" i on kaže "Ne mogu to učiniti." To je zato što ti AI modeli žive u izolaciji — mogu razmišljati i pisati, ali ne mogu se zapravo interaktivno povezati s vašim alatima, bazama podataka i aplikacijama na standardiziran način.
Model Context Protocol (MCP), razvijen od strane Anthropica, rješava ovaj osnovni problem. Nije samo o tome da dajete vašoj AI "ruke i oči" — to je o kreiranju standardiziranog načina za AI modele da pronađu, povežu se s i međusobno djeluju s vanjskim resursima i alatima.
Evo ključnog uvida: umjesto da svaki razvojni inženjer gradi svoje prilagođene integracije alata (koji svi funkcioniraju drugačije), MCP kreira univerzalni standard. Razmislite o tome kao o USB priključcima za AI alate — bilo koji MCP-kompatibilan alat može raditi s bilo kojom MCP-kompatibilnom AI aplikacijom.
Pokazat ću vam s primjerom koji sam napravio: CmdGenie, koji demonstrira MCP principe u akciji.
Uzmimo analogiju CmdGeniea: alata koji sam napravio za terminalske naredbe:
CmdGenie je naredbeni redak alat koji pretvara vaše zahtjeve u prirodnom jeziku u stvarne terminalske naredbe. Iako tehnički nije MCP server sam po sebi, demonstrira temeljnu MCP filozofiju: AI povezanu s vašim stvarnim sustavom kroz standardizirane sučelja.
Umjesto pretraživanja "kako pronaći velike datoteke u Linuxu" i kopiranja terminalskih naredbi, samo kažete:
cmdgenie "find all files larger than 100MB in my home directory"
I ono kreira i nudi izvršavanje:
find ~/ -type f -size +100M -exec ls -lh {} ;
Razumijevanje MCP Arhitekture
Prije nego što dublje zaronimo u CmdGenie, razumimo što je MCP zapravo:
MCP Poslužitelji — Aplikacije koje pružaju alate i resurse koje AI može koristiti. Razmislite o njima kao o specijaliziranim pružateljima usluga.
MCP Klijenti — AI aplikacije koje se povezuju na MCP poslužitelje kako bi otkrile i koristile dostupne mogućnosti.
Prijevozi — Sloj komunikacije (obično stdio ili Server-Sent Events) koji omogućuje klijentima i poslužiteljima da razgovaraju.
Evo kritičnog dijela: AI model se pokreće na klijentskoj strani, ali može otkriti i pozvati alate koji se nalaze na različitim MCP poslužiteljima. To kreira distribuirani ekosustav gdje:
- Alati su standardizirani i ponovno iskoristivi
- Sigurnost se održava (poslužitelji se pokreću u izolaciji)
- Mogućnosti se mogu dijeliti između aplikacija
- Svaki poslužitelj može implementirati kontrolu pristupa na razini zrnatosti
CmdGenie Arhitektura: MCP Principi Primijenjeni
Evo što se dogodi kada koristite CmdGenie, demonstrirajući ključne MCP koncepte:
1. Otkriće Konteksta i Standardizacija
const systemContext = {
platform: os.platform(), // Windows, Mac, Linux
currentDir: process.cwd(),
availableCommands: checkAvailableCommands(),
userPreferences: loadUserConfig()
};
Na pravi MCP način, sustav otkriva dostupne mogućnosti i kontekst. AI zna na kojem sustavu se pokreće i prilagođava se sukladno — pitajte za "popis procesa" na Windowsu, dobijete tasklist; pitajte na Linuxu, dobijete ps aux.
2. Standardizacija Više Davatelja
const providers = {
'openai': { defaultModel: 'gpt-3.5-turbo' },
'anthropic': { defaultModel: 'claude-3-haiku-20240307' },
'google': { defaultModel: 'gemini-pro' },
'cohere': { defaultModel: 'command' }
};
Baš kao što MCP nije vezan na jedan specifičan AI model, CmdGenie demonstrira fleksibilnost davatelja. Možete se prebaciti između različitih AI davatelja ovisno o vašim potrebama, troškovima ili zahtjevima performansi.
3. Sigurno Izvršavanje s Čovjekom u Petlji
console.log(`n💡 Generated command: ${command}`);
rl.question('n🚀 Execute this command? (y/N): ', async (answer) => {
if (answer.toLowerCase() === 'y') {
try {
const { stdout, stderr } = await execAsync(command);
if (stdout) console.log(stdout);
if (stderr) console.error(stderr);
} catch (error) {
console.error('❌ Execution error:', error.message);
}
}
});
Ovo demonstrira kritičan MCP princip: AI predlaže, čovjek odobrava. Klijent (vaš terminal) ostaje u kontroli onoga što se zapravo izvršava.
Gradnja Pravog MCP Poslužitelja
Dok CmdGenie pokazuje MCP principe, pogledajmo kako biste izgradili pravi MCP poslužitelj. Evo jednostavnog poslužitelja za matematičke operacije:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP(name="mcp-server", host="0.0.0.0", port=8000)
@mcp.tool() def add(a: int, b: int) -> int: """Add two numbers""" return a + b
@mcp.tool() def multiply(a: int, b: int) -> int: """Multiply two numbers""" return a * b
if __name__ == "__main__": mcp.run(transport="sse")
Lijepa stvar kod MCP je standardizacija:
- Dekorator
@mcp.tool()automatski genira ispravne sheme alata - Bilo koji MCP klijent može otkriti i koristiti te alate
- Poslužitelj se pokreće neovisno i može služiti više klijentima
Izvan CmdGeniea: Prave MCP Aplikacije
Principi iza CmdGeniea primjenjuju se na bezbroj MCP scenarija:
Poslužitelj za Upravljanje Emailom
@mcp.tool() async def send_email(to: str, subject: str, body: str): """Send an email through the configured email service""" # Implementation connects to actual email service pass
Poslužitelj za Integraciju Kalendara
@mcp.tool() async def find_available_slot(duration: int, participants: list): """Find available meeting time for given participants""" # Implementation connects to calendar service pass
Poslužitelj za Operacije Datotečnog Sustava
@mcp.tool() async def organize_directory(path: str, rules: dict, preview: bool = True): """Organize files in directory according to specified rules""" # Implementation handles actual file operations pass
Prava Snaga: Kontekstna AI sa Standardiziranim Alatima
Ono što čini MCP moćnom nije samo to što AI može izvršiti naredbe — to je što pruža standardiziran način za kontekstno svjesne odluke. CmdGenie demonstrira ovu kontekstnu svjesnost:
Korisnik kaže: "Pokaži mi što zauzima prostor"
- Na Windowsu:
dir /s /-c | sort /r - Na Linuxu:
du -h --max-depth=1 | sort -hr - Na macOS-u:
du -h -d 1 | sort -hr
U MCP ekosustavu, ta kontekstna svjesnost postaje još moćnija jer:
- Više poslužitelja može pružati kontekst (informacije sustava, korisničke preferencije, dostupni alati)
- AI može povezati alate s različitih poslužitelja kako bi obavila složene zadatke
- Sve slijedi isti standardiziran protokol
Gradnja Vaše Vlastite MCP Integracije
Spremni za gradnju u MCP ekosustavu? Evo uzorka:
1. Definirajte Vaš MCP Poslužitelj
from mcp.server.fastmcp import FastMCP
mcp = FastMCP(name="my-custom-server")
@mcp.tool() def my_tool(param: str) -> str: """Description of what this tool does""" # Your implementation here return result
2. Stvorite Alate Koji su Svjesni Konteksta
@mcp.tool() def system_aware_command(user_request: str): """Generate system-appropriate command for user request""" system_info = get_system_context() user_prefs = get_user_preferences()return generate_command(user_request, system_info, user_prefs)
3. Implementirajte Sigurnost i Validaciju
@mcp.tool()
def safe_file_operation(operation: str, path: str):
"""Perform file operation with safety checks"""
if not is_safe_path(path):
raise ValueError("Path not approved for operations")
preview = generate_preview(operation, path)
# In real implementation, you'd have approval mechanism
return execute_with_safety_checks(operation, path)
4. Povežite se s MCP Klijentima
Bilo koji MCP-kompatibilan klijent može otkriti i koristiti vaš poslužitelj:
# Client code (simplified)
async def use_mcp_server():
session = await connect_to_mcp_server("http://localhost:8000/sse")
tools = await session.list_tools()
result = await session.call_tool(
name="my_tool",
arguments={"param": "value"}
)
return result
MCP Principi Dizajna
Od gradnje alata poput CmdGeniea i razumijevanja MCP arhitekture, evo ključnih principa:
Standardizacija: Alati slijede konzistentne sheme i protokole Čovjek u Petlji: AI predlaže, čovjek odobrava kritične akcije Svjesnost Konteksta: AI se prilagođava okruženju, korisničkim preferencijama i trenutnom stanju Sigurnost na Prvom Mjestu: Validirajte, pregledajte i ograničite potencijalno opasne operacije Transparentnost: Pokažite korisnicima točno što radi AI Reverzibilnost: Kada je moguće, dopustite korisnicima da ponište AI akcije Učenje: Poboljšajte se na temelju uspjeha i neuspjeha Kompatibilnost: Bilo koji MCP klijent može raditi s bilo kojim MCP poslužiteljem
Česti MCP Problemi
Prekomplicirana Automatizacija: Ne automatizujte sve. Neki zadaci trebali bi ostati ručni zbog sigurnosti i nadzora.
Opterećenje Konteksta: Previše konteksta može zbuniti AI. Budite selektivni oko toga koju informaciju uključiti.
Slijepilo na Sigurnost: MCP poslužitelji imaju pristup osjetljivim operacijama. Implementirajte pravilnu sigurnost od početka.
Ignoriranje Standarda: Snaga MCP dolazi iz standardizacije. Nemojte krirati prilagođene protokole.
Loša Obrada Grešaka: Distribuirani sustavi neće raditi. Planirajte mrežne greške, prekide poslužitelja i rubne slučajeve.
Vaše MCP Putovanje Počinje Ovdje
Nije vam potrebna gradnja sljedećeg Cursora kako biste profitirali od MCP-a. Počnite malim koracima:
Odaberite Jedan Tijek Rada: Odaberite nešto što redovito radite Identificirajte Potrebne Alate: Koje mogućnosti bi AI trebala da pomogne? Gradite ili Pronađite MCP Poslužitelje: Kreirajte jednostavne poslužitelje ili koristite postojeće Dodajte Sigurnosne Prečke: Implementirajte odobravanje i validaciju tijekova rada Učite i Iterirajte: Poboljšajte se na temelju stvarne uporabe
Budućnost AI nije samo pametnije modele — to je AI koja zapravo može obaviti stvari u svijetu kroz standardizirane, sigurne i ponovno iskoristive protokole. MCP je taj protokol, i ekosustav se tek počinje razvijati.
Želite istražiti kod? Pogledajte CmdGenie ovdje i pokušajte ga koristeći npm od ovdje. Zaključak Našeg Putovanja
Puno smo pokrivanja u ovoj seriji:
- Članak 1: Razumijevanje AI krajolika
- Članak 2: Gradnja RAG sustava za bolji pristup informacijama
- Članak 3: Fino podešavanje modela za vaše specifične potrebe
- Članak 4: Kreiranje prilagođenih modela od nule
- Članak 5: Povezivanje AI sa stvarnim svijetom s MCP-om
Zajednička nit? AI je najmoćnija kada je povezana s vašim specifičnim kontekstom, podacima i tokovima rada. Bilo kroz RAG, fino podešavanje, prilagođene modele ili MCP integracije, cilj je isti: činjenje AI koji zapravo pomaže da obavite stvari.
Alati postoje. Modeli su dostupni. Jedino je pitanje: što ćete graditi?
Budućnost AI nije zamjena ljudima — to je o poboljšanju ljudskih sposobnosti inteligentnim, kontekstnim, povezanim sustavima. I sada znate kako ih graditi.
Hvala što ste prošli kroz ovu seriju članaka. Uvijek sam otvoren za razgovore o tehnologiji ili filmovima. Možete me kontaktirati na LinkedInu.


