{"id":372084,"date":"2026-07-09T12:48:09","date_gmt":"2026-07-09T10:48:09","guid":{"rendered":""},"modified":"2026-07-10T16:04:31","modified_gmt":"2026-07-10T14:04:31","slug":"integraatiot-api-mcp","status":"publish","type":"page","link":"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/","title":{"rendered":"V2C-integraatiot: API Cloud, API Local ja MCP"},"content":{"rendered":"\n<div class=\"wp-block-uagb-container uagb-block-9d828d1c alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\"><div class=\"yoast-breadcrumbs\"><span><span><a href=\"https:\/\/v2charge.com\/fi\/\">V2C<\/a><\/span> \u00bb <span><a href=\"https:\/\/v2charge.com\/fi\/tukialue\/\">Tukialue<\/a><\/span> \u00bb <span class=\"breadcrumb_last\" aria-current=\"page\">V2C-integraatiot: API Cloud, API Local ja MCP<\/span><\/span><\/div>\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-be8360a4\"><h1 class=\"uagb-heading-text\">Integraatiot API Cloudin, paikallisen API:n ja MCP:n kanssa<\/h1><\/div>\n\n<p class=\"wp-block-paragraph\">Valitse, miten haluat yhdist\u00e4\u00e4 laturisi: internetin kautta V2C Cloud -API:n avulla, suoraan paikallisverkossasi Local API:n avulla tai suosikkiteko\u00e4lyavustajasi kautta MCP:ll\u00e4.<\/p><\/div><\/div>\n\n\n<div class=\"v2c-int\" id=\"v2c-integraciones\">\n\n  <!-- =====================================================================\n       2. SELECTOR \u2014 p\u00e4\u00e4t\u00f6spuu kahdella\/kolmella tasolla\n  ===================================================================== -->\n  <section class=\"v2c-int__band v2c-int__band--grey\">\n    <div class=\"v2c-int__wrap\">\n      <p class=\"v2c-int-eyebrow\">VALITSE YHTEYDEN MUOTO<\/p>\n\n      <!-- Taso 1: kolme p\u00e4\u00e4vaihtoehtoa -->\n      <div class=\"v2c-int-tabs\" role=\"tablist\" aria-label=\"Yhteyden muoto\">\n        <button class=\"v2c-int-tab is-active\" type=\"button\" role=\"tab\" aria-selected=\"true\" data-target=\"cloud\">\n          <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z\"><\/path><\/svg>\n          API Cloud\n        <\/button>\n        <button class=\"v2c-int-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-target=\"local\">\n          <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"2\" y=\"2\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"><\/rect><rect x=\"2\" y=\"14\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"><\/rect><line x1=\"6\" y1=\"6\" x2=\"6.01\" y2=\"6\"><\/line><line x1=\"6\" y1=\"18\" x2=\"6.01\" y2=\"18\"><\/line><\/svg>\n          API Local\n        <\/button>\n        <button class=\"v2c-int-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-target=\"mcp\">\n          <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" ry=\"2\"><\/rect><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"><\/rect><line x1=\"9\" y1=\"1\" x2=\"9\" y2=\"4\"><\/line><line x1=\"15\" y1=\"1\" x2=\"15\" y2=\"4\"><\/line><line x1=\"9\" y1=\"20\" x2=\"9\" y2=\"23\"><\/line><line x1=\"15\" y1=\"20\" x2=\"15\" y2=\"23\"><\/line><line x1=\"20\" y1=\"9\" x2=\"23\" y2=\"9\"><\/line><line x1=\"20\" y1=\"14\" x2=\"23\" y2=\"14\"><\/line><line x1=\"1\" y1=\"9\" x2=\"4\" y2=\"9\"><\/line><line x1=\"1\" y1=\"14\" x2=\"4\" y2=\"14\"><\/line><\/svg>\n          MCP\n        <\/button>\n      <\/div>\n\n      <!-- Paneeli: API Cloud -->\n      <div class=\"v2c-int-panel is-active\" id=\"v2c-int-panel-cloud\" role=\"tabpanel\">\n        <p class=\"v2c-int-panel__desc\">\n          P\u00e4\u00e4set latauslaitteesi tietoihin ja toimintoihin internetin kautta,\n          REST API:n avulla. Tarvitset V2C Cloud -tilin ja p\u00e4\u00e4sytokenin.\n        <\/p>\n        <a class=\"v2c-int-btn\" href=\"https:\/\/api.v2charge.com\/\" target=\"_blank\" rel=\"noopener\">\n          Siirry dokumentaatioon\n          <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\n        <\/a>\n      <\/div>\n\n      <!-- Paneeli: API Local (taso 2 ja 3 sis\u00e4kk\u00e4in) -->\n      <div class=\"v2c-int-panel\" id=\"v2c-int-panel-local\" role=\"tabpanel\" hidden=\"\">\n        <p class=\"v2c-int-panel__desc\">\n          Kommunikoi suoraan latauslaitteen kanssa paikallisessa verkossasi \u2014ilman\n          pilvipalveluiden riippuvuutta\u2014 Modbusin tai HTTP-pyynt\u00f6jen avulla,\n          mallista riippuen.\n        <\/p>\n\n        <p class=\"v2c-int-label\">Valitse latausmallisi<\/p>\n        <div class=\"v2c-int-tabs v2c-int-tabs--sub\" role=\"tablist\" aria-label=\"Latausmalli\">\n          <button class=\"v2c-int-tab is-active\" type=\"button\" role=\"tab\" aria-selected=\"true\" data-subtarget=\"trydan\">Trydan \/ Trydan Pro<\/button>\n          <button class=\"v2c-int-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-subtarget=\"pole\">Pole \/ Denka<\/button>\n        <\/div>\n\n        <!-- Taso 3: vain Trydan\/Trydan Pro:lla on kaksi protokollaa -->\n        <div class=\"v2c-int-subpanel is-active\" id=\"v2c-int-subpanel-trydan\" role=\"tabpanel\">\n          <p class=\"v2c-int-panel__desc v2c-int-panel__desc--sub\">Saatavilla Modbus RTU\/TCP:n tai HTTP-pyynt\u00f6jen kautta.<\/p>\n          <div class=\"v2c-int-btn-row\">\n            <a class=\"v2c-int-btn v2c-int-btn--outline\" href=\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vQGA_7Z4YaSMZeHRTnAP6z_82dVPmM33NxJhvsDBEFn8LyWjX-RX_fkR7KCErqAE4aGFvPrUufooHoM\/pubhtml#\" target=\"_blank\" rel=\"noopener\">\n              Modbus RTU ja TCP\n              <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\n            <\/a>\n            <a class=\"v2c-int-btn v2c-int-btn--outline\" href=\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vQGA_7Z4YaSMZeHRTnAP6z_82dVPmM33NxJhvsDBEFn8LyWjX-RX_fkR7KCErqAE4aGFvPrUufooHoM\/pubhtml#gid=1147522182\" target=\"_blank\" rel=\"noopener\">\n              HTTP-pyynt\u00f6\n              <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\n            <\/a>\n          <\/div>\n        <\/div>\n\n        <!-- Pole \/ Denka: vain yksi protokolla, ilman kolmatta tasoa -->\n        <div class=\"v2c-int-subpanel\" id=\"v2c-int-subpanel-pole\" role=\"tabpanel\" hidden=\"\">\n          <p class=\"v2c-int-panel__desc v2c-int-panel__desc--sub\">Saatavilla Modbus RTU\/TCP:n kautta.<\/p>\n          <div class=\"v2c-int-btn-row\">\n            <a class=\"v2c-int-btn v2c-int-btn--outline\" href=\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vTm0rxIBsOTeKvmALuE9jBz-5OHo9mvmiibsg5stbbRcFC-oEZRGK_XI1fDySbQFp7TVVHg62v7A7Ar\/pubhtml\" target=\"_blank\" rel=\"noopener\">\n              Modbus RTU ja TCP\n              <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\n            <\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Paneeli: MCP -->\n      <div class=\"v2c-int-panel\" id=\"v2c-int-panel-mcp\" role=\"tabpanel\" hidden=\"\">\n        <p class=\"v2c-int-panel__desc\">\n          Yhdist\u00e4 latauslaitteesi suoraan suosikkiteko\u00e4lyavustajaasi \u2014Claude,\n          ChatGPT, Gemini tai Grok\u2014 avoimen standardin Model\n          Context Protocolin avulla.\n        <\/p>\n        <a class=\"v2c-int-btn\" href=\"https:\/\/v2charge.com\/fi\/mcp\/\" target=\"_blank\" rel=\"noopener\">\n          Katso liit\u00e4nn\u00e4ohje\n          <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- =====================================================================\n       3. KUVASTUS KUSTA YHTEYDEST\u00c4\n  ===================================================================== -->\n  <section class=\"v2c-int__band v2c-int__band--white\">\n    <div class=\"v2c-int__wrap\">\n      <p class=\"v2c-int-eyebrow\">MIK\u00c4 ON ERO?<\/p>\n      <h2 class=\"v2c-int-h2\">Tutustu kolmeen integrointimuotoon tarkemmin.<\/h2>\n\n      <div class=\"v2c-int-cards\">\n        <article class=\"v2c-int-card\">\n          <div class=\"v2c-int-card__icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z\"><\/path><\/svg>\n          <\/div>\n          <h3 class=\"v2c-int-h3\">API Cloud<\/h3>\n          <p class=\"v2c-int-card__desc\">REST API internetin kautta. Vaatii V2C Cloud -tilin ja p\u00e4\u00e4sytokenin.<\/p>\n          <p class=\"v2c-int-card__audience\"><strong>Kelle:<\/strong> kehitt\u00e4jille, jotka haluavat luoda sovelluksia tai et\u00e4automaatioita.<\/p>\n        <\/article>\n\n        <article class=\"v2c-int-card\">\n          <div class=\"v2c-int-card__icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"2\" y=\"2\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"><\/rect><rect x=\"2\" y=\"14\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"><\/rect><line x1=\"6\" y1=\"6\" x2=\"6.01\" y2=\"6\"><\/line><line x1=\"6\" y1=\"18\" x2=\"6.01\" y2=\"18\"><\/line><\/svg>\n          <\/div>\n          <h3 class=\"v2c-int-h3\">API Local<\/h3>\n          <p class=\"v2c-int-card__desc\">Suora yhteys latauslaitteeseen paikallisessa verkossasi (Modbus RTU\/TCP tai HTTP-pyynt\u00f6, mallista riippuen), ilman pilvipalveluiden riippuvuutta.<\/p>\n          <p class=\"v2c-int-card__audience\"><strong>Kelle:<\/strong> asentajille ja automaatioj\u00e4rjestelmien integroijille.<\/p>\n        <\/article>\n\n        <article class=\"v2c-int-card\">\n          <div class=\"v2c-int-card__icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" ry=\"2\"><\/rect><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"><\/rect><line x1=\"9\" y1=\"1\" x2=\"9\" y2=\"4\"><\/line><line x1=\"15\" y1=\"1\" x2=\"15\" y2=\"4\"><\/line><line x1=\"9\" y1=\"20\" x2=\"9\" y2=\"23\"><\/line><line x1=\"15\" y1=\"20\" x2=\"15\" y2=\"23\"><\/line><line x1=\"20\" y1=\"9\" x2=\"23\" y2=\"9\"><\/line><line x1=\"20\" y1=\"14\" x2=\"23\" y2=\"14\"><\/line><line x1=\"1\" y1=\"9\" x2=\"4\" y2=\"9\"><\/line><line x1=\"1\" y1=\"14\" x2=\"4\" y2=\"14\"><\/line><\/svg>\n          <\/div>\n          <h3 class=\"v2c-int-h3\">MCP<\/h3>\n          <p class=\"v2c-int-card__desc\">Yhdist\u00e4 latauslaite suoraan suosikkiteko\u00e4lyavustajaasi (Claude, ChatGPT, Gemini, Grok).<\/p>\n          <p class=\"v2c-int-card__audience\"><strong>Kelle:<\/strong> aikaisille k\u00e4ytt\u00e4jille, jotka haluavat hallita lataustaan puhumalla teko\u00e4lylleen.<\/p>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- =====================================================================\n       4. MCP YKSITYISKOHTAISESTI \u2014 korostettu osio, musta kaista\n  ===================================================================== -->\n  <section class=\"v2c-int__band v2c-int__band--black\">\n    <div class=\"v2c-int__wrap\">\n      <p class=\"v2c-int-eyebrow\">MCP<\/p>\n      <h2 class=\"v2c-int-h2\">Latauslaitteesi, teko\u00e4lyavustajasi sis\u00e4ll\u00e4.<\/h2>\n      <p class=\"v2c-int-lead v2c-int-lead--wide\">\n        MCP (<em>Model Context Protocol<\/em>) on avoin standardi, joka yhdist\u00e4\u00e4\n        teko\u00e4lyavustajat todellisiin palveluihin \u2014teko\u00e4lyn USB-C\u2014. V2C MCP:n avulla\n        avustajasi ei en\u00e4\u00e4 &#8221;tied\u00e4 asioita latauslaitteista&#8221; yleisesti, vaan alkaa n\u00e4hd\u00e4\n        <strong>latauslaitteesi, tietosi ja suorittaa toimintoja reaaliajassa<\/strong>.\n      <\/p>\n\n      <p class=\"v2c-int-label v2c-int-label--dark\">Toimii<\/p>\n      <div class=\"v2c-int-chips\">\n        <span class=\"v2c-int-chip\">Claude<\/span>\n        <span class=\"v2c-int-chip\">ChatGPT<\/span>\n        <span class=\"v2c-int-chip\">Gemini<\/span>\n        <span class=\"v2c-int-chip\">Grok<\/span>\n        <span class=\"v2c-int-chip\">Claude Code<\/span>\n        <span class=\"v2c-int-chip\">Mik\u00e4 tahansa MCP-asiakas<\/span>\n      <\/div>\n\n      <div class=\"v2c-int-mcp-grid\">\n        <div>\n          <p class=\"v2c-int-label v2c-int-label--dark\">Kokeile lauseilla kuten<\/p>\n          <ul class=\"v2c-int-examples\">\n            <li>\u201cLataako autoni juuri nyt?\u201d<\/li>\n            <li>\u201cLukitse latauslaite\u201d<\/li>\n            <li>\u201cLuo uusi latausprofiili\u201d<\/li>\n            <li>\u201cRajoita virta 16 A:iin\u201d<\/li>\n            <li>\u201cKuinka paljon olen s\u00e4\u00e4st\u00e4nyt aurinkopaneeleilla?\u201d<\/li>\n          <\/ul>\n        <\/div>\n        <div>\n          <p class=\"v2c-int-label v2c-int-label--dark\">Turvallisuus<\/p>\n          <p class=\"v2c-int-panel__desc v2c-int-panel__desc--dark\">\n            P\u00e4\u00e4sy valtuutetaan OAuth 2.0:n avulla V2C Cloud -tilisi kautta:\n            kirjaudut sis\u00e4\u00e4n v2c.cloudiin, et koskaan chattiin, ja teko\u00e4ly saa vain\n            rajoitetun ja peruutettavan tokenin. Voit peruuttaa p\u00e4\u00e4syn milloin tahansa,\n            avustajasi tai tilisi kautta.\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <a class=\"v2c-int-btn v2c-int-btn--invert\" href=\"https:\/\/v2charge.com\/fi\/mcp\/\">\n        Katso t\u00e4ydelliset liit\u00e4nn\u00e4ohjeet\n        <svg class=\"v2c-int-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\n      <\/a>\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<!-- =====================================================================\n     JS \u2014 vanilja, minimaalinen: vaihda tasoja 1 ja 2\n===================================================================== -->\n<script>\n  (function(){\n    var root = document.getElementById('v2c-integraciones');\n    if (!root) return;\n\n    function activate(tabs, panels, target) {\n      tabs.forEach(function (t) {\n        var isMatch = t.getAttribute('data-target') === target || t.getAttribute('data-subtarget') === target;\n        t.classList.toggle('is-active', isMatch);\n        t.setAttribute('aria-selected', isMatch ? 'true' : 'false');\n      });\n      panels.forEach(function (p) {\n        var isMatch = p.id === 'v2c-int-panel-' + target || p.id === 'v2c-int-subpanel-' + target;\n        p.classList.toggle('is-active', isMatch);\n        if (isMatch) { p.removeAttribute('hidden'); } else { p.setAttribute('hidden', ''); }\n      });\n    }\n\n    var level1Tabs = Array.prototype.slice.call(root.querySelectorAll('.v2c-int-tabs:not(.v2c-int-tabs--sub) > .v2c-int-tab'));\n    var level1Panels = Array.prototype.slice.call(root.querySelectorAll('.v2c-int-panel'));\n    level1Tabs.forEach(function (tab) {\n      tab.addEventListener('click', function () {\n        activate(level1Tabs, level1Panels, tab.getAttribute('data-target'));\n      });\n    });\n\n    var level2Tabs = Array.prototype.slice.call(root.querySelectorAll('.v2c-int-tabs--sub > .v2c-int-tab'));\n    var level2Panels = Array.prototype.slice.call(root.querySelectorAll('.v2c-int-subpanel'));\n    level2Tabs.forEach(function (tab) {\n      tab.addEventListener('click', function () {\n        activate(level2Tabs, level2Panels, tab.getAttribute('data-subtarget'));\n      });\n    });\n  })();\n<\/script>","protected":false},"excerpt":{"rendered":"<p>Valitse, miten yhdist\u00e4t V2C-laturisi: API Cloudin, paikallisen API:n (Modbus\/HTTP) tai MCP:n kautta teko\u00e4lyavustajille.<\/p>\n","protected":false},"author":400,"featured_media":0,"parent":311542,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","content-type":"","_uag_custom_page_level_css":"\/* ---- v2c-int component styles (movidos fuera del contenido traducible) ---- *\/\n\n  .v2c-int{\n    --ink:#0E0E0E;\n    --surface:#ffffff;\n    --grey-light:#F4F4F2;\n    --grey-card:#F8F8F6;\n    --line:#ECECEA;\n    --muted:#7A7A78;\n    --text:#1F1F1F;\n    --line-dark:rgba(255,255,255,.2);\n    --muted-dark:#A6A6A4;\n\n    font-family:\"Montserrat\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif;\n    color:var(--text);\n    -webkit-font-smoothing:antialiased;\n    overflow-x:hidden;\n  }\n  .v2c-int *{box-sizing:border-box;}\n\n  .v2c-int__band{width:100%;}\n  .v2c-int__band--white{background:var(--surface);}\n  .v2c-int__band--grey{background:var(--grey-light);}\n\n  .v2c-int__wrap{\n    max-width:1100px;\n    margin:0 auto;\n    padding:clamp(48px,8vw,88px) 20px;\n  }\n  @media (min-width:768px){ .v2c-int__wrap{padding-left:32px;padding-right:32px;} }\n\n  .v2c-int__hero{text-align:center;}\n  .v2c-int__hero .v2c-int-lead{margin-left:auto;margin-right:auto;text-align:center;}\n\n  \/* ---- Tipograf\u00eda ---- *\/\n  .v2c-int-eyebrow{\n    margin:0 0 16px;\n    font-size:12px;\n    font-weight:700;\n    letter-spacing:0.18em;\n    text-transform:uppercase;\n    color:var(--muted);\n  }\n  .v2c-int-h1{\n    margin:0 0 20px;\n    font-weight:700;\n    font-size:clamp(32px,5vw,52px);\n    line-height:1.02;\n    letter-spacing:-0.03em;\n    color:var(--ink);\n  }\n  .v2c-int-h2{\n    margin:0 0 40px;\n    font-weight:700;\n    font-size:clamp(26px,3.6vw,36px);\n    line-height:1.08;\n    letter-spacing:-0.025em;\n    color:var(--ink);\n  }\n  .v2c-int-h3{\n    margin:0 0 8px;\n    font-weight:600;\n    font-size:19px;\n    letter-spacing:-0.01em;\n    color:var(--ink);\n  }\n  .v2c-int-lead{\n    margin:0;\n    font-size:17px;\n    line-height:1.6;\n    color:var(--text);\n    max-width:56ch;\n  }\n  .v2c-int-icon{width:18px;height:18px;flex-shrink:0;}\n\n  \/* ---- Selector: tabs de nivel 1 ---- *\/\n  .v2c-int-tabs{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    margin:0 0 32px;\n  }\n  .v2c-int-tab{\n    display:inline-flex;\n    align-items:center;\n    gap:8px;\n    padding:12px 20px;\n    border-radius:999px;\n    border:1px solid var(--line);\n    background:var(--surface);\n    color:var(--muted);\n    font-family:inherit;\n    font-weight:600;\n    font-size:14px;\n    cursor:pointer;\n    transition:border-color .15s ease, color .15s ease, background-color .15s ease;\n  }\n  .v2c-int-tab:hover{border-color:var(--ink);color:var(--ink);}\n  .v2c-int-tab.is-active{\n    background:var(--ink);\n    border-color:var(--ink);\n    color:#fff;\n  }\n  .v2c-int-tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}\n\n  \/* ---- Selector: tabs de nivel 2 (sub) ---- *\/\n  .v2c-int-tabs--sub{margin:0 0 24px;}\n  .v2c-int-tabs--sub .v2c-int-tab{\n    background:var(--surface);\n    padding:10px 18px;\n    font-size:13px;\n  }\n  .v2c-int-tabs--sub .v2c-int-tab.is-active{\n    background:var(--surface);\n    border-color:var(--ink);\n    color:var(--ink);\n    box-shadow:inset 0 -2px 0 var(--ink);\n  }\n\n  \/* ---- Paneles ---- *\/\n  .v2c-int-panel{\n    background:var(--surface);\n    border:1px solid var(--line);\n    border-radius:16px;\n    padding:32px;\n  }\n  .v2c-int-panel[hidden]{display:none;}\n  .v2c-int-panel__desc{\n    margin:0 0 24px;\n    font-size:15px;\n    line-height:1.65;\n    color:var(--text);\n    max-width:62ch;\n  }\n  .v2c-int-panel__desc--sub{margin-bottom:20px;}\n  .v2c-int-label{\n    margin:0 0 12px;\n    font-size:13px;\n    font-weight:700;\n    color:var(--ink);\n  }\n  .v2c-int-subpanel[hidden]{display:none;}\n\n  \/* ---- Botones ---- *\/\n  .v2c-int-btn-row{display:flex;flex-wrap:wrap;gap:12px;}\n  .v2c-int-btn{\n    display:inline-flex;\n    align-items:center;\n    gap:10px;\n    padding:14px 26px;\n    border-radius:999px;\n    background:var(--ink);\n    color:#fff;\n    font-weight:600;\n    font-size:15px;\n    text-decoration:none;\n    border:1px solid var(--ink);\n    transition:background-color .15s ease, color .15s ease, border-color .15s ease;\n  }\n  .v2c-int-btn:hover{background:var(--surface);border-color:var(--ink);color:var(--ink);}\n  .v2c-int-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px;}\n  .v2c-int-btn--outline{\n    background:transparent;\n    color:var(--ink);\n    border-color:var(--ink);\n  }\n  .v2c-int-btn--outline:hover{background:var(--ink);border-color:var(--ink);color:#fff;}\n  .v2c-int-btn--invert{background:var(--surface);color:var(--ink);border-color:var(--surface);}\n  .v2c-int-btn--invert:hover{background:var(--grey-light);border-color:var(--grey-light);color:var(--ink);}\n\n  \/* ---- Tarjetas de descripci\u00f3n ---- *\/\n  .v2c-int-cards{\n    display:grid;\n    grid-template-columns:1fr;\n    gap:24px;\n  }\n  @media (min-width:768px){ .v2c-int-cards{grid-template-columns:repeat(3,1fr);} }\n  .v2c-int-card{\n    padding:28px;\n    background:var(--grey-card);\n    border:1px solid var(--line);\n    border-radius:14px;\n  }\n  .v2c-int-card__icon{\n    width:40px;height:40px;\n    display:flex;align-items:center;justify-content:center;\n    border-radius:50%;\n    background:var(--surface);\n    border:1px solid var(--line);\n    color:var(--ink);\n    margin-bottom:18px;\n  }\n  .v2c-int-card__icon svg{width:18px;height:18px;}\n  .v2c-int-card__desc{\n    margin:0 0 14px;\n    font-size:14.5px;\n    line-height:1.6;\n    color:var(--text);\n  }\n  .v2c-int-card__audience{\n    margin:0;\n    font-size:13px;\n    line-height:1.55;\n    color:var(--muted);\n  }\n\n  .v2c-int a:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px;}\n  .v2c-int__band--black a:focus-visible{outline-color:#fff;}\n\n  \/* ---- Secci\u00f3n MCP destacada (banda negra) ---- *\/\n  .v2c-int__band--black{background:var(--ink);}\n  .v2c-int__band--black .v2c-int-eyebrow{color:var(--muted-dark);}\n  .v2c-int__band--black .v2c-int-h2{color:#fff;}\n  .v2c-int-lead--wide{max-width:72ch;margin-bottom:36px;font-size:17px;color:#E7E7E5;}\n  .v2c-int-lead--wide strong{color:#fff;}\n\n  .v2c-int-label--dark{color:#fff;}\n  .v2c-int-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px;}\n  .v2c-int-chip{\n    padding:8px 16px;\n    border-radius:999px;\n    border:1px solid var(--line-dark);\n    color:#E7E7E5;\n    font-size:13px;\n    font-weight:500;\n  }\n\n  .v2c-int-mcp-grid{\n    display:grid;\n    grid-template-columns:1fr;\n    gap:32px;\n    margin-bottom:40px;\n  }\n  @media (min-width:768px){ .v2c-int-mcp-grid{grid-template-columns:1fr 1fr;} }\n  .v2c-int-examples{\n    list-style:none;\n    margin:0;\n    padding:0;\n    display:flex;\n    flex-direction:column;\n    gap:10px;\n  }\n  .v2c-int-examples li{\n    padding:12px 16px;\n    border:1px solid var(--line-dark);\n    border-radius:10px;\n    font-size:14px;\n    color:#E7E7E5;\n  }\n  .v2c-int-panel__desc--dark{color:#C9C9C7;max-width:none;}","footnotes":""},"class_list":["post-372084","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>V2C-integraatiot: API Cloud, API Local ja MCP - V2C<\/title>\n<meta name=\"description\" content=\"Valitse, miten integroida V2C-laturisi: API Cloud, API Local (Modbus\/HTTP) tai MCP yhdist\u00e4\u00e4ksesi sen suosikkiteko\u00e4lyysi.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"V2C-integraatiot: API Cloud, API Local ja MCP - V2C\" \/>\n<meta property=\"og:description\" content=\"Valitse, miten integroida V2C-laturisi: API Cloud, API Local (Modbus\/HTTP) tai MCP yhdist\u00e4\u00e4ksesi sen suosikkiteko\u00e4lyysi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/\" \/>\n<meta property=\"og:site_name\" content=\"V2C\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/V2C.Charge\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-10T14:04:31+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@V2C_Charge\" \/>\n<meta name=\"twitter:label1\" content=\"Arvioitu lukuaika\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/tukialue\\\/integraatiot-api-mcp\\\/\",\"url\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/tukialue\\\/integraatiot-api-mcp\\\/\",\"name\":\"V2C-integraatiot: API Cloud, API Local ja MCP - V2C\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/#website\"},\"datePublished\":\"2026-07-09T10:48:09+00:00\",\"dateModified\":\"2026-07-10T14:04:31+00:00\",\"description\":\"Valitse, miten integroida V2C-laturisi: API Cloud, API Local (Modbus\\\/HTTP) tai MCP yhdist\u00e4\u00e4ksesi sen suosikkiteko\u00e4lyysi.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/tukialue\\\/integraatiot-api-mcp\\\/#breadcrumb\"},\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/v2charge.com\\\/fi\\\/tukialue\\\/integraatiot-api-mcp\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/tukialue\\\/integraatiot-api-mcp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"V2C\",\"item\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tukialue\",\"item\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/tukialue\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"V2C-integraatiot: API Cloud, API Local ja MCP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/#website\",\"url\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/\",\"name\":\"V2C\",\"description\":\"#CargandoElMa\u00f1ana\",\"publisher\":{\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/#organization\",\"name\":\"V2C\",\"url\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/v2charge.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-v2c-charge-logo-menu.png\",\"contentUrl\":\"https:\\\/\\\/v2charge.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-v2c-charge-logo-menu.png\",\"width\":984,\"height\":431,\"caption\":\"V2C\"},\"image\":{\"@id\":\"https:\\\/\\\/v2charge.com\\\/fi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/V2C.Charge\",\"https:\\\/\\\/x.com\\\/V2C_Charge\",\"https:\\\/\\\/www.instagram.com\\\/v2c.charge\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@V2C\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/v2c-chargers\\\/\"],\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"telephone\":\"+34960654554\",\"email\":\"info@v2charge.com\",\"availableLanguage\":[\"Spanish\",\"English\",\"Portuguese\",\"French\"]},{\"@type\":\"ContactPoint\",\"contactType\":\"sales\",\"telephone\":\"+34960654554\",\"email\":\"info@v2charge.com\",\"availableLanguage\":[\"Spanish\",\"English\"]}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"V2C-integraatiot: API Cloud, API Local ja MCP - V2C","description":"Valitse, miten integroida V2C-laturisi: API Cloud, API Local (Modbus\/HTTP) tai MCP yhdist\u00e4\u00e4ksesi sen suosikkiteko\u00e4lyysi.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/","og_locale":"fi_FI","og_type":"article","og_title":"V2C-integraatiot: API Cloud, API Local ja MCP - V2C","og_description":"Valitse, miten integroida V2C-laturisi: API Cloud, API Local (Modbus\/HTTP) tai MCP yhdist\u00e4\u00e4ksesi sen suosikkiteko\u00e4lyysi.","og_url":"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/","og_site_name":"V2C","article_publisher":"https:\/\/www.facebook.com\/V2C.Charge","article_modified_time":"2026-07-10T14:04:31+00:00","twitter_card":"summary_large_image","twitter_site":"@V2C_Charge","twitter_misc":{"Arvioitu lukuaika":"2 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/","url":"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/","name":"V2C-integraatiot: API Cloud, API Local ja MCP - V2C","isPartOf":{"@id":"https:\/\/v2charge.com\/fi\/#website"},"datePublished":"2026-07-09T10:48:09+00:00","dateModified":"2026-07-10T14:04:31+00:00","description":"Valitse, miten integroida V2C-laturisi: API Cloud, API Local (Modbus\/HTTP) tai MCP yhdist\u00e4\u00e4ksesi sen suosikkiteko\u00e4lyysi.","breadcrumb":{"@id":"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/#breadcrumb"},"inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/v2charge.com\/fi\/tukialue\/integraatiot-api-mcp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"V2C","item":"https:\/\/v2charge.com\/fi\/"},{"@type":"ListItem","position":2,"name":"Tukialue","item":"https:\/\/v2charge.com\/fi\/tukialue\/"},{"@type":"ListItem","position":3,"name":"V2C-integraatiot: API Cloud, API Local ja MCP"}]},{"@type":"WebSite","@id":"https:\/\/v2charge.com\/fi\/#website","url":"https:\/\/v2charge.com\/fi\/","name":"V2C","description":"#CargandoElMa\u00f1ana","publisher":{"@id":"https:\/\/v2charge.com\/fi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/v2charge.com\/fi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fi"},{"@type":"Organization","@id":"https:\/\/v2charge.com\/fi\/#organization","name":"V2C","url":"https:\/\/v2charge.com\/fi\/","logo":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/v2charge.com\/fi\/#\/schema\/logo\/image\/","url":"https:\/\/v2charge.com\/wp-content\/uploads\/2024\/11\/cropped-v2c-charge-logo-menu.png","contentUrl":"https:\/\/v2charge.com\/wp-content\/uploads\/2024\/11\/cropped-v2c-charge-logo-menu.png","width":984,"height":431,"caption":"V2C"},"image":{"@id":"https:\/\/v2charge.com\/fi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/V2C.Charge","https:\/\/x.com\/V2C_Charge","https:\/\/www.instagram.com\/v2c.charge\/","https:\/\/www.youtube.com\/@V2C","https:\/\/www.linkedin.com\/company\/v2c-chargers\/"],"contactPoint":[{"@type":"ContactPoint","contactType":"customer support","telephone":"+34960654554","email":"info@v2charge.com","availableLanguage":["Spanish","English","Portuguese","French"]},{"@type":"ContactPoint","contactType":"sales","telephone":"+34960654554","email":"info@v2charge.com","availableLanguage":["Spanish","English"]}]}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"gs-tiny":false,"xl":false,"xxl":false,"xxxl":false,"xxxxl":false,"xxxxxl":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"V2C","author_link":"https:\/\/v2charge.com\/fi\/author\/marketing\/"},"uagb_comment_info":0,"uagb_excerpt":"Valitse, miten yhdist\u00e4t V2C-laturisi: API Cloudin, paikallisen API:n (Modbus\/HTTP) tai MCP:n kautta teko\u00e4lyavustajille.","_links":{"self":[{"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/pages\/372084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/users\/400"}],"replies":[{"embeddable":true,"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/comments?post=372084"}],"version-history":[{"count":1,"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/pages\/372084\/revisions"}],"predecessor-version":[{"id":372106,"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/pages\/372084\/revisions\/372106"}],"up":[{"embeddable":true,"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/pages\/311542"}],"wp:attachment":[{"href":"https:\/\/v2charge.com\/fi\/wp-json\/wp\/v2\/media?parent=372084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}