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.
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:
- Mengakses API internal perusahaan Anda
- Mengajukan kueri ke database Anda
- Membaca file dari sistem berkas Anda
- Berinteraksi dengan layanan eksternal
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:
- Menguji apakah API dasar berfungsi dengan benar
- Memvalidasi skema alat sesuai dengan kontrak API
- Menguji penanganan kesalahan
- 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:
- MCP menghubungkan asisten AI ke API
- Alat mendefinisikan apa yang bisa dilakukan AI
- Bahasa alami menggantikan panggilan API
- Modern PetstoreAPI menunjukkan implementasi MCP
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.
