Apa itu Model Context Protocol (MCP) dan Mengapa Penting untuk API?

Ashley Innocent

Ashley Innocent

13 March 2026

Apa itu Model Context Protocol (MCP) dan Mengapa Penting untuk API?

Intisari

Model Context Protocol (MCP) adalah standar untuk menghubungkan asisten AI ke sumber data eksternal dan API. Ini memungkinkan Claude Desktop, Cursor, dan alat AI lainnya mengakses API Anda dengan aman. Modern PetstoreAPI mengimplementasikan MCP sehingga asisten AI dapat mencari hewan peliharaan, melakukan pemesanan, dan mengelola inventaris melalui bahasa alami.

Pendahuluan

Anda bertanya kepada Claude Desktop: “Tampilkan kucing yang tersedia di bawah $300.” Claude menjawab: “Saya tidak memiliki akses ke data toko hewan peliharaan.” Anda perlu menyalin/menempel dari API Anda, yang mengganggu alur kerja Anda.

Dengan MCP (Model Context Protocol), Claude dapat mengakses API Anda secara langsung. Anda mengajukan pertanyaan yang sama, dan Claude membuat kueri PetstoreAPI, menyaring hasilnya, dan menunjukkan kepada Anda kucing yang tersedia di bawah $300.

Modern PetstoreAPI mengimplementasikan MCP, memungkinkan asisten AI berinteraksi dengan toko hewan peliharaan melalui bahasa alami.

Jika Anda sedang membangun API untuk integrasi AI, Apidog membantu Anda menguji implementasi MCP dan memvalidasi interaksi asisten AI.

button

Apa Itu MCP?

MCP adalah protokol yang dibuat oleh Anthropic untuk menghubungkan asisten AI ke sumber daya eksternal.

Masalah yang Diselesaikan MCP

Asisten AI sangat kuat tetapi terisolasi. Mereka tidak bisa:

MCP menyediakan cara standar bagi asisten AI untuk terhubung ke sumber daya ini dengan aman.

Komponen MCP

1. MCP Server - Mengekspos sumber daya dan alat ke asisten AI

2. Klien MCP - Asisten AI (Claude Desktop, Cursor, dll.)

3. Sumber Daya - Data yang dapat dibaca AI (file, catatan database, respons API)

4. Alat - Tindakan yang dapat dilakukan AI (membuat pesanan, memperbarui hewan peliharaan, mencari inventaris)

Arsitektur MCP

AI Assistant (Claude Desktop)
    ↓ MCP Protocol
MCP Server (PetstoreAPI MCP Server)
    ↓ Internal APIs
PetstoreAPI Backend
    ↓
Database

Cara Kerja MCP

1. Pendaftaran Server

Konfigurasi Claude Desktop untuk terhubung ke server MCP:

{
  "mcpServers": {
    "petstore": {
      "command": "node",
      "args": ["/path/to/petstore-mcp-server.js"],
      "env": {
        "PETSTORE_API_KEY": "your-api-key"
      }
    }
  }
}

2. Penemuan Alat

Asisten AI bertanya: “Alat apa saja yang tersedia?”

Server MCP merespons:

{
  "tools": [
    {
      "name": "search_pets",
      "description": "Search for pets by species, status, and price",
      "inputSchema": {
        "type": "object",
        "properties": {
          "species": {"type": "string", "enum": ["CAT", "DOG"]},
          "maxPrice": {"type": "number"},
          "status": {"type": "string", "enum": ["AVAILABLE", "ADOPTED"]}
        }
      }
    },
    {
      "name": "create_order",
      "description": "Place an order for a pet",
      "inputSchema": {
        "type": "object",
        "properties": {
          "petId": {"type": "string"},
          "userId": {"type": "string"}
        },
        "required": ["petId", "userId"]
      }
    }
  ]
}

3. Eksekusi Alat

Pengguna bertanya: “Tampilkan kucing yang tersedia di bawah $300”

Asisten AI memanggil:

{
  "tool": "search_pets",
  "arguments": {
    "species": "CAT",
    "status": "AVAILABLE",
    "maxPrice": 300
  }
}

Server MCP mengeksekusi:

async function search_pets({ species, status, maxPrice }) {
  const response = await fetch(
    `https://petstoreapi.com/v1/pets?species=${species}&status=${status}&maxPrice=${maxPrice}`
  );
  return await response.json();
}

Mengembalikan hasil ke AI, yang kemudian memformatnya untuk pengguna.

MCP vs API Tradisional

Fitur API Tradisional MCP
Akses HTTP Langsung Melalui asisten AI
Antarmuka REST/GraphQL Bahasa alami
Otentikasi Kunci API, OAuth Server MCP menangani otentikasi
Penemuan Dokumen OpenAPI Skema alat
Penggunaan Kode/curl Percakapan
Penanganan Kesalahan Kode status HTTP AI menginterpretasikan kesalahan

Perbandingan Contoh

API Tradisional:

curl -H "Authorization: Bearer token" \
  "https://petstoreapi.com/v1/pets?species=CAT&maxPrice=300"

MCP:

Pengguna: "Tampilkan kucing yang tersedia di bawah $300"
AI: [Memanggil alat search_pets, memformat hasil]
"Berikut adalah 5 kucing yang tersedia di bawah $300:
1. Fluffy - $250
2. Whiskers - $280
..."

Bagaimana Modern PetstoreAPI Mengimplementasikan MCP

Modern PetstoreAPI menyediakan server MCP.

Alat yang Tersedia

1. search_pets - Mencari hewan peliharaan berdasarkan kriteria 2. get_pet - Mendapatkan detail hewan peliharaan 3. create_order - Melakukan pemesanan 4. get_inventory - Memeriksa inventaris 5. update_pet_status - Memperbarui ketersediaan hewan peliharaan

Contoh: Pencarian dan Pemesanan

Pengguna: “Carikan saya anjing di bawah $500 dan pesan”

Alur kerja AI:

1. Call search_pets({species: "DOG", maxPrice: 500})
2. Tampilkan hasil kepada pengguna
3. Pengguna mengkonfirmasi: "Pesan Labrador"
4. Call create_order({petId: "019b4132", userId: "user-456"})
5. Konfirmasi pesanan telah ditempatkan

Kode Server MCP

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server({
  name: 'petstore-mcp',
  version: '1.0.0'
}, {
  capabilities: {
    tools: {}
  }
});

server.setRequestHandler('tools/list', async () => ({
  tools: [
    {
      name: 'search_pets',
      description: 'Search for pets',
      inputSchema: {
        type: 'object',
        properties: {
          species: { type: 'string' },
          maxPrice: { type: 'number' }
        }
      }
    }
  ]
}));

server.setRequestHandler('tools/call', async (request) => {
  const { name, arguments: args } = request.params;

  if (name === 'search_pets') {
    const response = await fetch(
      `https://petstoreapi.com/v1/pets?${new URLSearchParams(args)}`
    );
    return { content: [{ type: 'text', text: JSON.stringify(await response.json()) }] };
  }
});

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

Menguji MCP dengan Apidog

Apidog membantu menguji implementasi MCP:

  1. Menguji apakah API dasar berfungsi dengan benar
  2. Memvalidasi skema alat sesuai dengan kontrak API
  3. Menguji penanganan kesalahan
  4. Memverifikasi alur otentikasi

Mengapa MCP Penting

1. API Asli AI

API menjadi dapat diakses melalui bahasa alami. Pengguna non-teknis dapat berinteraksi dengan API Anda melalui asisten AI.

2. Standardisasi

MCP menjadi standar untuk integrasi AI-API. Dukung sekali, bekerja dengan semua klien MCP.

3. Keamanan

Server MCP menangani otentikasi. Asisten AI tidak memerlukan akses API langsung.

4. Komposabilitas

Asisten AI dapat menggabungkan beberapa server MCP, menciptakan alur kerja di berbagai layanan.

Kesimpulan

MCP menjembatani asisten AI dan API. Modern PetstoreAPI mengimplementasikan MCP, memungkinkan Claude Desktop dan alat AI lainnya berinteraksi dengan toko hewan peliharaan melalui bahasa alami.

Poin-poin penting:

Pertanyaan Umum (FAQ)

Asisten AI mana yang mendukung MCP?

Claude Desktop, Cursor, dan alat bertenaga Anthropic lainnya. Dukungan terus berkembang.

Apakah MCP aman?

Ya. Server MCP menangani otentikasi. Asisten AI tidak melihat kunci API.

Bisakah saya menggunakan MCP dengan API yang sudah ada?

Ya. Bangun server MCP yang membungkus API Anda yang sudah ada.

Apakah MCP menggantikan REST API?

Tidak. MCP adalah untuk akses asisten AI. REST API tetap digunakan untuk akses pemrograman langsung.

Bagaimana cara menguji alat MCP?

Gunakan Apidog untuk menguji API dasar, lalu uji alat MCP dengan Claude Desktop.

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.