
Python-kirjastot Model Context Protocol (MCP) -palvelimen kehittämiseen
Nopea esimerkki oman MCP-palvelimen kehittämisestä Pythonilla.
MCP standardisoi LLM-mallien turvallisen pääsyn ulkoisiin tietoihin, työkaluihin ja liitännäisiin, mahdollistaen joustavan ja tehokkaan tekoälyn integroinnin ja yhteentoimivuuden.
Mallin kontekstiprotokolla (MCP) on avoin standardirajapinta, jonka avulla suuret kielimallit (LLM) voivat turvallisesti ja yhdenmukaisesti käyttää ulkoisia tietolähteitä, työkaluja ja ominaisuuksia. Se luo standardoidun viestintäkerroksen tekoälysovellusten ja eri kontekstin tarjoajien välille, toimien AI-järjestelmien “USB-C”:nä.
MCP noudattaa asiakas-palvelin-arkkitehtuuria:
MCP määrittelee kolme perusprimiitiä, jotka muodostavat protokollan rakennuspalikat:
Resurssit edustavat tietoja ja sisältöä, joita MCP-palvelimet tarjoavat LLM-malleille.
Esimerkki: MCP-palvelin tarjoaa lokitiedoston resurssina URI:lla file:///logs/app.log
Kehotteet ovat ennalta määriteltyjä mallipohjia tai työnkulkuja, joita palvelimet tarjoavat ohjatakseen LLM-mallien vuorovaikutusta.
Esimerkki: Git commit -viestigeneraattori, joka ottaa syötteenä koodimuutokset
Työkalut tarjoavat suoritettavia toimintoja, joita LLM-mallit voivat kutsua (yleensä käyttäjän hyväksynnällä) suorittaakseen toimintoja.
Esimerkki: Laskintyökalu, joka suorittaa matemaattisia laskutoimituksia mallin syötteillä
// Palvelin, joka tarjoaa yhden lokitiedoston resurssina
const server = new Server({ /* config */ }, { capabilities: { resources: {} } });
// Listaa saatavilla olevat resurssit
server.setRequestHandler(ListResourcesRequestSchema, async () => {
return {
resources: [
{
uri: "file:///logs/app.log",
name: "Sovelluksen lokit",
mimeType: "text/plain"
}
]
};
});
// Tarjoa resurssin sisältö
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
if (request.params.uri === "file:///logs/app.log") {
const logContents = await readLogFile();
return {
contents: [{
uri: request.params.uri,
mimeType: "text/plain",
text: logContents
}]
};
}
throw new Error("Resurssia ei löytynyt");
});
const server = new Server({ /* config */ }, { capabilities: { tools: {} } });
// Listaa saatavilla olevat työkalut
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [{
name: "calculate_sum",
description: "Laske kahden luvun summa",
inputSchema: {
type: "object",
properties: {
a: { type: "number", description: "Ensimmäinen luku" },
b: { type: "number", description: "Toinen luku" }
},
required: ["a", "b"]
},
annotations: {
title: "Summa",
readOnlyHint: true,
openWorldHint: false
}
}]
};
});
// Käsittele työkalun suoritus
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "calculate_sum") {
try {
const { a, b } = request.params.arguments;
if (typeof a !== 'number' || typeof b !== 'number') {
throw new Error("Virheellinen syöte: 'a' ja 'b' on oltava lukuja.");
}
const sum = a + b;
return {
content: [{ type: "text", text: String(sum) }]
};
} catch (error: any) {
return {
isError: true,
content: [{ type: "text", text: `Virhe summan laskennassa: ${error.message}` }]
};
}
}
throw new Error("Työkalua ei löytynyt");
});
MCP on avoin standardirajapinta, joka mahdollistaa LLM-mallien turvallisen ja yhdenmukaisen pääsyn ulkoisiin tietolähteisiin, työkaluihin ja ominaisuuksiin, luoden standardoidun viestikerroksen tekoälysovellusten ja kontekstin tarjoajien välille.
MCP koostuu isännistä, asiakkaista, palvelimista ja tietolähteistä. Se käyttää ydinelementteinä resursseja, kehotteita ja työkaluja mahdollistamaan joustavan ja turvallisen vuorovaikutuksen LLM-mallien ja ulkoisten järjestelmien välillä.
MCP yksinkertaistaa tekoälyn integrointia, parantaa tietoturvaa, vähentää toimittajalukkoa ja mahdollistaa kehittäjille ja organisaatioille sujuvan pääsyn monipuoliseen tietoon ja työkaluihin.
MCP voidaan toteuttaa palvelimilla, jotka tarjoavat resursseja tai työkaluja (esim. lokitiedoston luku, laskintyökalut) standardoidun rajapinnan kautta, mikä yksinkertaistaa yhteyksiä tekoälymalleihin.
MCP standardisoi prosessin, jossa LLM-mallit kutsuvat ulkoisia toimintoja tai työkaluja, samalla tavalla kuin liitännäiset laajentavat selainten tai ohjelmistojen ominaisuuksia.
Aloita tehokkaiden tekoälyjärjestelmien rakentaminen standardoitujen integraatioiden, turvallisen tietoyhteyden ja joustavien työkaluliitäntöjen avulla FlowHuntilla.
Nopea esimerkki oman MCP-palvelimen kehittämisestä Pythonilla.
Tutustu, kuinka Model Context Protocol (MCP) mahdollistaa turvalliset tiedostojärjestelmäoperaatiot tekoälyavustajille ja kehitystyökaluille. Tämä kattava opas ...
ModelContextProtocol (MCP) -palvelin toimii siltana tekoälyagenttien ja ulkoisten tietolähteiden, APIen ja palveluiden välillä, mahdollistaen FlowHunt-käyttäjil...