Free

MCP คืออะไร: เชื่อมต่อ Claude Code กับโลกภายนอก

อธิบายหลักการทำงานของ MCP และวิธีตั้งค่า เพื่อให้ Claude Code เชื่อมต่อกับฐานข้อมูล GitHub Slack และระบบภายนอกอื่นๆ ผ่าน MCP Server


Claude Code มีขอบเขตการทำงานที่กำหนดไว้โดยค่าเริ่มต้น: อ่านและเขียนไฟล์ในเครื่อง รันคำสั่ง terminal ใช้เครื่องมือที่ติดตั้งมาให้ แต่โปรเจกต์จริงมักต้องการมากกว่านั้น — ดึงข้อมูลจากฐานข้อมูล อ่านเอกสาร Notion ค้นหาข้อความ Slack หรือเรียกใช้ API ภายใน

MCP คือสิ่งที่แก้ปัญหานี้

MCP คืออะไร

MCP (Model Context Protocol) คือโปรโตคอลแบบเปิดจาก Anthropic ที่กำหนดวิธีที่โมเดล AI สื่อสารกับเครื่องมือภายนอกและแหล่งข้อมูลต่างๆ ลองนึกภาพว่ามันคือการติดตั้งปลั๊กอินให้ Claude Code — MCP Server แต่ละตัวคือบริการอิสระที่เปิดให้ใช้ชุดเครื่องมือ ซึ่ง Claude สามารถเรียกใช้ได้โดยตรงในระหว่าง session

ต่างจาก Hooks (ที่ทริกเกอร์สคริปต์เมื่อ Claude ทำบางอย่าง) MCP คือการขยายขอบเขตความสามารถของ Claude อย่างแข็งขัน: คุณเชื่อมต่ออะไร Claude ก็สามารถดำเนินการกับสิ่งนั้นได้

หลักการทำงาน

สถาปัตยกรรมตรงไปตรงมา:

Claude Code (Client)  ←→  MCP Server  ←→  ระบบภายนอก
  1. คุณประกาศ MCP Server ในไฟล์ config (โปรเซสในเครื่องหรือบริการระยะไกล)
  2. เมื่อ Claude Code เริ่มต้น จะเชื่อมต่อกับ Server และดึงรายการเครื่องมือที่มีให้ใช้
  3. ระหว่าง session Claude สามารถเรียกใช้เครื่องมือเหล่านั้นได้เหมือนกับ Read/Write/Bash ที่ติดตั้งมาให้
  4. MCP Server ประมวลผลคำขอและส่งผลลัพธ์กลับให้ Claude

กระบวนการทั้งหมดโปร่งใสสำหรับผู้ใช้ สิ่งที่คุณเห็นคือ Claude บอกว่า "ขอตรวจสอบในฐานข้อมูลก่อน" แล้วส่งคืนผลลัพธ์ โดย MCP จัดการการส่งต่อคำขออยู่เบื้องหลัง

ความสามารถ MCP สามประเภท

MCP Server สามารถเปิดให้ใช้สามสิ่ง:

Tools (เครื่องมือ)
ฟังก์ชันที่ Claude สามารถเรียกใช้ได้แบบ active — "ดึงข้อมูลตาราง users" "ค้นหาเอกสาร" "ส่งข้อความ Slack" นี่คือประเภทที่ใช้บ่อยที่สุด ครอบคลุม 90% ของกรณีใช้งานจริง

Resources (ทรัพยากร)
ข้อมูลที่มีโครงสร้างซึ่ง Claude สามารถอ่านเป็น context — schema ของฐานข้อมูล เอกสาร API ไฟล์ config

Prompts (เทมเพลต prompt)
ชิ้นส่วน prompt ที่กำหนดไว้ล่วงหน้า ให้ผู้ใช้เรียกใช้ได้โดยตรง

ในทางปฏิบัติ คุณจะทำงานกับ Tools เกือบทั้งหมด

เริ่มต้นใช้งานด่วน: เพิ่ม MCP Server ที่มีอยู่

ลองใช้ Filesystem MCP อย่างเป็นทางการเป็นตัวอย่าง — Server นี้ให้ Claude เข้าถึงส่วนต่างๆ ของระบบไฟล์นอก working directory

ติดตั้ง

npm install -g @modelcontextprotocol/server-filesystem

ตั้งค่า

แก้ไข ~/.claude/settings.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/Documents"
      ]
    }
  }
}

ตรวจสอบ

รีสตาร์ท Claude Code แล้วลอง:

แสดงรายการไฟล์ PDF ทั้งหมดใน /Users/yourname/Documents

ถ้า Claude ส่งคืนผลลัพธ์แทนที่จะบอกว่า "ไม่สามารถเข้าถึงระบบไฟล์ได้" แสดงว่า MCP ทำงานแล้ว

โครงสร้างการตั้งค่า

{
  "mcpServers": {
    "ชื่อ-บริการ": {
      "command": "คำสั่งเริ่มต้น",
      "args": ["รายการ argument"],
      "env": {
        "API_KEY": "xxx"
      }
    }
  }
}
  • command + args: คำสั่งที่ Claude Code ใช้เปิดโปรเซส MCP Server
  • ชื่อบริการเป็นแค่ label ในเครื่อง ตั้งอะไรก็ได้ที่สมเหตุสมผล
  • ใช้ env สำหรับ API key และ config ที่ละเอียดอ่อน อย่า hardcode ในโค้ด

ตั้งค่าไว้ที่ไหน

การตั้งค่า MCP สามารถอยู่ในสามที่ เรียงตามลำดับความสำคัญจากน้อยไปมาก:

ตำแหน่ง ไฟล์ เมื่อไหร่ใช้
Global ~/.claude/settings.json เครื่องมือที่ใช้ในทุกโปรเจกต์
ระดับโปรเจกต์ .claude/settings.json เครื่องมือเฉพาะโปรเจกต์นี้
Local override .claude/settings.local.json config ส่วนตัว ไม่ commit ลง git

สำหรับการเชื่อมต่อฐานข้อมูลและ API ภายใน ใช้ config ระดับโปรเจกต์และ commit ไปพร้อมกับโค้ด สมาชิกทีมที่ clone repository มาจะได้สภาพแวดล้อม MCP เดียวกันโดยอัตโนมัติ

หา MCP Server ที่มีอยู่แล้วได้ที่ไหน

Anthropic ดูแล server อย่างเป็นทางการหลายตัว:

  • @modelcontextprotocol/server-filesystem — เข้าถึงระบบไฟล์
  • @modelcontextprotocol/server-github — การดำเนินการ GitHub (PR, issue, ค้นหาโค้ด)
  • @modelcontextprotocol/server-postgres — query PostgreSQL
  • @modelcontextprotocol/server-slack — อ่านและส่งข้อความ Slack
  • @modelcontextprotocol/server-google-maps — แผนที่และข้อมูลภูมิศาสตร์

ชุมชนยังสร้าง implementation ของบุคคลที่สามอีกมากมาย ครอบคลุม Notion, Linear, Jira และฐานข้อมูลต่างๆ

MCP vs Hooks: เลือกอะไรดี

Hooks MCP
ถูกทริกเกอร์โดย Claude ทำ action เฉพาะ Claude เรียกใช้เครื่องมือแบบ active
วัตถุประสงค์ สกัดกั้นหรือเสริมพฤติกรรมที่มีอยู่ เพิ่มความสามารถใหม่
กรณีทั่วไป จัดรูปแบบเมื่อบันทึก ตรวจสอบก่อน commit ดึงข้อมูล DB เรียก API ภายนอก
ความซับซ้อนในการตั้งค่า ต่ำ ปานกลาง

ทั้งสองเสริมซึ่งกันและกัน Hooks ควบคุม วิธีที่ Claude ทำงาน MCP ควบคุม สิ่งที่ Claude ทำได้

ขั้นตอนต่อไป

บทความนี้เป็นบทนำแนวคิดของ MCP บทความถัดไปจะครอบคลุม:

  • เชื่อมต่อ Claude Code กับฐานข้อมูล PostgreSQL จริงที่มี schema จริง
  • เชื่อมต่อเครื่องมือภายในและ API
  • สร้าง MCP Server ของตัวเองตั้งแต่ต้น

ถ้าคุณมีระบบที่อยากเชื่อมต่ออยู่แล้ว ลองดูรายการ MCP Server ก่อน — มีโอกาสสูงที่มีคนสร้างสิ่งที่คุณต้องการไว้แล้ว