
เคยไหมครับ อยากให้ AI ช่วยจัดไฟล์ในเครื่อง แต่ทำได้แค่ copy เนื้อหามาวางในแชตทีละไฟล์ แล้ว copy คำตอบกลับไปเซฟเอง AI ฉลาดแค่ไหนก็ช่วยได้แค่ในกรอบแชต เพราะมันมองไม่เห็นและแตะไม่ได้ทุกอย่างที่อยู่นอกหน้าต่างนั้น
MCP คือสิ่งที่มาแก้ปัญหานี้ มันเป็นมาตรฐานกลางที่ให้แอป AI ต่อเข้ากับไฟล์ ฐานข้อมูล และเครื่องมือต่างๆ ได้ด้วยวิธีเดียวกัน พอต่อแล้ว AI จะอ่าน สร้าง และย้ายไฟล์ให้เราได้เอง โดยถามเราก่อนทุกครั้ง
บทความนี้จะพาต่อ MCP ตัวแรกให้ Claude จัดการไฟล์ในโฟลเดอร์ฝึกได้ ทั้งใน Claude Desktop และ Claude Code จบบทความนี้คุณจะ:
- อธิบายได้ว่า MCP คืออะไร และ Host, Client, Server ต่างกันยังไง
- รู้ว่าเบื้องหลังตอน AI ใช้เครื่องมือผ่าน MCP เกิดอะไรขึ้นบ้าง
- ต่อ Filesystem Server กับ Claude Desktop แล้วให้ AI จัดไฟล์ในโฟลเดอร์ฝึก
- เพิ่ม ดู และลบ MCP ใน Claude Code ด้วยคำสั่ง
claude mcp - ใช้ MCP อย่างปลอดภัย และแก้ปัญหาที่เจอบ่อยได้เอง
MCP คือสาย USB-C ของ AI
MCP ย่อมาจาก Model Context Protocol เป็นมาตรฐานแบบ open source สำหรับต่อแอป AI เข้ากับโลกภายนอก 3 แบบ คือแหล่งข้อมูล (ไฟล์ ฐานข้อมูล) เครื่องมือ (ค้นเว็บ เครื่องคิดเลข) และขั้นตอนการทำงาน (prompt สำเร็จรูป)
เว็บทางการของ MCP เปรียบมันกับพอร์ต USB-C ลองนึกถึงสมัยก่อนที่มือถือแต่ละยี่ห้อมีหัวชาร์จของตัวเอง ย้ายไปใช้เครื่องใหม่ทีต้องซื้อสายใหม่ที พอทุกอย่างใช้ USB-C สายเส้นเดียวก็เสียบได้ทุกเครื่อง MCP ทำแบบเดียวกันกับ AI
- AI คือสมอง คิดเก่ง แต่ไม่มีมือ
- MCP คือสาย เป็นภาษากลางที่ทุกฝั่งตกลงกันไว้
- MCP Server คือปลายสายที่ต่อกับของจริง เช่น โฟลเดอร์ในเครื่อง หรือแอป Notion หนึ่งตัวต่อของหนึ่งอย่าง
| เรื่อง | ก่อนมี MCP | หลังมี MCP |
|---|---|---|
| ให้ AI ใช้ไฟล์ | copy มาวางในแชตทีละไฟล์ | AI อ่าน สร้าง ย้ายไฟล์เองเมื่อเราอนุญาต |
| ต่อกับเครื่องมือ | แต่ละแอปต้องทำตัวเชื่อมของตัวเอง | ทำ server ครั้งเดียว ใช้ได้กับทุกแอปที่รองรับ MCP |
| ตัวอย่างงาน | ทำได้แค่ในแชต | Claude Code สร้างเว็บจากแบบใน Figma หรือ AI จัดตารางจาก Google Calendar และ Notion |
ข้อดีที่สำคัญที่สุดคือ ทำครั้งเดียว ใช้ได้ทุกที่ คนทำ server เขียนตัวเชื่อมแค่ครั้งเดียว ส่วนเราก็เลือกใช้แอป AI ตัวไหนก็ได้ที่รองรับ MCP ไม่ว่าจะเป็น Claude Desktop, Claude Code หรือ VS Code
Host Client Server ใครทำอะไร
ระบบ MCP มี 3 บทบาท ชื่ออาจฟังดูเหมือนกัน แต่หน้าที่ต่างกันชัดเจน

- MCP Host คือแอป AI ที่เราใช้ เช่น Claude Desktop, Claude Code หรือ VS Code เทียบกับสมองที่สั่งงาน
- MCP Client คือตัวกลางที่ Host สร้างขึ้นให้เองอัตโนมัติ หนึ่ง Client ต่อหนึ่ง Server เทียบกับปลายสายฝั่งสมอง
- MCP Server คือโปรแกรมที่เปิดให้ใช้ข้อมูลหรือเครื่องมือ เช่น Filesystem Server ที่จัดการไฟล์ Git Server ที่อ่านประวัติโค้ด หรือ Sentry ที่ดู error ของแอป เทียบกับปลายสายฝั่งของจริง
เราไม่ต้องยุ่งกับ Client เลยครับ แค่บอก Host ว่าจะต่อ Server ตัวไหน ที่เหลือ Host จัดการเอง
Server แบบ Local กับ Remote
| แบบ | ทำงานยังไง | ตัวอย่าง |
|---|---|---|
| Local | รันบนเครื่องเรา แอปเปิดให้เอง คุยกันผ่าน stdio ภายในเครื่อง ไม่ผ่านเน็ต | Filesystem |
| Remote | อยู่บนเซิร์ฟเวอร์ของผู้ให้บริการ คุยผ่าน Streamable HTTP และมักให้ล็อกอินด้วย OAuth | Notion, Sentry |
stdio (standard input/output) คือช่องทางรับส่งข้อความระหว่างโปรแกรมในเครื่องเดียวกัน แบบเดียวกับที่เราพิมพ์คำสั่งใน Terminal แล้วเห็นผลลัพธ์ Server แบบ Local จึงไม่ต้องเปิดพอร์ตหรือต่อเน็ตเลย บทความนี้ใช้ Filesystem Server ซึ่งเป็นแบบ Local
เบื้องหลังตอน AI ใช้เครื่องมือ
สมมติเราพิมพ์ว่า "ย้ายรูปใน mcp-test ไปไว้ในโฟลเดอร์ Images" ระหว่างนั้นเกิดอะไรขึ้นบ้าง

- ขอรายการเครื่องมือ ตอนเปิดแอป Client ส่งคำขอ
tools/listไปถาม Server ว่ามีเครื่องมืออะไรบ้าง ได้กลับมาเป็นรายชื่อพร้อมคำอธิบาย - AI เลือกเครื่องมือ พอเราสั่งงาน AI อ่านรายชื่อนั้นแล้วเลือกตัวที่ตรงงาน เช่น สร้างโฟลเดอร์ แล้วย้ายไฟล์
- แอปถามเรา Claude Desktop เด้งกล่องให้กดอนุญาตหรือปฏิเสธ
- เรียกเครื่องมือ ถ้าเราอนุญาต Client ส่ง
tools/callไปให้ Server ทำงานจริง แล้วส่งผลกลับให้ AI สรุปให้เราฟัง
ข้อความที่วิ่งไปมาเป็น JSON ตามรูปแบบ JSON-RPC หน้าตาประมาณนี้ (เราไม่ต้องเขียนเอง แอปทำให้)
{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "move_file",
"arguments": {
"source": "/Users/folk/Desktop/mcp-test/cat.png",
"destination": "/Users/folk/Desktop/mcp-test/Images/cat.png"
}
}
}method บอกว่าขอทำอะไร name คือชื่อเครื่องมือ และ arguments คือข้อมูลที่ส่งให้เครื่องมือ เห็นแบบนี้แล้วจะเข้าใจว่าทำไมกล่องขออนุญาตถึงสำคัญ เพราะมันคือจังหวะเดียวที่เราได้ดูว่า AI กำลังจะทำอะไรกับไฟล์ของเรา
Server ให้อะไรได้บ้าง
| ประเภท | คืออะไร | ตัวอย่างใน Server ฐานข้อมูล |
|---|---|---|
| Tools | ฟังก์ชันที่ AI สั่งให้ทำงานได้ | เครื่องมือ query ข้อมูล |
| Resources | ข้อมูลให้ AI อ่าน | โครงสร้างตาราง (schema) |
| Prompts | แม่แบบคำสั่งที่ใช้ซ้ำได้ | prompt สอนวิธีใช้ฐานข้อมูลนี้ |
ทีม MCP ทำ Server ตัวอย่าง (reference servers) ไว้ให้ลองหลายตัว เช่น Filesystem (จัดการไฟล์), Fetch (ดึงหน้าเว็บ), Git (อ่านและค้น repo), Memory (ความจำแบบ knowledge graph), Sequential Thinking (คิดเป็นขั้น), Time (เวลาและเขตเวลา) และ Everything (ไว้ทดสอบ) ตัวเหล่านี้ ทำไว้เพื่อการเรียนรู้ ไม่ได้ตั้งใจให้ใช้กับงานจริงทันที
ศัพท์ที่ต้องรู้
| คำ | เทียบกับ | ความหมาย |
|---|---|---|
| Config file | สมุดตั้งค่าของแอป | claude_desktop_config.json บอก Claude Desktop ว่าต้องเปิด Server ตัวไหน |
| JSON | แบบฟอร์มที่เครื่องอ่านได้ | รูปแบบเขียนข้อมูลด้วย {} [] และ "ชื่อ": ค่า |
| Node.js | เครื่องยนต์ | โปรแกรมที่ใช้รัน Server ส่วนใหญ่ |
| npx | ร้านเช่าเครื่องมือ | ดาวน์โหลดแพ็กเกจแล้วรันทันที ไม่ต้องติดตั้งถาวร มากับ Node.js |
| Path | ที่อยู่บ้าน | ตำแหน่งไฟล์หรือโฟลเดอร์ในเครื่อง |
| Absolute path | ที่อยู่เต็มพร้อมรหัสไปรษณีย์ | path ที่เริ่มจากรากของเครื่อง เช่น C:\Users\... หรือ /Users/... |
| Terminal / PowerShell | ช่องพิมพ์สั่งงานเครื่อง | macOS ใช้ Terminal ส่วน Windows ใช้ PowerShell |
| Connector | ปลั๊กที่เสียบอยู่ | ชื่อที่ Claude Desktop ใช้เรียก Server ที่ต่อไว้ |
| Scope | ขอบเขตการแชร์ | ใน Claude Code บอกว่า Server ใช้ได้กับใครและโปรเจกต์ไหน |
| OAuth | ปุ่ม "ล็อกอินด้วย..." | ให้สิทธิ์แอปเข้าบัญชีเราโดยไม่ต้องบอกรหัสผ่าน |
เตรียมเครื่อง
ต้องมี 2 อย่าง คือ Claude Desktop และ Node.js (เพราะ Filesystem Server รันด้วย Node) และโฟลเดอร์ฝึกอีกหนึ่งโฟลเดอร์
Windows
ดาวน์โหลดหรืออัปเดต Claude Desktop จาก claude.ai/download จากนั้นเปิด PowerShell (กดปุ่ม Start แล้วพิมพ์ PowerShell) เช็ก Node.js
node --version
npm --versionv22.11.0
10.9.0ถ้าขึ้นว่าไม่รู้จัก node ให้ติดตั้งรุ่น LTS จาก nodejs.org แล้วปิดเปิด PowerShell ใหม่ ถ้า npm --version ขึ้น error ว่ารัน npm.ps1 ไม่ได้เพราะเครื่องปิดการรันสคริปต์ไว้ ให้ใช้ npm.cmd --version แทน ผลเหมือนกัน
ต่อมาหาที่อยู่ของ Desktop ให้แน่ชัด เพราะบางเครื่องเปิด OneDrive ไว้ ทำให้ Desktop ย้ายไปอยู่ในโฟลเดอร์ OneDrive
[Environment]::GetFolderPath('Desktop')C:\Users\folk\Desktop
C:\Users\folk\OneDrive\Desktopfolk คือชื่อผู้ใช้ในตัวอย่าง ของเราจะเป็นชื่ออื่น ให้จดผลลัพธ์นี้ไว้ เดี๋ยวต้องใช้
macOS
ถ้ามี Claude Desktop อยู่แล้ว กดเมนู Claude ที่แถบบนสุดของจอ แล้วเลือก Check for Updates... เพื่ออัปเดต จากนั้นเปิด Terminal (กด Cmd+Space แล้วพิมพ์ Terminal)
node --version
whoamiv22.11.0
folkwhoami บอกชื่อผู้ใช้ของเครื่อง ที่อยู่ Desktop จะเป็น /Users/ชื่อผู้ใช้/Desktop เช่น /Users/folk/Desktop
สร้างโฟลเดอร์ฝึก
mkdir "$([Environment]::GetFolderPath('Desktop'))\mcp-test"mkdir ~/Desktop/mcp-testแล้วใส่รูปภาพสัก 3–4 รูป กับไฟล์ข้อความ 1 ไฟล์ (เช่น note.txt ที่เขียนอะไรไว้สักย่อหน้า) ลงในโฟลเดอร์ mcp-test
ทำไมต้องใช้โฟลเดอร์ฝึก ครั้งแรกที่ให้ AI แตะไฟล์ เราอาจกดอนุญาตผิด หรือสั่งงานกำกวม ถ้าพลาดในโฟลเดอร์ฝึก ของที่เสียหายก็แค่ไฟล์ทดสอบ ไม่ใช่งานจริงหรือรูปครอบครัว
เช็กว่าได้แล้ว: node --version ขึ้นเลขเวอร์ชัน และบน Desktop มีโฟลเดอร์ mcp-test ที่มีรูปกับไฟล์ข้อความ
ต่อ MCP ตัวแรกกับ Claude Desktop
เปิดไฟล์ตั้งค่า
ใน Claude Desktop กดเมนู Claude ที่แถบเมนูของระบบ (ไม่ใช่หน้าตั้งค่าบัญชีในหน้าต่างแชต) เลือก Settings... ไปที่แท็บ Developer แล้วกด Edit Config แอปจะสร้างไฟล์ตั้งค่าให้ถ้ายังไม่มี แล้วเปิดโฟลเดอร์ที่เก็บไฟล์ไว้ให้
- Windows
%APPDATA%\Claude\claude_desktop_config.json - macOS
~/Library/Application Support/Claude/claude_desktop_config.json
เปิดไฟล์นี้ด้วยโปรแกรมแก้ข้อความ แนะนำ VS Code เพราะจะขีดเส้นแดงตรงที่เขียน JSON ผิดให้เห็นทันที
ใส่ค่า Filesystem Server
ใส่ข้อความตามระบบที่ใช้ แล้วเปลี่ยน folk เป็นชื่อผู้ใช้ของเรา (หรือใช้ path ที่ได้จากหัวข้อเตรียมเครื่องได้เลย)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\folk\\Desktop\\mcp-test"
]
}
}
}{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/folk/Desktop/mcp-test"
]
}
}
}| ส่วน | ความหมาย |
|---|---|
"mcpServers" | กล่องรวม Server ทุกตัวที่ให้ Claude Desktop เปิด |
"filesystem" | ชื่อเล่นของ Server ตัวนี้ จะขึ้นในรายการ Connectors |
"command": "npx" | ใช้ npx รัน Server |
"-y" | ตอบ yes ให้อัตโนมัติตอน npx ถามว่าจะดาวน์โหลดแพ็กเกจไหม |
"@modelcontextprotocol/server-filesystem" | ชื่อแพ็กเกจของ Filesystem Server |
| path สุดท้าย | โฟลเดอร์ที่อนุญาตให้ Server แตะได้ ใส่หลายโฟลเดอร์ได้ คั่นด้วยจุลภาค |
บรรทัดสุดท้ายคือหัวใจของความปลอดภัย Server จะทำงานได้ เฉพาะในโฟลเดอร์ที่เราใส่ไว้ เท่านั้น เราใส่แค่ mcp-test จึงมั่นใจได้ว่าไฟล์อื่นในเครื่องไม่โดนแตะ
บน Windows ต้องเขียน \\ (สองตัว) แทน \ เพราะใน JSON เครื่องหมาย \ ตัวเดียวมีความหมายพิเศษ ถ้าในไฟล์มีค่าอื่นอยู่แล้ว ให้เพิ่ม "mcpServers" เป็นอีกหนึ่งรายการในวงเล็บปีกกาชั้นนอกสุด คั่นด้วยจุลภาค อย่าลบของเดิมทิ้ง
{
"ค่าเดิมที่มีอยู่": ...,
"mcpServers": { ... }
}JSON ผิดบ่อย 5 แบบ
ไฟล์ตั้งค่าผิดแค่ตัวเดียว Claude Desktop ก็อ่านทั้งไฟล์ไม่ได้ เช็ก 5 จุดนี้ก่อนเซฟ
- ลืมจุลภาค ระหว่างรายการ เช่น ระหว่าง
"-y"กับชื่อแพ็กเกจ - มีจุลภาคเกิน หลังรายการสุดท้าย เช่น
"...mcp-test",แล้วตามด้วย] - ใช้อัญประกาศโค้ง
“ ”ที่ติดมาจากการ copy ในเว็บหรือโปรแกรมเอกสาร ต้องเป็น" "ตรงๆ เท่านั้น - ใส่
\ตัวเดียว ใน path ของ Windows - วงเล็บไม่ครบคู่
{ต้องมี}และ[ต้องมี]
ปิดแอปให้สนิทแล้วเปิดใหม่
เซฟไฟล์แล้ว ต้องปิด Claude Desktop ให้สนิทจริงๆ เพราะแอปอ่านไฟล์ตั้งค่าแค่ตอนเปิดเท่านั้น การกดกากบาทปิดหน้าต่างไม่พอ เพราะแอปยังทำงานอยู่เบื้องหลัง
- Windows คลิกขวาไอคอน Claude ที่มุมขวาล่างของ taskbar แล้วเลือก Quit
- macOS กด Cmd+Q
แล้วเปิด Claude Desktop ใหม่
เช็กว่าต่อสำเร็จ
ในหน้าแชต กดปุ่ม "+" ที่มุมซ้ายล่างของช่องพิมพ์ ชี้ที่ Connectors แล้วกด Manage connectors จะเห็น filesystem อยู่ในรายการ กดเข้าไปจะเห็นเครื่องมือของมัน เช่น อ่านไฟล์ ดูรายการในโฟลเดอร์ เขียนไฟล์ แก้ไฟล์ สร้างโฟลเดอร์ ย้ายไฟล์ และค้นหาไฟล์
เช็กว่าได้แล้ว: เห็น filesystem ใน Manage connectors พร้อมรายการเครื่องมือ ถ้าไม่เห็น ข้ามไปดูหัวข้อเจอปัญหาด้านล่าง
ลองให้ AI จัดการไฟล์
ลองพิมพ์ทีละข้อในแชตใหม่ แล้วสังเกตว่า AI เลือกใช้เครื่องมือตัวไหน
ในโฟลเดอร์ mcp-test มีไฟล์อะไรบ้างแต่งกลอนสั้นๆ แล้วเซฟเป็นไฟล์ poem.txt ในโฟลเดอร์ mcp-testย้ายรูปทั้งหมดในโฟลเดอร์ mcp-test ใส่โฟลเดอร์ใหม่ชื่อ Imagesสรุปเนื้อหาไฟล์ข้อความในโฟลเดอร์ mcp-test ให้หน่อยหาไฟล์ที่ชื่อมีคำว่า poem ในโฟลเดอร์ mcp-testข้อ 1 AI จะใช้เครื่องมือดูรายการในโฟลเดอร์ ข้อ 2 ใช้เครื่องมือเขียนไฟล์ ข้อ 3 ใช้สองตัวต่อกัน คือสร้างโฟลเดอร์แล้วย้ายไฟล์ทีละรูป ข้อ 4 ใช้อ่านไฟล์ และข้อ 5 ใช้ค้นหาไฟล์ ทุกครั้งที่ AI จะใช้เครื่องมือ จะมีกล่องขออนุญาตเด้งขึ้นมา
อ่านกล่องขออนุญาตทุกครั้ง ดูชื่อเครื่องมือและข้อมูลที่จะส่งไปก่อนกด ถ้าตรงกับที่เราสั่งค่อยกดอนุญาต (Allow Once คืออนุญาตครั้งนี้ครั้งเดียว) ถ้าไม่ตรง เช่น สั่งให้อ่านแต่มันจะเขียน หรือจะย้ายไฟล์ที่เราไม่ได้พูดถึง ให้กดปฏิเสธ (Deny) ข้อความในไฟล์หรือหน้าเว็บที่ AI อ่านเข้าไปอาจมีคำสั่งแอบแฝงหลอกให้ AI ทำอย่างอื่นได้
เช็กว่าได้แล้ว: เปิดโฟลเดอร์ mcp-test ดูเอง ต้องเห็นไฟล์ poem.txt และโฟลเดอร์ Images ที่มีรูปทั้งหมดอยู่ข้างใน
ใช้ MCP กับ Claude Code
ถ้าใช้ Claude Code (Claude ที่ทำงานใน Terminal) ไม่ต้องแก้ไฟล์ JSON เอง เพราะมีคำสั่ง claude mcp จัดการให้ รูปแบบคือ
claude mcp add [ตัวเลือก] <ชื่อ> -- <คำสั่ง> [อาร์กิวเมนต์...]เครื่องหมาย -- แบ่งคำสั่งเป็นสองฝั่ง ฝั่งซ้ายเป็นตัวเลือกของ Claude Code เอง เช่น --scope ฝั่งขวาคือคำสั่งที่ใช้รัน Server ซึ่งจะถูกส่งต่อไปตรงๆ ไม่ถูกแปลความ ถ้าไม่มี -- Claude Code อาจเข้าใจผิดว่า -y เป็นตัวเลือกของตัวเอง
ให้ cd ไปที่โฟลเดอร์โปรเจกต์ที่จะเปิด Claude Code ก่อน (เพราะค่าเริ่มต้นจะผูก Server ไว้กับโฟลเดอร์ที่เรายืนอยู่) แล้วเพิ่ม Filesystem Server
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /Users/folk/Desktop/mcp-testclaude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem C:\Users\folk\Desktop\mcp-testใน Terminal ไม่ต้องใช้ \\ สองตัวเหมือนใน JSON ใช้ path ปกติได้เลย จากนั้นเช็กสถานะ
claude mcp listfilesystem: npx -y @modelcontextprotocol/server-filesystem /Users/folk/Desktop/mcp-test - ✔ Connected| คำสั่ง | ใช้ทำอะไร |
|---|---|
claude mcp list | ดู Server ทั้งหมดพร้อมสถานะ |
claude mcp get filesystem | ดูรายละเอียดของ Server ตัวเดียว |
claude mcp remove filesystem | ลบ Server ออก |
/mcp (พิมพ์ในแชต) | ดูสถานะ และล็อกอิน Server ที่ต้องใช้ OAuth |
เช็กว่าได้แล้ว: claude mcp list ขึ้น ✔ Connected ข้าง filesystem แล้วลองเปิด claude ถามว่า "ในโฟลเดอร์ mcp-test มีไฟล์อะไรบ้าง"
Scope ใช้กับใคร โปรเจกต์ไหน
ใส่ --scope (หรือ -s) ไว้ฝั่งซ้ายของ -- เพื่อเลือกขอบเขต
| scope | ใช้ได้กับ | เก็บไว้ที่ |
|---|---|---|
| local (ค่าเริ่มต้น) | เราคนเดียว เฉพาะโปรเจกต์นี้ | ~/.claude.json |
| project | ทุกคนในทีม ผ่าน Git | .mcp.json ในโปรเจกต์ |
| user | เราคนเดียว ทุกโปรเจกต์ | ~/.claude.json |
เช่น claude mcp add --scope user filesystem -- npx ... จะใช้ได้ทุกโปรเจกต์ ส่วน scope project เหมาะกับ Server ที่ทั้งทีมต้องใช้ เพราะไฟล์ .mcp.json ถูก commit ไปพร้อมโค้ด และ Claude Code จะถามยืนยันก่อนใช้ Server จากไฟล์นี้ทุกครั้ง
Server แบบ Remote
Server ที่อยู่บนอินเทอร์เน็ตใช้ --transport http แล้วตามด้วย URL ไม่ต้องมี --
claude mcp add --transport http notion https://mcp.notion.com/mcpเพิ่มเสร็จ claude mcp list มักขึ้น ! Needs authentication แปลว่ายังไม่ได้ล็อกอิน ให้เปิด claude แล้วพิมพ์ /mcp เลือก notion แล้วล็อกอินในเบราว์เซอร์ที่เด้งขึ้นมา สถานะอื่นที่อาจเห็นคือ ✔ Connected (พร้อมใช้) และ ✘ Failed to connect (ต่อไม่ได้ ให้เช็ก URL และเน็ต)
ใช้ MCP อย่างปลอดภัย
MCP ทำให้ AI มีมือ และมือนั้นทำได้ทั้งดีและพัง จำ 7 ข้อนี้ไว้
- ใช้แค่ Server ที่เชื่อถือได้ Server แบบ Local รันด้วยสิทธิ์เดียวกับเรา ทำอะไรกับเครื่องได้เท่ากับที่เราทำได้
- อ่านคำสั่งก่อนใส่ในไฟล์ตั้งค่า ระวังของแปลกอย่าง
sudo,rm -rf,curlที่ส่งข้อมูลออกไป หรือ path ที่ชี้ไปโฟลเดอร์.ssh - ให้สิทธิ์น้อยที่สุด ใส่เฉพาะโฟลเดอร์ที่ต้องใช้ ไม่ใส่ทั้งไดรฟ์
C:\หรือทั้งโฟลเดอร์ home - อ่านกล่องขออนุญาตทุกครั้ง อย่ากดอนุญาตเพราะเคยชิน
- ระวังคำสั่งแอบแฝง ไฟล์หรือหน้าเว็บที่ AI อ่าน อาจมีข้อความหลอกให้ AI ทำสิ่งที่เราไม่ได้สั่ง (prompt injection)
- Server ตัวอย่างมีไว้เรียนรู้ ก่อนใช้กับงานจริงให้อ่าน README และเช็กว่ายังมีคนดูแล
- ถอด Server ที่ไม่ใช้แล้วออก ยิ่งต่อไว้น้อย ช่องทางเสี่ยงยิ่งน้อย
กฎข้อเดียวที่ควรจำ โฟลเดอร์ไหนที่เราไม่กล้าให้คนแปลกหน้าเข้ามาจับ ก็อย่าใส่โฟลเดอร์นั้นในไฟล์ตั้งค่า MCP
เจอปัญหา ลองเช็กตามนี้
| อาการ | สาเหตุ | วิธีแก้ |
|---|---|---|
| ไม่เห็น filesystem ใน Connectors | แอปยังไม่ได้อ่านไฟล์ตั้งค่าใหม่ | Quit ให้สนิทแล้วเปิดใหม่ |
| Quit แล้วก็ยังไม่เห็น | JSON เขียนผิด | เช็ก 5 จุดในหัวข้อ JSON ผิดบ่อย |
| Server ขึ้นว่าต่อไม่ได้ | path ไม่ใช่ absolute หรือโฟลเดอร์ไม่มีอยู่จริง | ใช้ path เต็ม และเช็กว่าสะกดถูก |
log มี ENOENT และ ${APPDATA} (Windows) | Server หาโฟลเดอร์ AppData ไม่เจอ | เพิ่ม "env" ตามกล่องด้านล่าง |
| npx ไม่ทำงานบน Windows | npm ยังไม่ได้ติดตั้งแบบ global | รัน npm install -g npm |
| AI เรียกเครื่องมือแล้วเงียบ | Server มี error ระหว่างทำงาน | ดู log แล้วเปิด Claude Desktop ใหม่ |
| ขึ้นว่าเข้าโฟลเดอร์ไม่ได้ | โฟลเดอร์นั้นไม่อยู่ใน args | เพิ่ม path ใน args แล้วเปิดแอปใหม่ |
claude mcp list ขึ้น ✘ บน Windows | Windows เรียก npx ตรงๆ ไม่ได้ในบางเครื่อง | ลบแล้วเพิ่มใหม่ โดยใส่ cmd /c หน้า npx |
วิธีแก้ ENOENT บน Windows คือบอก Server ตรงๆ ว่าโฟลเดอร์ AppData อยู่ที่ไหน โดยเพิ่ม "env" ในบล็อกของ Server (เปลี่ยน folk เป็นชื่อผู้ใช้ของเรา)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\folk\\Desktop\\mcp-test"
],
"env": {
"APPDATA": "C:\\Users\\folk\\AppData\\Roaming\\"
}
}
}
}ลองรัน Server เองดู error
ถ้ายังไม่รู้ว่าผิดตรงไหน ลองรันคำสั่งเดียวกับที่ Claude Desktop ใช้ด้วยตัวเอง ถ้ามี error จะเห็นตรงหน้าเลย
npx -y @modelcontextprotocol/server-filesystem C:\Users\folk\Desktop\mcp-testnpx -y @modelcontextprotocol/server-filesystem /Users/folk/Desktop/mcp-testถ้าไม่มี error มันจะค้างรอข้อความอยู่เฉยๆ ซึ่งแปลว่า Server ทำงานปกติ (มันรอให้ Client คุยด้วย) กด Ctrl+C เพื่อออก
ดู log ของ Claude Desktop
type "$env:APPDATA\Claude\logs\mcp*.log"tail -n 20 -f ~/Library/Logs/Claude/mcp*.logไฟล์ mcp.log เก็บเรื่องการเชื่อมต่อโดยรวม ส่วน mcp-server-filesystem.log เก็บข้อความที่ตัว Server พิมพ์ออกมา ถ้า Server พังตอนเปิด สาเหตุมักอยู่ในไฟล์หลัง บน macOS คำสั่ง tail -f จะค้างแสดงบรรทัดใหม่ไปเรื่อยๆ กด Ctrl+C เพื่อออก
ถอดออก และไปต่อ
ฝึกเสร็จแล้วถ้าไม่ใช้ต่อ ให้ถอด Server ออกตามข้อ 7 ของความปลอดภัย
- Claude Desktop ลบบล็อก
"filesystem": { ... }ออกจากไฟล์ตั้งค่า (ระวังจุลภาคที่เหลือค้าง) แล้ว Quit และเปิดแอปใหม่ - Claude Code รัน
claude mcp remove filesystem
ไปต่อได้หลายทาง
- ดู Server อื่นๆ ทั้งตัวทางการและจากชุมชนที่ คลัง Server ของ MCP บน GitHub อ่าน README ของแต่ละตัวก่อนติดตั้งเสมอ
- อยากทำ Server ของตัวเอง ดูหัวข้อ Build servers และ SDK ภาษาต่างๆ ที่ modelcontextprotocol.io
- คู่มือต่อ Server แบบ Local ฉบับทางการ Connect to local MCP servers และการใช้ MCP ใน Claude Code
- MCP คือหนึ่งในชิ้นส่วนของการให้ AI ทำงานวนเอง อ่านต่อได้ที่ Loop Engineering
สรุป
- MCP คือมาตรฐานกลางที่ต่อแอป AI เข้ากับไฟล์ ฐานข้อมูล และเครื่องมือ เหมือน USB-C ที่สายเส้นเดียวเสียบได้ทุกเครื่อง
- Host คือแอป AI, Client คือตัวกลางที่ Host สร้างให้หนึ่งตัวต่อหนึ่ง Server, Server คือปลายสายที่ต่อกับของจริง
- ทุกครั้งที่ AI จะใช้เครื่องมือ แอปจะขออนุญาตก่อน และ Filesystem Server แตะได้เฉพาะโฟลเดอร์ที่ใส่ไว้ใน args
- Claude Desktop ตั้งค่าใน
claude_desktop_config.jsonแล้วต้อง Quit ให้สนิทก่อนเปิดใหม่ ส่วน Claude Code ใช้claude mcp add,list,get,remove - ใช้แค่ Server ที่เชื่อถือได้ ให้สิทธิ์น้อยที่สุด อ่านกล่องขออนุญาตทุกครั้ง และถอดตัวที่ไม่ใช้ออก
พร้อมแล้วก็ไปทำ Quiz ท้ายบทด้านล่างเพื่อรับ XP ได้เลยครับ