Techsy
Otetttaa yhteyte
Aloita
Takaisin blogiin
ai-machine-learning

Model Context Protocol: Rakenna ensimmäinen MCP-palvelimesi tänään

Kirjoittanut Mert Batur Gürbüz
Mar 17, 2026
15 lukuaika
Sisällys
Model Context Protocol: Rakenna ensimmäinen MCP-palvelimesi tänään

Model Context Protocol (MCP) on avoin standardi, joka tarjoaa tekoälymalleille yleisen tavan yhdistyä ulkoisiin työkaluihin, tietolähteisiin ja palveluihin. Sen sijaan, että kirjoittaisit räätälöityä integraatiokoodia jokaiseen malli-työkaluyhdistelmään, kirjoitat yhden MCP-palvelimen, jota kaikki yhteensopivat mallit voivat käyttää. Anthropic loi MCP:n loppuvuodesta 2024, Linux Foundation hallinnoi sitä nykyään, ja OpenAI, Google sekä muu agenttinen tekoälyekosysteemi ovat ottaneet sen käyttöön. Tässä on kaikki, mitä sinun tarvitsee tietää MCP:n ymmärtämiseksi, rakentamiseksi ja käyttöönotoksi.

MCP pähkinänkuoressa

Jos haluat nopean version ennen kuin sukellat 6 000 sanan yksityiskohtiin, tässä se on.

AttribuuttiYksityiskohdat
Koko nimiModel Context Protocol (MCP)
LuonutAnthropic (marraskuu 2024), nyt hallinnoi Linux Foundation / AAIF (joulukuu 2025)
Mitä se tekeeYleinen standardi tekoälymallien yhdistämiseksi työkaluihin, dataan ja palveluihin
Ratkaistu ongelmaPoistaa M x N määrä räätälöityjä integraatioita, kuten USB-C tekoälylle
YdinprimitiivitTyökalut (Tools), Resurssit (Resources), Kehotteet (Prompts) ja Näytteenotto (Sampling)
Kuljetuskerrosstdio (paikallinen kehitys), Streamable HTTP (tuotanto)
TodennusOAuth 2.1 (vaadittu HTTP-kuljetukselle)
SDK:tPython (FastMCP), TypeScript, Java, Kotlin, C#
Ekosysteemin kokoYli 10 000 aktiivista palvelinta (Linux Foundationin mukaan, joulukuu 2025)
Tärkeimmät adoptoijatClaude, ChatGPT, Gemini, Cursor, VS Code Copilot, Windsurf
Spesifikaation tilaAvoin standardi, aktiivisesti kehittyvä (vuoden 2026 tiekartta meneillään)
Paras käyttötarkoitusTekoälyagentit, jotka tarvitsevat vuorovaikutusta todellisen maailman työkalujen ja datan kanssa

Nyt pureudutaan kuhunkin näistä, aloittaen siitä, mikä MCP oikeastaan on ja mikä ongelma teki siitä välttämättömän.

Mikä on Model Context Protocol?

Model Context Protocol on avoin, JSON-RPC-pohjainen protokolla, joka standardoi tavan, jolla tekoälymallit löytävät ja ovat vuorovaikutuksessa ulkoisten työkalujen ja datan kanssa. Ajattele sitä HTTP:nä tekoälyintegraatioille – yhteisenä kielenä, jota mikä tahansa malli ja mikä tahansa työkalu voi puhua.

Olet todennäköisesti kuullut USB-C-analogian, ja se on hyödyllinen tiettyyn pisteeseen asti: ennen USB-C:tä jokainen laite tarvitsi oman kaapelinsa. MCP tekee saman tekoälylle, mutta analogia aliarvioi sen merkityksen. USB-C kuljettaa vain dataa ja virtaa. MCP kuljettaa työkalumäärityksiä, datan hakumalleja, uudelleenkäytettäviä kehotemalleja ja antaa jopa palvelinten pyytää valmisteluja (completions) mallilta. Se on rikkaampi protokolla kuin kaapelimetafora antaa ymmärtää.

M x N -ongelma, jonka MCP ratkaisee

Ilman MCP:tä M mallin yhdistäminen N työkaluun vaatii M x N määrä räätälöityjä integraatioita. Oletetaan, että tuet viittä suurta kielimallia (Claude, GPT-4, Gemini, Llama, Mistral) ja niiden tarvitsee päästä käsiksi kymmeneen työkaluun (GitHub, Postgres, Slack, Jira ja niin edelleen). Tämä tarkoittaa 50 räätälöityä integraatiokerrosta, joista jokaisella on oma todennuksensa, virheenkäsittelynsä ja datan muotoilunsa.

MCP:n avulla jokainen malli toteuttaa MCP-asiakasprotokollan kerran, ja jokainen työkalu toteuttaa MCP-palvelimen kerran. Nyt meillä on 5 + 10 = 15 toteutusta 50:n sijaan. Lisäätkö uuden mallin? Se toimii välittömästi kaikkien 10 työkalun kanssa. Lisäätkö uuden työkalun? Kaikki 5 mallia voivat käyttää sitä.

Lyhyt historia MCP:stä

Anthropic julkaisi MCP:n avoimena lähdekoodina marraskuussa 2024 yhdessä Python- ja TypeScript-SDK:iden sekä Claude Desktop -liittimien kanssa. Adoptio eteni nopeasti. OpenAI lisäsi MCP-tuen ChatGPT:hän maaliskuussa 2025. Google seurasi perässä Geminin osalta huhtikuussa 2025. Joulukuuhun 2025 mennessä Anthropic lahjoitti MCP:n Linux Foundationin uudelle Agentic AI Foundationille (AAIF), joka perustettiin yhdessä Blockin ja OpenAI:n kanssa, tehden MCP:stä toimittajariippumattoman standardin, jota hallinnoidaan toimialakohtaisesti.

Mitä MCP EI ole:

  • Ei malli eikä tekoälykehys (se on protokolla, kuten HTTP)
  • Ei korvaaja LangChainille tai LlamaIndexille (ne ovat orkestrointikerroksia; MCP sijaitsee niiden alapuolella)
  • Ei rajoitettu Anthropiciin tai Claudeen (se on suunniteltu malliriippumattomaksi)
  • Ei sama asia kuin funktiokutsut (lisää tästä vertailuosiossa)

Miten MCP toimii? Syvällinen katsaus arkkitehtuuriin

MCP:ssä on kolme roolia, ja niiden sekoittaminen on yleisin aloittelijan virhe. Selvennetään ero.

<!-- IMAGE: MCP arkkitehtuurikaavio, joka näyttää isäntä-, asiakas- ja palvelinroolit todellisilla esimerkeillä kuten Claude Desktop, GitHub MCP Server, Postgres MCP Server -->

Isäntä, asiakas ja palvelin – mikä on ero?

KomponenttiRooliEsimerkkejäMitä se tekee
Isäntä (Host)Sovellus, jonka kanssa käyttäjä on vuorovaikutuksessaClaude Desktop, Cursor, VS CodeTarjoaa käyttöliittymän, hallinnoi asiakasinstansseja
Asiakas (Client)Protokollankäsittelijä isännän sisälläSisäänrakennettu isäntäsovellukseenYlläpitää 1:1-yhteyttä yhteen MCP-palvelimeen
Palvelin (Server)Paljastaa työkalut ja datan MCP:n kauttaGitHub-palvelin, Postgres-palvelin, Slack-palvelinKietoo ulkoiset API:t/datat MCP-yhteensopiviin päätepisteisiin

Tässä on konkreettinen esimerkki: pyydät Claude Desktopia tarkistamaan avoimet GitHub-pull request -pyyntösi. Claude Desktop on isäntä. Sen sisäänrakennettu MCP-asiakas avaa yhteyden GitHub MCP-palvelimeen. Palvelin kutsuu GitHubin API:a, hakee PR:si ja palauttaa tulokset asiakkaalle, joka välittää ne mallille.

Yksi isäntä voi ajaa useita asiakkaita, joista kukin on yhdistetty eri palvelimeen. Näin Claude Desktop voi samanaikaisesti käyttää GitHubia, Postgres-tietokantaasi ja Slacia – kolme erillistä MCP-palvelinta, kolme erillistä asiakasyhteyttä, yksi isäntä.

Miten viestit kulkevat (JSON-RPC 2.0)

Kaikki MCP-viestintä käyttää JSON-RPC 2.0 -protokollaa, kevyttä pyyntö/vastaus-protokollaa. Tältä tools/list-vaihto näyttää langalla:

json
// Client request: "What tools do you have?"
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

// Server response: one tool available
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "inputSchema": {
          "type": "object",
          "properties": {
            "city": { "type": "string" }
          },
          "required": ["city"]
        }
      }
    ]
  }
}

Malli lukee nämä työkalumääritykset, päättää milloin niitä kutsutaan käyttäjän pyynnön perusteella, ja asiakas lähettää tools/call-pyynnön takaisin palvelimelle sopivilla argumenteilla.

Yhteyden elinkaari

Jokainen MCP-istunto noudattaa samaa elinkaarta:

  1. Alustus, asiakas lähettää ominaisuudet, palvelin vastaa omillaan
  2. Ominaisuuksien neuvottelu, molemmat puolet sopivat tuetuista ominaisuuksista (työkalut, resurssit, kehotteet, näytteenotto)
  3. Valmis, yhteys on aktiivinen; pyynnöt virtaavat molempiin suuntiin
  4. Pyynnöt/vastaukset, tools/call, resources/read jne.
  5. Sammutus, siisti katkaisu

Tämä kädenpuristus varmistaa eteenpäin yhteensopivuuden. Jos palvelin lisää uuden primitiivin, vanhemmat asiakkaat jättävät sen huomiotta elegantisti kaatumisen sijaan.

MCP-primitiivit: Työkalut, resurssit, kehotteet ja näytteenotto

MCP määrittelee neljä primitiiviä, ja avain hyvän MCP-palvelimen suunnitteluun on ymmärtää, kuka kontrolli kussakin on.

PrimitiiviKuka kontrolloiSuuntaEsimerkkiKäyttötarkoitus
TyökalutMalli päättää, milloin kutsuuAsiakas -> Palvelincreate_github_issueToiminnot, joita tekoäly suorittaa autonomisesti
ResurssitSovellus/käyttäjä valitseeAsiakas -> Palvelinfile://project/README.mdKontekstiin liitetty data
KehotteetKäyttäjä laukaiseeAsiakas -> Palvelincode_review-malliUudelleenkäytettävät vuorovaikutusmallit
NäytteenottoPalvelin pyytää valmisteluaPalvelin -> AsiakasPalvelin pyytää mallia tiivistämäänAgenttisilmukat, joissa palvelin käyttää LLM:ää

Työkalut (mallin kontrolloimat)

Työkalut ovat funktioita, joita malli voi kutsua. Palvelin ilmoittaa ne nimellä, kuvauksella ja JSON Schema -syötemäärityksellä. Malli lukee nämä määritykset, ja kun käyttäjän pyyntö sitä vaatii, malli päättää kutsua työkalua.

json
// Client sends tools/call request
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": { "city": "Berlin" }
  }
}

Jos olet käyttänyt OpenAI:n funktiokutsuja, työkalut tuntuvat tutuilta, mutta ne on standardoitu kaikissa MCP-yhteensopivissa malleissa.

Resurssit (sovelluksen kontrolloimat)

Resurssit ovat vain-luku-datapäätepisteitä. Toisin kuin työkalut, malli ei päätä hakea resurssia itsestään, vaan isäntäsovellus tai käyttäjä liittää resurssit nimenomaisesti keskustelukontekstiin. Ajattele niitä GET-päätepisteinä: postgres://mydb/users/schema, file://docs/api-reference.md.

Resurssit tukevat tilauksia resources/subscribe:n kautta, joten asiakas voidaan ilmoittaa, kun data muuttuu.

Kehotteet (käyttäjän kontrolloimat)

Kehotteet ovat uudelleenkäytettäviä malleja, jotka MCP-palvelin paljastaa. code_review-kehote voi hyväksyä tiedostopolun ja generoida strukturoidun tarkastuspyynnön. Käyttäjä (tai isännän UI) laukaisee kehotteet nimenomaisesti, malli ei kutsu niitä automaattisesti.

Näytteenotto (palvelimen aloittama), edistynyt

Tämä on primitiivi, jonka useimmat oppaat ohittavat. Näytteenotto antaa palvelimen pyytää asiakasta generoimaan valmistelun LLM:n avulla. Tämä kääntää tavallisen virran: mallin kutsuessa työkalua sijaan työkalu kutsuu mallia.

Miksi? Agenttisilmukat. Kuvittele MCP-palvelin, joka käsittelee tukipyyntöjä. Se lukee pyynnön (resurssi), käyttää sampling/createMessage-kutsua pyytääkseen mallilta tiivistelmän ja käyttää sitten tätä tiivistelmää reitittääkseen pyynnön työkalun kautta. Palvelin orkestroi monivaiheisen työnkulun hyödyntäen mallin älykkyyttä.

Näytteenottoa rajoittaa isäntäsovellus, käyttäjän on hyväksyttävä se, ja isäntä kontrolloi, mitä palvelin voi pyytää. Tämä estää hallitsemattomat silmukat ja säilyttää ihmisen valvonnan.

Rakenna ensimmäinen MCP-palvelimesi: Python ja TypeScript rinnakkain

Teoriaa tarpeeksi. Rakennetaan toimiva MCP-palvelin, joka paljastaa get_weather-työkalun. Näytän sekä Python- että TypeScript-versiot, jotta voit verrata kehittäjäkokemusta ja valita projektiisi sopivan pinon.

Python FastMCP:llä

FastMCP on virallinen korkean tason Python-SDK. Se hoitaa kaiken protokollaputkiston, jotta voit keskittyä työkalulogiikkaasi.

bash
# Install FastMCP
pip install fastmcp
python
# weather_server.py
from fastmcp import FastMCP

mcp = FastMCP("Weather Server")

@mcp.tool()
def get_weather(city: str) -> str:
    """Get the current weather for a city."""
    # In production, call a real weather API here
    weather_data = {
        "Berlin": "Cloudy, 12°C",
        "Tokyo": "Sunny, 22°C",
        "New York": "Rainy, 8°C",
    }
    return weather_data.get(city, f"No data for {city}")

if __name__ == "__main__":
    mcp.run()

Siinä kaikki – 15 riviä. FastMCP päättelee työkalun syöteskeeman Python-tyypitysvihjeistä ja docstringistä. Ei JSON Schema -boilerplatea.

TypeScript virallisella SDK:lla

TypeScript SDK (@modelcontextprotocol/sdk) on hieman eksplisiittisempi, mutta antaa täyden kontrollin skeemamäärityksiin.

bash
# Install the SDK and Zod for schema validation
npm install @modelcontextprotocol/sdk zod
typescript
// weather-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
  name: "Weather Server",
  version: "1.0.0",
});

server.tool(
  "get_weather",
  "Get the current weather for a city",
  { city: z.string() },
  async ({ city }) => {
    const weatherData: Record<string, string> = {
      Berlin: "Cloudy, 12°C",
      Tokyo: "Sunny, 22°C",
      "New York": "Rainy, 8°C",
    };
    return {
      content: [
        { type: "text", text: weatherData[city] ?? `No data for ${city}` },
      ],
    };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

TypeScript-versio käyttää Zod-skeemoja tyypitysvihjeiden sijaan ja palauttaa strukturoituja sisältölohkoja. Sanavalmimpi, mutta tyypinturvallisuus on erinomaista.

Yhdistä Claude Desktopiin

Jotta jompikumpi palvelin saadaan kytketyksi Claude Desktopiin, lisää se claude_desktop_config.json-tiedostoosi:

json
{
  "mcpServers": {
    "weather-python": {
      "command": "python",
      "args": ["weather_server.py"],
      "cwd": "/path/to/your/project"
    },
    "weather-typescript": {
      "command": "npx",
      "args": ["tsx", "weather-server.ts"],
      "cwd": "/path/to/your/project"
    }
  }
}

Käynnistä Claude Desktop uudelleen, ja molemmat sääpalvelimet ilmestyvät työkaluluetteloon. Kysy "Mikä sää on Berliinissä?", ja malli kutsuu get_weather-työkalusi automaattisesti.

Testaa MCP Inspectorilla

Ennen kuin kytket palvelimesi isäntään, testaa sitä eristettynä MCP Inspectorilla:

bash
npx @modelcontextprotocol/inspector python weather_server.py

Inspector avaa selaimen käyttöliittymän, jossa näet löydetyt työkalut, voit kutsua niitä manuaalisesti ja tarkastella JSON-RPC-viestejä, jotka kulkevat edestakaisin. Se on MCP-ekosysteemin paras debuggaustyökalu, käytä sitä varhain ja usein.

MCP-kuljetuskerrokset: stdio kehitykseen, Streamable HTTP tuotantoon

MCP-viestit tarvitsevat tavan kulkea asiakkaan ja palvelimen välillä. Tämä on kuljetuskerros, ja oikean valinta on tärkeä.

KuljetusKäyttötarkoitusEdutHaitatTila
stdioPaikallinen kehitys, henkilökohtaiset työkalutEi konfigurointia, yksinkertainen, nopeaVain samalla koneellaAktiivinen
Streamable HTTPTuotanto, etäpalvelimet, monikäyttäjäToimii verkon yli, tukee striimausta SSE:n kautta, tilaton-ystävällinenVaatii HTTP-palvelimen, tarvitsee todennuksenAktiivinen (2025 spesifikaatio)
HTTP+SSE (vanha)Vanha etäkuljetusOli alkuperäinen etävaihtoehtoKorvattu Streamable HTTP:lläVanhentunut

stdio toimii käynnistämällä MCP-palvelimen aliprosessina ja kommunikoimalla stdin/stdout:n kautta. Sitä käytit yllä olevassa oppaassa, ei portteja, ei TLS:ää, ei todennusta. Täydellinen kehitykseen ja yhden käyttäjän paikallisiin työkaluihin.

Streamable HTTP on tuotantokuljetus, lisätty vuoden 2025 spesifikaatiopäivityksessä. Asiakkaat lähettävät standardeja HTTP POST -pyyntöjä palvelimelle. Palvelin voi vastata synkronisesti tai avata SSE-striimin pidemmille operaatioille. Se on tilaton-ystävällinen, toimii kuormantasaimien takana ja tukee standardia HTTP-todennusta.

Jos näet vanhempia oppaita, jotka mainitsevat "HTTP+SSE":n kahtena erillisenä kuljetuksena (yksi lähettämiseen, yksi vastaanottamiseen), se on vanhentunut lähestymistapa. Streamable HTTP yhdistää molemmat yhdeksi, siistiksi mekanismiksi.

Päätös on suoraviivainen: käytä stdio:ta kehittäessäsi paikallisesti, vaihda streamable-http:iin, kun otat käyttöön muita varten.

typescript
// Switching from stdio to Streamable HTTP in TypeScript
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";

const transport = new StreamableHTTPServerTransport({ port: 3001 });
await server.connect(transport);

MCP vs funktiokutsut vs REST API:t – milloin käyttää mitä?

Tämä on kysymys, joka nousee esiin jokaisessa MCP-keskustelussa, joten ratkaistaan se suoralla vertailulla.

OminaisuusMCPFunktiokutsutREST API:t
StandardointiAvoin protokolla, malliriippumatonToimittajakohtainen (OpenAI, Anthropic omat versiot)Yleinen
Työkalujen löytäminenSisäänrakennettu (tools/list)Ei mitään, lähetät skeemat jokaisessa pyynnössäEi mitään, vaatii dokumentaation tai OpenAPI-spesifikaation
Datan käyttöResurssiprimitiiviEi tuettuStandardipäätepisteet
KehotemallitKehoteprimitiiviEi tuettuEi sovellettavissa
TodennusOAuth 2.1 (spesifikaatiotasolla)Toimittajan API-avainVaihtelee (API-avaimet, OAuth jne.)
StriimausSSE Streamable HTTP:n kauttaToimittajariippuvainenVaihtelee
MonimalliToimii minkä tahansa MCP-yhteensopivan mallin kanssaLukittu yhden toimittajan API:iinMalliriippumaton (liimakoodilla)
PalvelinekosysteemiYli 10 000 valmiiksi rakennettua palvelintaEi sovellettavissaMiljoonia API:eja
Asennuksen monimutkaisuusAja MCP-palvelinLähetä JSON API-kutsussaHTTP-asiakas
Paras käyttötarkoitusMonimalli-, monityökalu-agenttiympäristötYksinkertaiset yhden mallin sovellukset muutamalla työkalullaPalveluiden välinen kommunikointi

Milloin funktiokutsut riittävät

Jos sinulla on alle 5 työkalua ja käytät yhtä mallia, funktiokutsut ovat yksinkertaisempia. Määrittelet työkaluskeemasi inline kunkin API-kutsun yhteydessä, malli palauttaa funktion nimen ja argumentit, ja suoritat ne sovelluskoodissasi. Ei palvelinta ajettavana, ei protokollaa opittavana. Chatbotille, joka tarkistaa tilauksen statuksen ja etsii FAQ-tietoja, funktiokutsut ovat täysin kelvollisia.

Milloin MCP:stä tulee sen arvoista

MCP ansaitsee monimutkaisuutensa, kun:

  • Tuet useita LLM-malleja etkä halua kirjoittaa työkalumäärityksiä uudelleen jokaiselle toimittajalle
  • Tarvitset työkalujen löytämisen, malli voi kysyä, mitä on saatavilla, sen sijaan, että kovakoodaat skeemat
  • Haluat resursseja ja kehotteita, ei vain työkalukutsuja
  • Rakennat tekoälyagentteja, jotka koordinoivat autonomisesti ja tarvitset standardoidun integraatiokerroksen
  • Tiimisi kasvaa ja eri insinöörit rakentavat eri työkaluja, MCP antaa heidän työskennellä itsenäisesti

Tuomio: MCP voittaa, kun tarvitset standardoitua, monimallista työkalujen käyttöä. Funktiokutsut voittavat yksinkertaisissa, yhden mallin käyttötapauksissa. REST API:t pysyvät oikeana valintana perinteiseen palveluiden väliseen kommunikointiin, joka ei sisällä LLM:ää.

MCP-ekosysteemi vuonna 2026: Kuka tukee ja mitä on saatavilla

MCP nousi Anthropicin sivuprojektista teollisuuden standardiksi alle 18 kuukaudessa. Tässä tilannekatsaus.

Mitkä LLM-mallit tukevat MCP:tä?

LLMMCP-tukiAlkaenHuomioita
ClaudeNatiivi, täysi tukiMarraskuu 2024Loi MCP:n; syvin integraatio
ChatGPTVirallinen tukiMaaliskuu 2025OpenAI:n MCP-integraation kautta
GeminiVirallinen tukiHuhtikuu 2025Google Cloud MCP -palvelimet Google-palveluille
Llama / Avoin lähdekoodiAdapterien kautta2025LangChain, LlamaIndex ja custom-adapterit
Copilot (VS Code)Natiivi agenttitilassa2025Microsoft julkaisee MCP-tuen VS Codessa

Tunnettuja MCP-palvelimia, jotka kannattaa tuntea

KategoriaPalvelinMitä se tekee
KoodiGitHubPR:t, issue:t, repositoriot, koodihaku
KoodiGitLabMerge requestit, putket, projektinhallinta
TietokantaPostgreSQLSkeeman tarkastelu, kyselyjen suoritus
TietokantaMySQLKyselyt ja skeeman käyttö
SaaSSlackKanavaviestit, haku, ilmoitukset
SaaSGoogle DriveTiedostojen käyttö, haku, dokumenttien luku
SaaSNotionSivujen luku, tietokantakyselyt
HakuBrave SearchVerkkohaun tulokset
DevOpsDockerKonttien hallinta
InfraAWSPilviresurssien hallinta

Linux Foundationin AAIF-ilmoitus mainitsi yli 10 000 aktiivista palvelinta ja 97 miljoonaa kuukausittaista SDK-latausta MCP:n lahjoituksen aikaan joulukuussa 2025. Ekosysteemi ei ole enää kokeellinen, se on tuotantovalmis.

MCP Apps on uusi primitiivi, joka esiteltiin tammikuussa 2026. Se antaa palvelinten tarjota interaktiivisia UI-komponentteja, jotka renderöityvät isäntäsovelluksen sisällä. Vielä alkuvaiheessa, mutta se signaloi MCP:n evoluutiota dataprotokollasta täydeksi agentti-sovelluskehykseksi. Kannattaa seurata.

Hallinto: Anthropicista Linux Foundationiin

MCP:tä hallinnoi Linux Foundationin alainen Agentic AI Foundation (AAIF), jonka perustajia ovat Anthropic, Block ja OpenAI. Tämä on tärkeää yritysten adoptiolle: MCP ei ole sidottu yhden toimittajan tiekarttaan. Vuoden 2026 tiekartan prioriteetit ovat kuljetuksen kehitys, agenttien välinen kommunikointi (uusi "Tasks"-primitiivi), hallinnon kypsyminen ja yritysten valmius.

Tiimeille, jotka rakentavat tuotantotekoälyjärjestelmiä, kehykset kuten autonominen tekoälyagenttikehys OpenClaw integroituvat jo MCP-palvelimiin antaakseen agenteille todellisen maailman kykyjä.

MCP-turvallisuus: OAuth 2.1, uhkat ja käytännön tarkistuslista

Turvallisuus on alue, jossa MCP-ekosysteemillä on eniten tehtävää. Ja luvut maalaavat karun kuvan.

88 %:n ongelma: Miksi useimmat MCP-palvelimet ovat turvattomia

Astrix Security analysoi yli 5 200 avoimen lähdekoodin MCP-palvelintoteutusta ja havaitsi, että 88 % vaatii jonkinlaisia tunnistetietoja, mutta 53 % luottaa epäturvallisiin, pitkään eläviin staattisiin salaisuuksiin, kuten API-avaimiin ja henkilökohtaisiin pääsytunnisteisiin, jotka on kovakoodattu konfiguraatiotiedostoihin. Vain 8,5 % toteuttaa OAuth:n.

Tämä tarkoittaa, että valtaosa villissä olevista MCP-palvelimista käyttää todennusta, joka vastaa talon avaimen teippaamista etuoveen.

OAuth 2.1 MCP-palvelimille

MCP-spesifikaatio vaatii OAuth 2.1 kaikille HTTP-pohjaisille palvelimille kesäkuun 2025 päivityksestä alkaen. Virtaus toimii näin: MCP-asiakas aloittaa OAuth 2.1 -valtuutusvirran palvelimen kanssa, hankkii rajatun käyttöoikeustunnisteen ja sisällyttää sen jokaiseen myöhempään pyyntöön. PKCE (Proof Key for Code Exchange) on pakollinen kaikille asiakkaille, ei poikkeuksia.

Jos rakennat MCP-palvelinta, joka käyttää Streamable HTTP:tä, OAuth 2.1 ei ole valinnainen. Se on spesifikaation määräämä.

Uhkamalli: Mikä voi mennä pieleen

Neljä uhkaa ansaitsee huomion missä tahansa MCP-käyttöönotossa:

  • Kehoteinjektio työkalujen kautta, pahantahtoinen tai kompromisoitunut datalähde palauttaa sisältöä, joka on suunniteltu manipuloimaan mallia. Jos työkalu hakee verkkosivun ja sivu sisältää piilotettuja ohjeita, malli voi suorittaa ne.
  • Sekava edustaja -hyökkäys (Confused deputy attack), malli kutsuu työkalua, jolla on laajemmat oikeudet kuin käyttäjä tarkoitti. Jos MCP-palvelimella on admin-oikeudet tietokantaan, malli voisi teoriassa pudottaa taulun.
  • Tunnistekeskittymäriski, MCP-palvelin, joka pitää hallussaan API-avaimia GitHubiin, Slaciin ja tuotantotietokantaasi, on yksittäinen arvokas kohde. Kompromisoi yksi palvelin, kompromisoi kaikki, joihin se on yhdistetty.
  • Epäturvallinen kuljetus, HTTP MCP-palvelimen ajaminen ilman TLS:ää paljastaa jokaisen pyynnön, mukaan lukien OAuth-tunnisteet ja arkaluonteinen data, selväkielisenä.

Turvallisuustarkistuslista tuotanto-MCP:lle

  1. Toteuta OAuth 2.1 mille tahansa HTTP:n yli altistetulle palvelimelle. Ei staattisia API-avaimia konfiguraatiotiedostoissa.
  2. Sovella vähimmän oikeuden periaatetta. Jos työkalusi vain lukee dataa, palvelimen tunnistetietojen pitäisi olla vain-luku. Älä anna raportointityökalulle kirjoitusoikeutta.
  3. Eristä tunnistetiedot. Jokaisella MCP-palvelimella tulisi olla omat rajatut tunnisteensa. Älä jaa yhtä "jumalatunnistetta" palvelinten kesken.
  4. Pakota TLS kaikkialla. Streamable HTTP ilman HTTPS:ää on automaattinen ei-ei tuotannossa.
  5. Validoi ja puhdista työkalujen tulosteet. Käsittele työkalujen palauttamaa dataa samalla tavalla kuin käyttäjän syötettä, älä luota siihen sokeasti.
  6. Rajoita työkalukutsujen määrää. Hallitsematon agenttisilmukka, joka kutsuu työkalua tuhansia kertoja, voi tyhjentää API-kiintiöt tai aiheuttaa tahattomia sivuvaikutuksia.
  7. Auditoi ja logita jokainen työkalukutsu. Sisällytä pyyntötunnisteet, aikaleimat, kutsuva malli ja työkalun argumentit. Tarvitset tätä debuggaukseen ja turvallisuusincidenttien käsittelyyn.

MCP:n debuggaus: Inspector, lokitus ja yleiset virheet

Kohtaat virheitä. Jokainen kehittäjä kohtaa. Tässä on ohjeet niiden nopeaan korjaamiseen.

MCP Inspector on virallinen debuggaustyökalu ja ensimmäinen puolustuslinjasi. Se yhdistyy mihin tahansa MCP-palvelimeen, löytää sen työkalut/resurssit/kehotteet ja antaa sinun kutsua niitä manuaalisesti näyttäen raaka JSON-RPC-liikenteen.

bash
# Launch Inspector against your Python server
npx @modelcontextprotocol/inspector python weather_server.py

# Or against a TypeScript server
npx @modelcontextprotocol/inspector npx tsx weather-server.ts

Inspector avaa selaimen käyttöliittymän, jossa on välilehdet Tools, Resources, Prompts ja ilmoituspaneeli. Voit kutsua mitä tahansa työkalua custom-argumenteilla ja nähdä tarkalleen, mikä JSON kulkee langalla. Käytä sitä ennen yhdistämistä isäntäsovellukseen, palvelimen debuggaus eristettynä on paljon helpompaa.

Yleiset virheet ja korjaukset

  • "Server not found" Claude Desktopissa, lähes aina polkuongelma claude_desktop_config.json:ssa. Tarkista, että command osoittaa olemassa olevaan binääriin ja cwd oikeaan hakemistoon. macOS:ssä käytä absoluuttisia polkuja.
  • Työkaluskeeman validointivirheet, jos malli lähettää argumentteja, jotka eivät vastaa työkalun inputSchema:a, palvelin hylkää kutsun. Tarkista, että skeematyypit vastaavat mallin odotuksia. Zod (TypeScript) ja tyypitysvihjeet (Python) sieppaavat useimmat näistä määrittelyvaiheessa.
  • Kuljetusyhteyden katkeamiset, stdio:n kohdalla tämä tarkoittaa yleensä palvelinprosessin kaatumista. Tarkista stderr-ulostulo. Streamable HTTP:n kohdalla tarkista aikakatkaisuasetukset, pitkät työkalut voivat ylittää oletusarvoiset HTTP-aikakatkaisut.
  • "Permission denied" tai 401-virheet, OAuth-skooppi liian kapea. Palvelin hylkää tunnisteen, koska sillä ei ole vaadittuja oikeuksia. Laajenna skooppi, mutta vain niin paljon kuin työkalu todella tarvitsee.

Lokituksen best practices

Strukturoi lokisi pyyntötunnisteilla, jotta voit jäljittää yksittäisen käyttäjäpyynnön MCP-asiakkaan, palvelimen ja mahdollisten downstream-API:den läpi. Logita jokainen tools/call-kutsu työkalun nimen, argumenttien, vasteajan ja tulosteen statuksen kanssa. Tuotannossa toimita nämä lokit observability-alustalle, kun jotain menee pieleen klo 3 aamulla, olet iloinen, että teit niin.

Miten Techsy rakentaa MCP:llä

Olemme integroineet MCP:tä asiakasprojekteihin alkuvuodesta 2025 alkaen, ja yleisin havaintomme on tämä: tiimillä on tekoälyominaisuus, joka toimii yhden mallin ja muutaman työkalun kanssa, mutta he suunnittelevat skaalausta – enemmän malleja, enemmän datalähteitä, enemmän agenttiominaisuuksia. Tämä on käännekohta, jossa MCP alkaa tuottaa arvoa.

Lähestymistapamme seuraa kolmea vaihetta:

  1. Arvioi sopivuus. Kaikki projektit eivät tarvitse MCP:tä. Jos kutsut kahta työkalua yhdestä mallista, funktiokutsut ovat yksinkertaisempia, ja kerromme sen sinulle. MCP on järkevä, kun yhdistät 3+ datalähdettä, tuet useita malleja tai rakennat agenttityönkulkuja, joissa työkalujen on oltava löydettävissä.
  2. Rakenna ja testaa palvelimet eristettynä. Kehitämme custom-MCP-palvelimet jokaiselle datalähteelle, sisäisille tietokannoille, SaaS-API:eille, proprietaarisille palveluille ja validoimme ne MCP Inspectorilla ennen minkään isännän kytkemistä.
  3. Ota käyttöön Streamable HTTP:llä ja OAuth 2.1:llä. Tuotannossa ajamme MCP-palvelimet kontitettuina palveluina TLS:n takana, rajatuilla OAuth-tunnisteilla ja strukturoidulla lokituksella alusta alkaen. Ei staattisia salaisuuksia.

Yleisimmät integraatiot, joita rakennamme: tekoälyavustajien yhdistäminen sisäisiin Postgres-tietokantoihin, custom-MCP-palvelimien rakentaminen asiakkaiden SaaS-alustoille ja tiimien migraatio hajautetuista funktiokutsuasetuksista standardoituun MCP-arkkitehtuuriin.

Rakennatko tekoälypohjaisia työkaluja, jotka tarvitsevat yhteyden infrastruktuuriisi? Autamme tiimejä arkkitehtuurin suunnittelussa ja MCP-integraatioiden toteutuksessa. Pyydä ilmainen konsultointi

Usein kysytyt kysymykset MCP:stä

Mikä on Model Context Protocol (MCP)?

MCP on avoin standardi, jonka alun perin loi Anthropic ja jota nyt hallinnoi Linux Foundation. Se määrittelee, miten tekoälymallit yhdistyvät ulkoisiin työkaluihin, tietolähteisiin ja palveluihin. Se standardoi integraatiokerroksen, jotta yksi MCP-palvelin toimii minkä tahansa yhteensopivan mallin kanssa, kuten yleispistoke tekoälylle.

Miten MCP toimii?

MCP käyttää kolmiosaista arkkitehtuuria: isäntäsovellus (kuten Claude Desktop tai Cursor), isännän sisällä oleva MCP-asiakas, joka hallinnoi yhteyksiä, ja MCP-palvelimet, jotka paljastavat työkalut ja datan. Kaikki kommunikointi käyttää JSON-RPC 2.0 -viestejä joko stdion (paikallinen) tai Streamable HTTP:n (etä) kautta.

Mihin MCP:tä käytetään?

Yleisiä käyttötarkoituksia ovat tekoälyavustajien yhdistäminen tietokantoihin (Postgres, MySQL), integraatio koodialustoihin (GitHub, GitLab), SaaS-työkalujen käyttö (Slack, Notion, Google Drive) ja autonomisten tekoälyagenttien rakentaminen, jotka tarvitsevat vuorovaikutusta todellisen maailman palveluiden kanssa.

Onko MCP sama asia kuin funktiokutsut?

Ei. Funktiokutsut ovat mallikohtaisia (OpenAI:n formaatti eroaa Anthropicin) ja pyyntökohtaisia, lähetät työkaluskeemat jokaisessa API-kutsussa. MCP on standardoitu protokolla, joka toimii mallien yli, tukee työkalujen löytämistä ja sisältää resursseja ja kehotteita pelkän funktion suorituksen lisäksi.

Mitä ovat MCP-palvelimet?

MCP-palvelimet ovat ohjelmia, jotka paljastavat työkaluja, resursseja ja kehotteita tekoälymalleille MCP-protokollan kautta. Ne kietovat ulkoiset API:t ja datalähteet standardoituun rajapintaan. Esimerkkejä ovat GitHub MCP -palvelin (PR- ja issue-hallintaan) ja Postgres MCP -palvelin (tietokantakyselyihin).

Miten rakennan MCP-palvelimen?

Käytä Pythonia FastMCP:n kanssa (pip install fastmcp) tai TypeScriptiä virallisen SDK:n kanssa (npm install @modelcontextprotocol/sdk). Määrittele työkalusi decoratoituina funktioina (Python) tai rekisteröityinä käsittelijöinä (TypeScript) ja aja palvelin. Katso yllä oleva opasosa saadaksesi täydellisen toimivan koodin tai seuraa askel askeleelta -opastamme MCP-palvelimen rakentamiseen alusta alkaen saadaksesi kattavan läpikäynnin.

Onko MCP turvallinen?

Protokolla itsessään tukee OAuth 2.1 -todennusta ja rajattuja oikeuksia. Astrix Securityn tutkimus kuitenkin havaitsi, että 88 % olemassa olevista MCP-palvelintoteutuksista luottaa staattisiin salaisuuksiin OAuth:n sijaan. Protokolla on turvallinen by design, mutta useimmat todellisen maailman käyttöönotot eivät ole vielä saavuttaneet tätä tasoa.

Mitkä LLM-mallit tukevat MCP:tä?

Claudella on natiivi MCP-tuki sen luomisesta alkaen marraskuussa 2024. ChatGPT lisäsi tuen maaliskuussa 2025, ja Gemini seurasi huhtikuussa 2025. Avoimen lähdekoodin mallit voivat käyttää MCP:tä adapterien kautta LangChainissä ja LlamaIndexissä.

Mikä on ero MCP:n ja REST API:n välillä?

REST API:t on suunniteltu yleiseen palveluiden väliseen kommunikointiin. MCP on suunniteltu nimenomaan tekoälymallien vuorovaikutukseen, se sisältää työkalujen löytämisen, skeemaneuvottelun, resurssien käytön ja kehotemallit, joita REST:ssä ei ole. Et korvaisi REST API:eja MCP:llä; ne palvelevat eri kerroksia.

Kuka ylläpitää MCP:tä nyt?

Linux Foundationin Agentic AI Foundation (AAIF), joka perustettiin joulukuussa 2025, hallinnoi MCP:tä. Sen perustajia ovat Anthropic, Block ja OpenAI. Tämä toimittajariippumaton hallinto on keskeinen syy siihen, miksi yritykset omaksuvat MCP:n.

Mikä on Streamable HTTP MCP:ssä?

Streamable HTTP on tuotantokuljetusmekanismi, joka lisättiin vuoden 2025 MCP-spesifikaatiopäivityksessä. Se korvaa vanhemman HTTP+SSE-kuljetuksen siistimmällä suunnittelulla: asiakkaat lähettävät HTTP POST -pyyntöjä, ja palvelimet voivat vastata synkronisesti tai SSE-striimauksen kautta. Se toimii kuormantasaimien takana ja tukee standardia HTTP-todennusta.

Kuinka monta MCP-palvelinta on olemassa?

Linux Foundation mainitsi yli 10 000 aktiivista palvelinta ja 97 miljoonaa kuukausittaista SDK-latausta, kun MCP lahjoitettiin AAIF:lle joulukuussa 2025. Ekosysteemi kattaa tietokannat, koodityökalut, SaaS-integraatiot, hakukoneet ja pilvi-infrastruktuurin tarjoajat.

Johtopäätös

MCP on noussut Anthropicin avoimen lähdekoodin kokeilusta teollisuuden standardiprotokollaksi tekoälymallien yhdistämiseksi työkaluihin vain hieman yli vuodessa. Tässä on olennaiset asiat:

  • MCP ratkaisee M x N -ongelman, yksi palvelin toimii jokaisen yhteensopivan mallin kanssa, yksi asiakas toimii jokaisen palvelimen kanssa
  • Voit rakentaa toimivan MCP-palvelimen alle 50 rivillä Pythonia (FastMCP) tai TypeScriptiä
  • Käytä stdiota kehitykseen, Streamable HTTP:tä tuotantoon, kuljetusvalinta on suoraviivainen
  • Suojaa palvelimesi OAuth 2.1:llä – 88 % nykyisistä toteutuksista ei tee niin, ja se on todellinen riski
  • Ekosysteemi on tuotantovalmis – yli 10 000 palvelinta, kaikki tärkeimmät LLM-mallit, toimittajariippumaton hallinto Linux Foundationin alla

Tulevaisuuteen katsoen vuoden 2026 tiekartta keskittyy agenttien väliseen kommunikointiin uuden Tasks-primitiivin kautta, parannettuun yritysturvallisuuteen ja MCP Appseihin interaktiivisia palvelinohjattuja käyttöliittymiä varten. MCP ei ole enää vain protokolla työkalujen käyttöön, siitä on tulossa agenttisen tekoälyn infrastruktuurikerros.

Aloita yllä olevalla opaskoodilla, testaa sitä MCP Inspectorissa ja yhdistä se Claude Desktopiin. Sinulla on toimiva MCP-integraatio alle tunnissa.

Lähteet

  • MCP Spesifikaatio (2025-11-25)
  • MCP Todennusspesifikaatio
  • MCP Kuljetusspesifikaatio
  • MCP Inspector Dokumentaatio
  • Introducing the Model Context Protocol, Anthropic
  • Donating MCP to the Linux Foundation, Anthropic
  • Linux Foundation AAIF Ilmoitus
  • Google Cloud MCP Tuki
  • FastMCP Python SDK
  • MCP TypeScript SDK
  • Astrix Security: State of MCP Server Security 2025
  • MCP 2026 Tiecarta

Aihepiirit

model context protocolmcpmcp palvelintekoälyagentitmcp opasmcp arkkitehtuurifastmcptekoälyn kehitys

Jaa tämä artikkeli

Aiheeseen liittyvät julkaisut

Lisää aiheesta ai-machine-learning

ai-machine-learning
Jul 24, 2026

Claude Opus 5 on täällä: Lähes Fable 5:n älykkyys puoleen hintaan

Anthropic julkaisi Claude Opus 5:n 24. heinäkuuta 2026. Se yli kaksinkertaistaa Opus 4.8:n tuloksen Frontier-Benchissä ja pitää Opus-hinnoittelun, mutta häviää muutamia testejä Fable 5:lle ja Mythos 5:lle. Tässä benchmark-taulukko, hinnoittelu ja vaihda/odota/pysy-suositus.

10 min read lukuaika
Lue
ai-machine-learning
Jul 20, 2026

8 parasta tekoälypohjaista web scraping -APIa vuonna 2026 (testattu omalla agenttipinollamme)

Testasimme 8 tekoälypohjaista web scraping -APIa todellisilla vuoden 2026 hinnoilla, jotka haimme oman agenttipinomme kautta. Firecrawl, Bright Data, ScrapingBee ja 5 muuta – sijoitettuna LLM-valmiin tulosteen, bottitorjunnan ja MCP-tuen mukaan.

9 min read lukuaika
Lue
ai-machine-learning
Jul 20, 2026

Kehitystyön prompt-suunnittelu: 7 mallia, joita käytämme päivittäin Claude Codessa ja Cursorissa (2026)

Useimmat 'tekoälyn koodausprompteja' käsittelevät artikkelit tarjoavat 50 valmista mallia kopioitavaksi. Tämä opettaa 7 mallia, joita käytämme joka päivä 16 agentin Claude Code -putkiston ajamiseen, mukana todelliset ennen-jälkeen-esimerkit kustakin sekä tieto siitä, missä kukin malli sijaitsee Claude Codessa, Cursorissa ja Copilotissa vuonna 2026.

11 min read lukuaika
Lue
Katso kaikki julkaisut
Aloita projekti

Valmiina rakentamaan jotain erinomainen?

Muutetaan visiosi todellisuudeksi. Tiimimme on valmis auttamaan sinua luomaan ohjelmistoja, joilla on todellinen vaikutus.

Varaa lyhyt suunnittelukeskusteluKatso töitämme

Suosittuja kirjastosta

Claude-taidot

Katso kaikki
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tekoäly automatisoinnit

Katso kaikki
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Suosittuja kirjastosta

Claude-taidot

Katso kaikki
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tekoäly automatisoinnit

Katso kaikki
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Palvelut

  • Yritysratkaisut
  • Mobiilisovellukset
  • Verkkosovellukset

Ratkaisut

  • CRM-järjestelmät
  • Tekoälyintegraatio
  • ERP-ratkaisut
  • Ääniapurarit
  • Prosessien automatisointi
  • Kyberturvallisuus

Kirjasto

  • Blogi
  • Portfolio

Yhteisö

  • Tekoäly automatisoinnit
  • Claude-taidot

Työkalut

  • Mobile sovelluksen hintalaskuri
  • OpenAI / LLM API -hintalaskuri
  • MVP-hintalaskuri
  • Puhe-tekoälyasiamies-hintalaskuri

Yritys

  • Tietoja
  • Kumppanit
  • Ota yhteyttä

Juridiset asiat

  • Tietosuopolitiiikka
  • Käyttöehdot
  • Evästekäytäntö

Palvelut

  • Yritysratkaisut
  • Mobiilisovellukset
  • Verkkosovellukset

Ratkaisut

  • CRM-järjestelmät
  • Tekoälyintegraatio
  • ERP-ratkaisut
  • Ääniapurarit
  • Prosessien automatisointi
  • Kyberturvallisuus

Kirjasto

  • Blogi
  • Portfolio

Yhteisö

  • Tekoäly automatisoinnit
  • Claude-taidot

Työkalut

  • Mobile sovelluksen hintalaskuri
  • OpenAI / LLM API -hintalaskuri
  • MVP-hintalaskuri
  • Puhe-tekoälyasiamies-hintalaskuri

Yritys

  • Tietoja
  • Kumppanit
  • Ota yhteyttä
Juridiset asiatTietosuopolitiiikkaKäyttöehdotEvästekäytäntö
TECHSY
© 2026 Techsy. Kaikki oikeudet pidätetään.