🔌 Ano ang MCP?
The Model Context Protocol (MCP) ay isang open standard na inilathala ng Anthropic noong Disyembre 2024 na naglalarawan ng isang unibersal na interface para sa pagkonekta ng mga AI model sa external tools, mga pinagkukunan ng data, at mga serbisyo. Bago ang MCP, bawat AI integration ay isang custom, one-off na implementasyon. I-nostandardize ng MCP kung paano nakikipagkomunika ang mga AI client sa mga external capabilities — kaya ang isang integration gumagana sa anumang compatible AI system.
Ang MCP ay isang client-server protocol: MCP clients ay mga AI system (tulad ng Claude, Cursor, VS Code with Copilot) na nagnanais gumamit ng external capabilities. MCP servers ay mga serbisyo na nag-eexpose ng mga capability na iyon (GitHub, isang database, isang file system, isang web browser) sa pamamagitan ng a standardized API na maaaring gamitin ng anumang MCP client.
🔋 Ang Metapora ng USB-C
Bago ang USB-C, bawat device ay may sariling proprietary connector — ang charger ng telepono ay hindi gumagana sa a laptop, ang display cable ay hindi gumagana sa storage devices. Nilutas ng USB-C ito gamit ang isang unibersal na standard: isang port, isang cable, walang katapusang mga device.
Ganun din ang kalituhan ng AI integrations bago ang MCP. Ang pagkonekta ng Claude sa GitHub ay nangangailangan ng custom code. Ang pagkonekta ng GPT-4 sa parehong GitHub API ay nangangailangan ng ibang custom code. Ang pagdaragdag ng bagong tool ay nangangahulugan gayon ng muling pagbuo ng mga integration mula sa simula para sa bawat AI platform.
Ang MCP ay USB-C para sa AI. Isang standard:
- I-build ang isang MCP server nang isang beses — anumang MCP client ay maaaring gumamit nito
- I-adopt ang bagong AI model — gagana agad ang iyong umiiral na MCP servers
- Lumalaki nang independyente ang ecosystem ng MCP servers mula sa pag-unlad ng AI model
⚙️ Paano Gumagana ang MCP
Gumagamit ang MCP ng JSON-RPC 2.0 protocol sa ibabaw ng isang transport layer (stdio para sa lokal na servers, HTTP/SSE para sa remote servers). Sinusunod ng komunikasyon ang lifecycle ng initialization, capability discovery, at request handling.
Tatlong pangunahing primitive
| Primitive | Ano ang in-eexpose nito | Example |
|---|---|---|
| Tools | Mga Function na maaaring tawagin ng AI (model-controlled) | search_github_issues, run_sql_query, send_email |
| Resources | Data na maaaring basahin ng AI (application-controlled) | file:///workspace/src, db://customers/schema |
| Prompts | Muling magagamit na mga template ng prompt (kontrolado ng gumagamit) | code-review, summarize-pr, explain-error |
Ang daloy ng komunikasyon
- Initialize: Kumokonekta ang Client sa server, nagpapalitan ng protocol version at capabilities
- Discover: Humihiling ang Client ng listahan ng available na tools, resources, at prompts
- Invoke: Nagpapasya ang AI model na tumawag ng tool; nagpapadala ang client ng request sa server
- Return: I-eexecute ng Server ang aksyon at ibabalik ang structured results sa client
- Continue: Isinasama ng AI model ang mga resulta at nagpapatuloy sa pag-iisip
Mga opsyon sa transport
| Transport | Pinakamabuti para sa | Notes |
|---|---|---|
| stdio | Mga lokal na tool, integrasyon ng CLI | Ilunsad ng Client ang server bilang subprocess; pinaka-simple na setup |
| HTTP + SSE | Remote/cloud services, shared teams | Tumakbo nang independyente ang Server; sumusuporta sa auth headers |
| WebSocket | Real-time bidirectional (draft) | Iminungkahi para sa streaming use cases |
🔄 MCP vs Function Calling
Function calling (paggamit ng tool) ay isang tampok na naka-built in sa mga tiyak na AI APIs — OpenAI, Anthropic, Google — na nagpapahintulot sa iyo na magdeklara ng custom functions na maaaring tawagin ng model. Ang MCP ay isang layer sa ibabaw ng o kasama ng function calling na nag-standardize kung paano natutuklasan at nakakonekta ang mga function na iyon.
| Function Calling | MCP | |
|---|---|---|
| Scope | API-specific, per-request | Cross-platform, standardized |
| Discovery | Hardcoded sa iyong API call | Dynamic — in-aanunsyo ng server ang capabilities |
| Portability | Tied sa isang AI provider | Gumagana sa anumang MCP-compatible client |
| Resources | Hindi na-standardize | First-class primitive (files, DBs, URIs) |
| Pinakamabuti para sa | Simple, single-provider use cases | Multi-tool, multi-model production systems |
Sa praktika, madalas gamitin ng mga MCP servers ang function calling internally — nagbibigay ang MCP ng discovery at connection layer, habang ang function calling ang humahawak ng aktwal na LLM-to-tool invocation.
🏢 Sino ang Sumusuporta sa MCP
Mabilis lumaki ang adoption ng MCP mula nang ilunsad ito noong Disyembre 2024. Noong Abril 2026, kabilang sa ecosystem ang:
AI clients na may MCP support
- Claude (Anthropic) — native MCP support sa Claude.ai at Claude Code
- Cursor — MCP servers para sa code-aware AI assistance
- VS Code (GitHub Copilot) — MCP integration sa agent mode
- Windsurf (Codeium) — MCP server support
- Continue.dev — open-source IDE assistant na may MCP
Mga Popular na MCP servers
- Filesystem — read/write local files (official Anthropic)
- GitHub — repos, PRs, issues, code search
- PostgreSQL / SQLite — database query at schema exploration
- Brave Search / Exa — web search nang walang API keys
- Puppeteer / Playwright — browser automation
- Slack / Linear / Notion — integrasyon ng productivity tools
🚀 Pagsisimula sa MCP
Opsyon 1: Gamitin ang umiiral na mga MCP server (5 minuto)
Ang pinakamabilis na paraan para maranasan ang MCP ay ang paggamit ng Claude Desktop na may pre-built servers. I-edit ang iyong Claude Desktop config sa ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
}
}
} Opsyon 2: Gumawa ng MCP server (30 minuto)
Mayroong Official SDKs para sa TypeScript, Python, at Kotlin:
// TypeScript MCP server example
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new Server({ name: "my-server", version: "1.0.0" });
server.setRequestHandler("tools/list", async () => ({
tools: [{
name: "get_weather",
description: "Get current weather for a city",
inputSchema: {
type: "object",
properties: { city: { type: "string" } },
required: ["city"]
}
}]
}));
server.setRequestHandler("tools/call", async (request) => {
const { city } = request.params.arguments;
// ... fetch weather data
return { content: [{ type: "text", text: `Weather in ${city}: sunny, 22°C` }] };
});
const transport = new StdioServerTransport();
await server.connect(transport); 🔐 MCP Mga Pagsasaalang-alang sa Seguridad
Ang kapangyarihan ng MCP — pagbibigay sa mga AI model ng access sa mga tool, file, at serbisyo — nagdadala rin ng mga panganib sa seguridad na dapat isaalang-alang ng mga developer.
| Risk | Description | Mitigation |
|---|---|---|
| Prompt injection sa pamamagitan ng MCP | Mapanganib na nilalaman sa mga resulta ng tool na nagma-manipula sa AI | I-sanitize ang output ng tool; gumamit ng hiwalay na reasoning at action models |
| Sobrang pribilehiyo na mga server | Ang MCP server ay may higit pang permiso kaysa sa kinakailangan | Prinsipyo ng pinakamababang pribilehiyo; read-only kapag maaari |
| Confused deputy | Kumikilos ang AI sa ngalan ng attacker nang hindi nalalaman ng gumagamit | HITL confirmation para sa mapanirang/hindi na mababalik na mga aksyon |
| Supply chain ng Server | Mapanlinlang na third-party MCP server na nag-eexfiltrate ng data | Gumamit lamang ng pinagkakatiwalaang, in-audit na mga server; repasuhin ang server code |
Para sa mas malalim na pagtalakay sa mga kahinaan sa seguridad ng AI — kasama kung paano maaaring gawing sandata ang prompt injection sa pamamagitan ng mga resulta ng MCP tool — tingnan ang aming gabay: Prompt Injection Explained.