Mapbox MCP Server
ทางการปลดล็อกความสามารถด้านภูมิสารสนเทศผ่าน Mapbox APIs เช่น การระบุพิกัดทางภูมิศาสตร์ การค้นหาจุดสนใจ การนำทาง เส้นเวลาเดินทาง และอื่นๆ
เอกสาร
เซิร์ฟเวอร์ Mapbox MCP
เซิร์ฟเวอร์ Node.js ที่ใช้ Model Context Protocol (MCP) สำหรับ Mapbox APIs
ปลดล็อกความอัจฉริยะด้านภูมิสารสนเทศสำหรับแอปพลิเคชัน AI ของคุณ
เซิร์ฟเวอร์ Mapbox MCP เปลี่ยนเอเจนต์หรือแอปพลิเคชัน AI ใดๆ ให้กลายเป็นระบบที่รับรู้ข้อมูลเชิงพื้นที่ โดยให้การเข้าถึงแพลตฟอร์มข่าวกรองตำแหน่งที่ตั้งที่ครอบคลุมของ Mapbox ได้อย่างราบรื่น ด้วยเซิร์ฟเวอร์นี้ AI ของคุณสามารถเข้าใจและให้เหตุผลเกี่ยวกับสถานที่ นำทางในโลกกายภาพ และเข้าถึงข้อมูลภูมิสารสนเทศที่หลากหลาย รวมถึง:
- การเข้ารหัสพิกัดทางภูมิศาสตร์ทั่วโลก เพื่อแปลงที่อยู่และชื่อสถานที่เป็นพิกัดและในทางกลับกัน
- การค้นหาจุดสนใจ (POI) จากธุรกิจ สถานที่สำคัญ และสถานที่ต่างๆ นับล้านแห่งทั่วโลก
- การกำหนดเส้นทางหลายรูปแบบ สำหรับการขับรถ เดิน และปั่นจักรยาน พร้อมข้อมูลการจราจรแบบเรียลไทม์
- เมทริกซ์เวลาเดินทาง เพื่อวิเคราะห์การเข้าถึงและเพิ่มประสิทธิภาพด้านโลจิสติกส์
- การเพิ่มประสิทธิภาพเส้นทาง เพื่อค้นหาลำดับการเยี่ยมชมที่เหมาะสมที่สุดสำหรับหลายจุดจอด (ปัญหาพนักงานขายเดินทาง)
- การจับคู่แผนที่ เพื่อยึดเส้น GPS เข้ากับโครงข่ายถนนสำหรับการแสดงเส้นทางที่ชัดเจน
- การสร้างเส้นชั้นเวลาเท่ากัน เพื่อแสดงพื้นที่ที่สามารถเข้าถึงได้ภายในข้อจำกัดด้านเวลาหรือระยะทางที่กำหนด
- ภาพแผนที่แบบคงที่ เพื่อสร้างการแสดงภาพของตำแหน่งที่ตั้ง เส้นทาง และข้อมูลทางภูมิศาสตร์
- การคำนวณภูมิสารสนเทศแบบออฟไลน์ สำหรับระยะทาง พื้นที่ ทิศทาง บัฟเฟอร์ และการวิเคราะห์เชิงพื้นที่โดยไม่ต้องเรียกใช้ API
ไม่ว่าคุณกำลังสร้างผู้ช่วยท่องเที่ยว AI, ตัวเพิ่มประสิทธิภาพด้านโลจิสติกส์, ระบบแนะนำตามตำแหน่งที่ตั้ง หรือแอปพลิเคชันใดๆ ที่ต้องการเข้าใจ "ที่ไหน" เซิร์ฟเวอร์ Mapbox MCP มอบความอัจฉริยะเชิงพื้นที่เพื่อให้เป็นไปได้ คุณยังสามารถเปิดใช้งานบนไคลเอนต์ยอดนิยมอย่าง Claude Desktop และ VS Code ได้อีกด้วย ดูรายละเอียดด้านล่าง

การใช้งาน
จำเป็นต้องมีโทเค็นการเข้าถึง Mapbox เพื่อใช้เซิร์ฟเวอร์ MCP นี้
ปลายทาง MCP แบบโฮสต์
เพื่อการเข้าถึงที่รวดเร็ว คุณสามารถใช้ปลายทาง MCP แบบโฮสต์ของเราได้:
ปลายทาง: https://mcp.mapbox.com/mcp
สำหรับคำแนะนำการตั้งค่าโดยละเอียดสำหรับไคลเอนต์ต่างๆ และการใช้งาน API โปรดดู คู่มือเซิร์ฟเวอร์ MCP แบบโฮสต์
วิธีรับโทเค็นการเข้าถึง Mapbox:
- ลงทะเบียนบัญชี Mapbox ฟรีที่ mapbox.com/signup
- ไปที่ หน้าบัญชี ของคุณ
- สร้างโทเค็นใหม่หรือใช้โทเค็นสาธารณะเริ่มต้น
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโทเค็นการเข้าถึง Mapbox โปรดดู เอกสาร Mapbox เกี่ยวกับโทเค็นการเข้าถึง
คู่มือการผสานรวม
สำหรับคำแนะนำการตั้งค่าโดยละเอียดสำหรับการผสานรวมต่างๆ โปรดดูคู่มือต่อไปนี้:
- การตั้งค่า Claude Desktop - คำแนะนำในการกำหนดค่า Claude Desktop ให้ทำงานกับเซิร์ฟเวอร์ MCP นี้
- การตั้งค่า Goose - การตั้งค่าเฟรมเวิร์กเอเจนต์ AI ของ Goose
- การตั้งค่า VS Code - การตั้งค่าสภาพแวดล้อมการพัฒนาใน Visual Studio Code
- การตั้งค่า Cursor AI IDE - การตั้งค่าสภาพแวดล้อมการพัฒนาใน Cursor AI IDE
- การผสานรวม Smolagents - ตัวอย่างแสดงวิธีเชื่อมต่อเอเจนต์ AI ของ Smolagents เข้ากับเครื่องมือของ Mapbox
- การนำเข้าเครื่องมือโดยตรง - ใช้เครื่องมือ Mapbox ในแอปพลิเคชันของคุณเองโดยไม่ต้องรันเซิร์ฟเวอร์ MCP
ตัวอย่างพร้อมท์
ลองใช้พร้อมท์เหล่านี้กับ Claude Desktop หรือไคลเอนต์ MCP อื่นๆ หลังการตั้งค่า:
การค้นหาตำแหน่งที่ตั้ง
- "หาร้านกาแฟในระยะเดินถึงจากตึกเอ็มไพร์สเตท"
- "ฉันต้องการเดินทางจากซีแอตเทิลไปพอร์ตแลนด์ มีสตาร์บัคส์ระหว่างทางไหม"
- "แสดงปั๊มน้ำมันตามเส้นทางจากบอสตันไปนิวยอร์ก"
- "มีร้านอาหารอะไรบ้างใกล้ไทม์สแควร์"
การนำทางและการเดินทาง
- "ขอเส้นทางขับรถจาก LAX ไปฮอลลีวูดพร้อมข้อมูลการจราจรปัจจุบัน"
- "ใช้เวลาเดินนานแค่ไหนจากเซ็นทรัลพาร์คไปไทม์สแควร์"
- "คำนวณเวลาเดินทางจากโรงแรมของฉัน (โฟร์ซีซั่นส์) ไปสนามบิน JFK โดยแท็กซี่ในช่วงชั่วโมงเร่งด่วน"
การแสดงภาพและแผนที่
- "สร้างภาพแผนที่แสดงเส้นทางจากสะพานโกลเดนเกตไปฟิชเชอร์แมนส์วอร์ฟพร้อมเครื่องหมายที่ทั้งสองตำแหน่ง"
- "แสดงมุมมองดาวเทียมของแมนฮัตตันพร้อมสถานที่สำคัญที่ทำเครื่องหมายไว้"
- "สร้างแผนที่เน้นตำแหน่งสตาร์บัคส์ทั้งหมดภายในรัศมีหนึ่งไมล์จากใจกลางเมืองซีแอตเทิล"
การวิเคราะห์และการวางแผน
- "แสดงพื้นที่ที่สามารถเข้าถึงได้ภายใน 30 นาทีจากใจกลางเมืองพอร์ตแลนด์โดยรถยนต์"
- "คำนวณเมทริกซ์เวลาเดินทางระหว่างโรงแรม 3 แห่งนี้ (แมริออท, เชอราตัน และฮิลตัน) กับศูนย์ประชุมในเดนเวอร์"
- "ค้นหาเส้นทางที่เหมาะสมที่สุดในการเยี่ยมชมสถานที่ท่องเที่ยว 3 แห่งนี้ (โกลเดนเกต, บันไดดนตรี และฟิชเชอร์แมนส์วอร์ฟ) ในซานฟรานซิสโก"
- "เพิ่มประสิทธิภาพเส้นทางจัดส่งสำหรับที่อยู่ 8 แห่งนี้: [รายการที่อยู่]"
GPS และการจับคู่เส้นทาง
- "ทำความสะอาดเส้น GPS นี้และแสดงเส้นทางจริงบนถนน: [รายการพิกัดพร้อมการประทับเวลา]"
- "ยึดเส้นทางปั่นจักรยานที่บันทึกไว้นี้เข้ากับเครือข่ายจักรยาน: [พิกัด GPS]"
- "จับคู่เส้นทางขับรถนี้กับโครงข่ายถนนและแสดงระดับความหนาแน่นของการจราจร"
การคำนวณภูมิสารสนเทศแบบออฟไลน์
- "ระยะทางระหว่างสองพิกัดนี้เป็นไมล์เท่าไหร่"
- "คำนวณพื้นที่ของรูปหลายเหลี่ยมนี้เป็นตารางกิโลเมตร"
- "จุดที่ละติจูด 37.7749°N, ลองจิจูด 122.4194°W อยู่ในรูปหลายเหลี่ยมพื้นที่ให้บริการนี้หรือไม่"
- "ทิศทางจากซานฟรานซิสโกไปนิวยอร์กคืออะไร"
- "หาจุดกึ่งกลางระหว่างลอนดอนและปารีส"
- "สร้างเขตกันชนระยะ 5 ไมล์รอบตำแหน่งนี้"
- "คำนวณเซนทรอยด์ของขอบเขตย่านนี้"
- "กรอบขอบเขตสำหรับพิกัดเส้นทางนี้คืออะไร"
- "ลดความซับซ้อนของรูปหลายเหลี่ยมที่ซับซ้อนนี้เพื่อลดจำนวนจุด"
เคล็ดลับเพื่อผลลัพธ์ที่ดีขึ้น
- ระบุตำแหน่งที่ตั้งให้เฉพาะเจาะจง (ใช้ที่อยู่แบบเต็มหรือชื่อสถานที่สำคัญ)
- ระบุวิธีการเดินทางที่คุณต้องการ (ขับรถ เดิน ปั่นจักรยาน)
- รวมข้อจำกัดด้านเวลาเมื่อเกี่ยวข้อง ("ในช่วงชั่วโมงเร่งด่วน", "ตอนบ่าย 3 โมง")
- ขอรูปแบบผลลัพธ์เฉพาะเมื่อจำเป็น ("เป็นภาพแผนที่", "ในรูปแบบ JSON")
ตัวอย่างโดยละเอียด: ดู examples/search-along-route.md สำหรับตัวอย่างที่ครอบคลุมของพร้อมท์การค้นหาตามเส้นทางพร้อมกรณีการใช้งานต่างๆ และคำแนะนำการทดสอบ MCP Inspector
ทรัพยากร
เซิร์ฟเวอร์ MCP เปิดเผยข้อมูลอ้างอิงแบบคงที่เป็น ทรัพยากร MCP ทรัพยากรให้การเข้าถึงข้อมูลแบบอ่านอย่างเดียวที่ไคลเอนต์สามารถอ้างอิงได้โดยตรงโดยไม่ต้องเรียกใช้เครื่องมือ
ทรัพยากรที่มีอยู่
ทรัพยากรหมวดหมู่ Mapbox
รูปแบบ URI: mapbox://categories หรือ mapbox://categories/{language}
เข้าถึงรายการรหัสหมวดหมู่ที่มีอยู่ทั้งหมดเพื่อใช้กับเครื่องมือค้นหาหมวดหมู่ สามารถใช้หมวดหมู่เพื่อกรองผลการค้นหาตามประเภท (เช่น "restaurant", "hotel", "gas_station")
ตัวอย่าง:
mapbox://categories- รายการหมวดหมู่เริ่มต้น (ภาษาอังกฤษ)mapbox://categories/ja- ชื่อหมวดหมู่ภาษาญี่ปุ่นmapbox://categories/es- ชื่อหมวดหมู่ภาษาสเปน
การเข้าถึงทรัพยากร:
- ไคลเอนต์ที่รองรับทรัพยากร MCP แบบเนทีฟ: ใช้เมธอดโปรโตคอล MCP
resources/read - ไคลเอนต์ที่ไม่รองรับทรัพยากร: ใช้
resource_reader_toolกับ URI ทรัพยากร
การแสดงตัวอย่างแผนที่แบบสมบูรณ์ (MCP Apps)
static_map_image_tool ให้แผงแสดงตัวอย่างแผนที่แบบโต้ตอบในไคลเอนต์ที่เข้ากันได้ นอกเหนือจากภาพ base64 ที่ไคลเอนต์ทั้งหมดได้รับ
เซิร์ฟเวอร์นี้ใช้โปรโตคอล MCP Apps (@modelcontextprotocol/ext-apps) ซึ่งแสดงแผงแอป HTML แบบสมบูรณ์ในตัวเองภายในแชทโดยตรง ไคลเอนต์ที่รองรับจะแสดงแผนที่แบบโต้ตอบพร้อมปุ่มสลับเต็มหน้าจอ:
- Claude Desktop ✅
- VS Code พร้อม GitHub Copilot ✅
- Claude Code ✅
- Goose ✅
ไคลเอนต์ทั้งหมดได้รับภาพแผนที่ที่เข้ารหัส base64 โดยไม่คำนึงถึงการรองรับโปรโตคอล — การแสดงตัวอย่างแบบโต้ตอบเป็นการเพิ่มประสิทธิภาพแบบก้าวหน้าจากการตอบกลับภาพมาตรฐาน
ดั้งเดิม: MCP-UI
เซิร์ฟเวอร์นี้ยังคงรองรับ MCP-UI (@mcp-ui/server) ซึ่งเป็นข้อกำหนดเปิดก่อนหน้านี้สำหรับการแสดงตัวอย่าง iframe แบบฝัง MCP Apps เป็นโปรโตคอลที่แนะนำ; การรองรับ MCP-UI ถูกเก็บไว้เพื่อความเข้ากันได้ย้อนหลัง
MCP-UI ถูกเปิดใช้งานโดยค่าเริ่มต้น หากต้องการปิดใช้งาน ให้ส่ง --disable-mcp-ui เป็นแฟล็กบรรทัดคำสั่งหรือตั้งค่า ENABLE_MCP_UI=false ดู เอกสาร MCP-UI สำหรับรายละเอียด
CLIENT_NEEDS_RESOURCE_FALLBACK
เครื่องมือสำรองทรัพยากร (เลือกใช้สำหรับไคลเอนต์ที่ไม่เป็นไปตามข้อกำหนด)
ทรัพยากรเป็นคุณสมบัติหลักของ MCP ที่ไคลเอนต์ส่วนใหญ่รองรับ (Claude Desktop, VS Code, MCP Inspector ฯลฯ) อย่างไรก็ตาม ไคลเอนต์บางตัว (เช่น smolagents) ไม่รองรับทรัพยากรเลย สำหรับไคลเอนต์เหล่านี้ เซิร์ฟเวอร์สามารถให้ "เครื่องมือสำรองทรัพยากร" ที่ส่งเนื้อหาเดียวกันกับทรัพยากรแต่ผ่านการเรียกใช้เครื่องมือ
เครื่องมือสำรอง:
resource_reader_tool- การสำรองทั่วไปสำหรับการอ่านทรัพยากรใดๆ ตาม URIcategory_list_tool- ให้การเข้าถึงรายการหมวดหมู่ (mapbox://categories)
โดยค่าเริ่มต้น เครื่องมือเหล่านี้จะไม่ถูกรวม (ถือว่าไคลเอนต์ของคุณรองรับทรัพยากร) หากไคลเอนต์ของคุณไม่รองรับทรัพยากร ให้เปิดใช้งานเครื่องมือสำรอง:
export CLIENT_NEEDS_RESOURCE_FALLBACK=true
เมื่อใดควรตั้งค่านี้:
- ✅ ตั้งค่าเป็น
trueหากใช้ smolagents หรือไคลเอนต์อื่นๆ ที่ไม่รองรับทรัพยากร - ❌ ปล่อยว่างไว้ (ค่าเริ่มต้น) หากใช้ Claude Desktop, VS Code, MCP Inspector หรือไคลเอนต์ใดๆ ที่รองรับทรัพยากร
- ❌ ปล่อยว่างไว้หากไม่แน่ใจ (ไคลเอนต์ส่วนใหญ่รองรับทรัพยากร)
เครื่องมือ
เครื่องมืออรรถประโยชน์
เครื่องมืออ่านทรัพยากร
ให้การเข้าถึงทรัพยากร MCP สำหรับไคลเอนต์ที่ไม่รองรับ API ทรัพยากร MCP แบบเนทีฟ ใช้เครื่องมือนี้เพื่ออ่านทรัพยากรเช่นรายการหมวดหมู่
พารามิเตอร์:
uri: URI ทรัพยากรที่จะอ่าน (เช่นmapbox://categories,mapbox://categories/ja)
ตัวอย่างการใช้งาน:
- อ่านหมวดหมู่เริ่มต้น:
{"uri": "mapbox://categories"} - อ่านหมวดหมู่ภาษาญี่ปุ่น:
{"uri": "mapbox://categories/ja"}
หมายเหตุ: หากไคลเอนต์ MCP ของคุณรองรับทรัพยากรแบบเนทีฟ ควรใช้ API ทรัพยากรโดยตรงเพื่อประสิทธิภาพที่ดีกว่า
เครื่องมือภูมิสารสนเทศแบบออฟไลน์
เครื่องมือเหล่านี้ทำการคำนวณภูมิสารสนเทศแบบออฟไลน์อย่างสมบูรณ์โดยไม่ต้องเรียกใช้ Mapbox API พวกเขาใช้ Turf.js สำหรับการคำนวณทางภูมิศาสตร์ที่แม่นยำและทำงานได้ทุกที่ แม้ไม่มีการเชื่อมต่ออินเทอร์เน็ต
เครื่องมือระยะทาง
คำนวณระยะทางระหว่างพิกัดทางภูมิศาสตร์สองจุดโดยใช้สูตร Haversine
คุณสมบัติ:
- รองรับหลายหน่วย: กิโลเมตร ไมล์ เมตร ฟุต ไมล์ทะเล
- การคำนวณระยะทางวงกลมใหญ่ที่แม่นยำ
- ไม่ต้องเรียกใช้ API
ตัวอย่างการใช้งาน: "ระยะทางระหว่างซานฟรานซิสโก (37.7749°N, 122.4194°W) และนิวยอร์ก (40.7128°N, 74.0060°W) คือเท่าไหร่"
เครื่องมือจุดในรูปหลายเหลี่ยม
ทดสอบว่าจุดอยู่ภายในรูปหลายเหลี่ยมหรือมัลติโพลีกอนหรือไม่
คุณสมบัติ:
- ทำงานกับรูปหลายเหลี่ยมที่ซับซ้อนรวมถึงรู
- รองรับมัลติโพลีกอน
- มีประโยชน์สำหรับการกำหนดขอบเขตทางภูมิศาสตร์และการตรวจสอบพื้นที่ให้บริการ
ตัวอย่างการใช้งาน: "ที่อยู่จัดส่งนี้อยู่ในพื้นที่ให้บริการของเราหรือไม่"
เครื่องมือทิศทาง
คำนวณทิศทางเข็มทิศ (แบริ่ง) จากพิกัดหนึ่งไปยังอีกพิกัดหนึ่ง
คุณสมบัติ:
- ส่งคืนทิศทางเป็นองศา (0-360°)
- ให้ทิศทางหลัก (N, NE, E, SE, S, SW, W, NW)
- มีประโยชน์สำหรับการนำทางและการสอบถามทิศทาง
ตัวอย่างการใช้งาน: "ฉันควรมุ่งหน้าไปทิศทางไหนเพื่อไปจากที่นี่ไปสนามบิน"
เครื่องมือจุดกึ่งกลาง
ค้นหาจุดกึ่งกลางทางภูมิศาสตร์ระหว่างสองพิกัดตามเส้นทางวงกลมใหญ่
คุณสมบัติ:
- คำนวณจุดกึ่งกลางที่แท้จริงบนพื้นผิวโค้งของโลก
- มีประโยชน์สำหรับข้อเสนอแนะจุดนัดพบ
- จัดการการคำนวณระยะทางไกลได้อย่างถูกต้อง
ตัวอย่างการใช้งาน: "จุดกึ่งกลางระหว่างซานฟรานซิสโกและนิวยอร์กคือที่ไหน"
เครื่องมือเซนทรอยด์
คำนวณศูนย์กลางทางเรขาคณิต (เซนทรอยด์) ของรูปหลายเหลี่ยมหรือมัลติโพลีกอน
คุณสมบัติ:
- ทำงานกับรูปร่างที่ซับซ้อน
- ส่งคืนค่าเฉลี่ยเลขคณิตของทุกจุด
- มีประโยชน์สำหรับการวางป้ายหรือเครื่องหมาย
ตัวอย่างการใช้งาน: "ฉันควรวางเครื่องหมายสำหรับขอบเขตย่านนี้ที่ไหน"
เครื่องมือพื้นที่
คำนวณพื้นที่ของรูปหลายเหลี่ยม
คุณสมบัติ:
- รองรับหลายหน่วย: ตารางเมตร ตารางกิโลเมตร เอเคอร์ เฮกตาร์ ตารางไมล์ ตารางฟุต
- การคำนวณพื้นที่ที่แม่นยำบนพื้นผิวโลก
- ทำงานกับรูปหลายเหลี่ยมทุกขนาด
ตัวอย่างการใช้งาน: "พื้นที่ของสวนสาธารณะนี้เป็นเอเคอร์เท่าไหร่"
เครื่องมือกรอบขอบเขต
คำนวณกรอบขอบเขตขั้นต่ำ (bbox) ที่บรรจุรูปทรงเรขาคณิต
คุณสมบัติ:
- ทำงานกับจุด เส้น รูปหลายเหลี่ยม และมัลติโพลีกอน
- ส่งคืน [minLongitude, minLatitude, maxLongitude, maxLatitude]
- มีประโยชน์สำหรับการคำนวณวิวพอร์ตและการจัดทำดัชนีเชิงพื้นที่
ตัวอย่างการใช้งาน: "กรอบขอบเขตสำหรับเส้นทางนี้คืออะไร"
เครื่องมือบัฟเฟอร์
สร้างพื้นที่บัฟเฟอร์ (รูปหลายเหลี่ยม) รอบจุด เส้น หรือรูปหลายเหลี่ยม
คุณสมบัติ:
- รองรับหน่วยระยะทางหลายหน่วย
- สร้างบัฟเฟอร์วงกลมรอบจุด
- มีประโยชน์สำหรับการวิเคราะห์ความใกล้เคียงและการสร้างโซนอิทธิพล
ตัวอย่างการใช้งาน: "แสดงพื้นที่บัฟเฟอร์ 5 กม. รอบตำแหน่งนี้ให้ฉันดู"
เครื่องมือลดความซับซ้อน
ลดจำนวนจุดยอดในเส้นหรือรูปหลายเหลี่ยมโดยใช้อัลกอริทึม Douglas-Peucker
คุณสมบัติ:
- ค่าความคลาดเคลื่อนที่ปรับแต่งได้สำหรับระดับรายละเอียด
- รักษารูปร่างโดยรวมในขณะที่ลดความซับซ้อน
- มีประโยชน์สำหรับการลดขนาดไฟล์และปรับปรุงประสิทธิภาพการเรนเดอร์
- ตัวเลือกในการรักษาโทโพโลยี (ป้องกันการตัดกันเอง)
ตัวอย่างการใช้งาน: "ลดความซับซ้อนของขอบเขตที่ซับซ้อนนี้เพื่อลดจำนวนจุด"
เครื่องมือ Mapbox API
เครื่องมือรายการหมวดหมู่ (เลิกใช้งานแล้ว)
⚠️ เลิกใช้งานแล้ว: ใช้ resource_reader_tool กับ URI mapbox://categories แทน หรือเข้าถึงทรัพยากร mapbox://categories โดยตรงหากไคลเอนต์ของคุณรองรับทรัพยากร MCP
เครื่องมือนี้ยังคงไว้เพื่อความเข้ากันได้แบบย้อนหลังกับไคลเอนต์ที่ไม่รองรับทรัพยากร MCP หรือ resource_reader_tool
เครื่องมือเมทริกซ์
คำนวณเวลาและระยะทางในการเดินทางระหว่างหลายจุดโดยใช้ Mapbox Matrix API คุณสมบัติรวมถึง:
- การคำนวณเส้นทางแบบหนึ่งต่อหลาย หลายต่อหนึ่ง หรือหลายต่อหลายอย่างมีประสิทธิภาพ
- รองรับโปรไฟล์การเดินทางที่แตกต่างกัน (driving-traffic, driving, walking, cycling)
- การระบุเวลาออกเดินทางสำหรับการคำนวณที่คำนึงถึงสภาพจราจร
- การสรุปเส้นทางด้วยเมตริกระยะทางและระยะเวลา
- วิธีการควบคุม (curb/unrestricted) และช่วงของทิศทางการออกเดินทางที่อนุญาต
เครื่องมือภาพคงที่
สร้างภาพแผนที่คงที่โดยใช้ Mapbox static image API คุณสมบัติรวมถึง:
- รูปแบบแผนที่ที่กำหนดเอง (streets, outdoors, satellite ฯลฯ)
- ขนาดภาพและระดับการซูมที่ปรับได้
- รองรับหลายเครื่องหมายด้วยสีและป้ายกำกับที่กำหนดเอง
- ตัวเลือกการซ้อนทับรวมถึงเส้นหลายเส้นและรูปหลายเหลี่ยม
- การปรับขนาดอัตโนมัติให้พอดีกับพิกัดที่ระบุ
เครื่องมือค้นหาหมวดหมู่
ทำการค้นหาหมวดหมู่โดยใช้ Mapbox Search Box category search API คุณสมบัติรวมถึง:
- ค้นหาจุดสนใจตามหมวดหมู่ (ร้านอาหาร โรงแรม ปั๊มน้ำมัน ฯลฯ)
- การกรองตามความใกล้เคียงทางภูมิศาสตร์
- ขีดจำกัดผลลัพธ์ที่ปรับแต่งได้
- ข้อมูลเมตาที่หลากหลายสำหรับแต่ละผลลัพธ์
- รองรับหลายภาษา
เครื่องมือ Reverse Geocoding
ทำ Reverse Geocoding โดยใช้ Mapbox geocoding V6 API คุณสมบัติรวมถึง:
- แปลงพิกัดทางภูมิศาสตร์เป็นที่อยู่ที่มนุษย์อ่านได้
- ระดับรายละเอียดที่ปรับแต่งได้ (ถนน ละแวกบ้าน เมือง ฯลฯ)
- การกรองผลลัพธ์ตามประเภท (ที่อยู่ จุดสนใจ ละแวกบ้าน ฯลฯ)
- รองรับหลายภาษา
- ข้อมูลบริบทตำแหน่งที่หลากหลาย
เครื่องมือเส้นทาง
ดึงข้อมูลเส้นทางโดยใช้ Mapbox Directions API คุณสมบัติรวมถึง:
- รองรับโปรไฟล์เส้นทางที่แตกต่างกัน: driving (พร้อมสภาพจราจรสดหรือทั่วไป), walking และ cycling
- เส้นทางจากจุดอ้างอิงหลายจุด (คู่พิกัด 2-25 คู่)
- ตัวเลือกเส้นทางสำรอง
- คำอธิบายประกอบเส้นทาง (ระยะทาง ระยะเวลา ความเร็ว ความแออัด)
- ตัวเลือกการจัดตารางเวลา:
- เวลาออกเดินทางในอนาคต (
depart_at) สำหรับโปรไฟล์ driving และ driving-traffic - เวลาที่ต้องการไปถึง (
arrive_by) สำหรับโปรไฟล์ driving เท่านั้น
- เวลาออกเดินทางในอนาคต (
- การเพิ่มประสิทธิภาพเฉพาะโปรไฟล์:
- Driving: ข้อจำกัดขนาดยานพาหนะ (ความสูง ความกว้าง น้ำหนัก)
- ตัวเลือกการยกเว้นสำหรับเส้นทาง:
- การยกเว้นทั่วไป: เส้นทางเรือข้ามฟาก, ทางด่วนที่ชำระด้วยเงินสดเท่านั้น
- การยกเว้นเฉพาะ driving: ทางด่วน, มอเตอร์เวย์, ถนนลูกรัง, อุโมงค์, พรมแดนประเทศ, พรมแดนรัฐ
- การยกเว้นจุดที่กำหนดเอง (สูงสุด 50 จุดทางภูมิศาสตร์ที่ควรหลีกเลี่ยง)
- รูปแบบผลลัพธ์เรขาคณิต GeoJSON
เครื่องมือ Isochrone
คำนวณพื้นที่ที่สามารถเข้าถึงได้ภายในระยะเวลาที่กำหนดจากตำแหน่งหนึ่งโดยใช้ Mapbox Isochrone API คุณสมบัติรวมถึง:
- รองรับโปรไฟล์การเดินทางที่แตกต่างกัน (driving, walking, cycling)
- เวลาหรือระยะทางในการเดินทางที่ปรับแต่งได้
- การสร้างเส้นชั้นความสูงหลายเส้น (เช่น ช่วง 15, 30, 45 นาที)
- การระบุเวลาออกเดินทางหรือเวลาที่ต้องการไปถึง (ไม่บังคับ)
- การปรับแต่งสีสำหรับการแสดงผล
เครื่องมือค้นหาและ Geocode
ใช้ปลายทาง Mapbox Search Box Text Search API เพื่อขับเคลื่อนการค้นหาและ Geocode จุดสนใจ ที่อยู่ สถานที่ และประเภทอื่นๆ ที่ API นั้นรองรับ เครื่องมือนี้รวมฟังก์ชันการทำงานที่ก่อนหน้านี้ให้บริการโดย ForwardGeocodeTool และ PoiSearchTool (จากเวอร์ชันก่อนหน้าของเซิร์ฟเวอร์ MCP นี้) ไว้ในเครื่องมือเดียว
เครื่องมือจับคู่แผนที่
ยึดเส้นทาง GPS เข้ากับเครือข่ายถนนโดยใช้ Mapbox Map Matching API คุณสมบัติรวมถึง:
- แปลงเส้นทาง GPS ที่มีสัญญาณรบกวนให้เป็นเส้นทางที่สะอาดบนเครือข่ายถนน
- รองรับโปรไฟล์การเดินทางที่แตกต่างกัน (driving, driving-traffic, walking, cycling)
- จัดการคู่พิกัดได้สูงสุด 100 คู่ต่อคำขอ
- การประทับเวลา (ไม่บังคับ) เพื่อความแม่นยำที่ปรับปรุงตามความเร็ว
- รัศมีการยึดที่ปรับแต่งได้สำหรับระดับคุณภาพ GPS ที่แตกต่างกัน
- คำอธิบายประกอบเส้นทาง (ขีดจำกัดความเร็ว ระยะทาง ระยะเวลา ความแออัดของการจราจร)
- รูปแบบผลลัพธ์เรขาคณิตหลายรูปแบบ (GeoJSON, polyline)
ตัวอย่างการใช้งาน: "ทำความสะอาดเส้นทาง GPS นี้และยึดเข้ากับถนน: [พิกัดพร้อมการประทับเวลา]"
เครื่องมือเพิ่มประสิทธิภาพ
ค้นหาเส้นทางที่เหมาะสมที่สุดผ่านหลายตำแหน่งโดยใช้ Mapbox Optimization API คุณสมบัติรวมถึง:
- แก้ปัญหา traveling salesman problem (TSP) สำหรับ 2-12 ตำแหน่ง
- รองรับโปรไฟล์การเดินทางที่แตกต่างกัน (driving, driving-traffic, walking, cycling)
- การกำหนดค่าจุดเริ่มต้นและจุดสิ้นสุดที่ยืดหยุ่น
- การเพิ่มประสิทธิภาพการเดินทางแบบไปกลับหรือเที่ยวเดียว
- คำแนะนำการนำทางแบบเลี้ยวต่อเลี้ยว (ไม่บังคับ)
- คำอธิบายประกอบเส้นทาง (ระยะทาง ระยะเวลา ความเร็ว)
- รูปแบบผลลัพธ์เรขาคณิตหลายรูปแบบ (GeoJSON, polyline)
ตัวอย่างการใช้งาน: "ค้นหาเส้นทางที่เหมาะสมที่สุดเพื่อเยี่ยมชม 5 จุดนี้: [รายการที่อยู่หรือพิกัด]"
หมายเหตุ: V2 API พร้อมคุณสมบัติขั้นสูง (กรอบเวลา ข้อจำกัดด้านความจุ ยานพาหนะหลายคัน) พร้อมใช้งานแต่ต้องมีการเข้าถึงแบบเบต้า การใช้งาน V2 รวมอยู่ในโค้ดเบสแต่ไม่ได้ลงทะเบียนโดยค่าเริ่มต้น
การพัฒนา
การตรวจสอบเซิร์ฟเวอร์
การใช้ Node.js
# Run the built image
npm run inspect:build
การใช้ Docker
# Build the Docker image
docker build -t mapbox-mcp-server .
# Run and inspect the server
npx @modelcontextprotocol/inspector docker run -i --rm --env MAPBOX_ACCESS_TOKEN="YOUR_TOKEN" mapbox-mcp-server
สร้างเครื่องมือใหม่
npx plop create-tool
# provide tool name without suffix (e.g. Search)
การเผยแพร่เวอร์ชันใหม่
# 1. Bump version in package.json
npm version <new-version> --no-git-tag-version
# 2. Sync version to manifest.json and server.json
npm run sync-manifest
# 3. Prepare CHANGELOG (replaces "Unreleased" with version and date)
npm run changelog:prepare-release <new-version>
# 4. Update package-lock.json
npm install
# 5. Review changes, then commit and tag
git add package.json package-lock.json manifest.json server.json CHANGELOG.md
git commit -m "Release v<new-version>"
git tag v<new-version>
git push && git push --tags
สำคัญ: เวิร์กโฟลว์ผู้เผยแพร่ตรวจสอบว่าเวอร์ชัน package.json และ server.json ตรงกับเวอร์ชันที่เผยแพร่ การข้ามการเพิ่มเวอร์ชันหรือการซิงค์ manifest จะทำให้การเผยแพร่ล้มเหลว
การติดตามด้วย OpenTelemetry
เซิร์ฟเวอร์ MCP นี้รวมการติดตาม OpenTelemetry ที่ครอบคลุมสำหรับการสังเกตการณ์ในการใช้งานจริง:
การสาธิตอย่างรวดเร็ว
# 1. Copy the example configuration
cp .env.example .env
# 2. Edit .env to add your MAPBOX_ACCESS_TOKEN and configure tracing
# 3. Start Jaeger for local development
npm run tracing:jaeger:start
# 4. Run the server (it will automatically use .env configuration)
npm run inspect:build
# 5. View traces at http://localhost:16686
# 6. Stop Jaeger when done
npm run tracing:jaeger:stop
หมายเหตุ: เซิร์ฟเวอร์โหลดการกำหนดค่าจากไฟล์ .env ของคุณโดยอัตโนมัติเมื่อเริ่มต้น ไฟล์ .env.example รวมตัวอย่างการกำหนดค่าสำหรับแพลตฟอร์มการสังเกตการณ์หลายแพลตฟอร์ม
แพลตฟอร์มการสังเกตการณ์ที่รองรับ
ตัวอย่างการกำหนดค่ารวมอยู่ใน .env.example สำหรับ:
ผู้ให้บริการคลาวด์:
- ☁️ AWS X-Ray
- ☁️ Azure Monitor (Application Insights)
- ☁️ Google Cloud Trace
แพลตฟอร์ม SaaS:
- 📊 Datadog
- 📊 New Relic
- 📊 Honeycomb
- 📊 แบ็กเอนด์ที่เข้ากันได้กับ OTLP ใดๆ
การกำหนดค่าสำหรับการใช้งานจริง
ดู docs/tracing.md สำหรับคำแนะนำการตั้งค่าที่สมบูรณ์รวมถึง:
- 🔧 คู่มือการกำหนดค่าเฉพาะแพลตฟอร์ม
- 📊 การตั้งค่าการตรวจสอบสิทธิ์และปลายทาง
- 🎯 แอตทริบิวต์และบริบทการติดตามที่กำหนดเอง
- 🚀 การเพิ่มประสิทธิภาพ (โอเวอร์เฮดน้อยที่สุด)
- 🔍 การแก้ไขปัญหาและการดีบัก
คุณสมบัติการติดตาม:
- ✅ การติดตามการโหลดการกำหนดค่า (การโหลดไฟล์ .env)
- ✅ การติดตามการทำงานของเครื่องมืออัตโนมัติ
- ✅ การตรวจสอบคำขอ HTTP ด้วย CloudFront correlation IDs
- ✅ ตัวส่งออกที่กำหนดค่าได้ (console, OTLP)
- ✅ คำนึงถึงความปลอดภัย (การปกป้องข้อมูล, การตรวจสอบ JWT)
- ✅ พร้อมสำหรับการใช้งานจริง (โอเวอร์เฮด CPU <1%)
การมีส่วนร่วม
เรายินดีต้อนรับการมีส่วนร่วมใน Mapbox MCP Server! โปรดอ่าน CONTRIBUTING.md ก่อนส่ง pull request
มาตรฐานและแนวทางฉบับเต็ม:
- CONTRIBUTING.md - การเริ่มต้น, กระบวนการ PR, ข้อมูลอ้างอิงด่วน
- Engineering Standards (docs/engineering_standards.md) - มาตรฐานคุณภาพโค้ด การทดสอบ เอกสาร และการทำงานร่วมกันฉบับสมบูรณ์
- Claude Code Guide (CLAUDE.md) - มาตรฐานและรูปแบบสำหรับผู้มีส่วนร่วมที่ใช้ Claude Code
- AI Agent Instructions (AGENTS.md) - คู่มือสำหรับผู้ช่วยเขียนโค้ด AI อื่นๆ (Cursor, Continue, Aider ฯลฯ)
- GitHub Copilot Guidelines - แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ GitHub Copilot อย่างมีความรับผิดชอบ
เริ่มต้นอย่างรวดเร็วสำหรับผู้มีส่วนร่วม
- Fork repository และโคลน fork ของคุณ
- ติดตั้งการพึ่งพา:
npm install - ทำการเปลี่ยนแปลงของคุณตามมาตรฐานการเขียนโค้ดของเรา
- รันการทดสอบและการตรวจสอบ linting:
npm test && npm run lint - เพิ่มการทดสอบสำหรับฟังก์ชันการทำงานใหม่ใดๆ
- ส่ง pull request พร้อมคำอธิบายที่ชัดเจน
การมีส่วนร่วมทั้งหมดต้องผ่านการตรวจสอบ CI และกระบวนการตรวจสอบโค้ดของเรา ดู docs/engineering_standards.md สำหรับข้อกำหนดโดยละเอียด
การใช้ข้อมูลและความเป็นส่วนตัว
ข้อมูลใดที่ถูกส่งไปยัง Mapbox APIs
เมื่อคุณใช้เครื่องมือเซิร์ฟเวอร์ MCP ข้อมูลต่อไปนี้จะถูกส่งโดยตรงจากสภาพแวดล้อมของคุณไปยัง Mapbox APIs:
- เครื่องมือ Geocoding: ข้อความที่อยู่/ตำแหน่ง, พิกัด, ตัวกรองประเทศ/ภูมิภาค
- เครื่องมือค้นหา: คำค้นหา, พิกัดตำแหน่งสำหรับความใกล้เคียง, ตัวกรองหมวดหมู่
- เครื่องมือเส้นทาง: พิกัดเริ่มต้น/สิ้นสุด, จุดอ้างอิง, การตั้งค่าเส้นทาง, ข้อจำกัดของยานพาหนะ
- เครื่องมือเมทริกซ์: คู่พิกัดหลายคู่, โปรไฟล์การเดินทาง, เวลาออกเดินทาง
- เครื่องมือแผนที่คงที่: พิกัด, ระดับการซูม, การตั้งค่ารูปแบบ, ข้อมูลเครื่องหมาย
- เครื่องมือ Isochrone: พิกัดต้นทาง, พารามิเตอร์เวลา/ระยะทาง, โปรไฟล์การเดินทาง
ความเป็นส่วนตัวของคุณ
- การทำงานเฉพาะที่: การเรียก API ทั้งหมดทำโดยตรงจากสภาพแวดล้อมของคุณไปยัง Mapbox APIs
- ความปลอดภัยของโทเค็น: โทเค็น Mapbox API ของคุณยังคงอยู่ในเครื่องของคุณและไม่เคยถูกส่งไปยังหรือจัดเก็บโดยเซิร์ฟเวอร์ MCP นี้
- ไม่มีการจัดเก็บข้อมูล: เซิร์ฟเวอร์ MCP นี้ไม่จัดเก็บ บันทึก หรือรวบรวมข้อมูลหรือคำขอ API ของคุณ
- การสื่อสารโดยตรง: ไม่มีเซิร์ฟเวอร์ตัวกลางระหว่างคุณกับ Mapbox APIs
การใช้ข้อมูลโดยบุคคลที่สาม
- นโยบายความเป็นส่วนตัวของ Mapbox ควบคุมข้อมูลที่ส่งไปยัง API ของพวกเขา: https://www.mapbox.com/legal/privacy/
- การใช้งาน API: ข้อกำหนด Mapbox API มาตรฐานใช้กับคำขอทั้งหมดที่ทำผ่านเครื่องมือเหล่านี้
- การเก็บรักษาข้อมูล: อ้างอิงเอกสารของ Mapbox สำหรับนโยบายการเก็บรักษาข้อมูลของพวกเขา
การสนับสนุนและการติดต่อ
สำหรับปัญหาเซิร์ฟเวอร์ MCP
- อีเมล: [email protected]
- GitHub Issues: รายงานข้อบกพร่องและคำขอคุณสมบัติ
สำหรับคำถามเกี่ยวกับ Mapbox API
- การสนับสนุน Mapbox: https://support.mapbox.com/
- เอกสาร: https://docs.mapbox.com/
- สถานะ API: https://status.mapbox.com/
ความมุ่งมั่นในการบำรุงรักษา
เซิร์ฟเวอร์ MCP นี้ได้รับการบำรุงรักษาอย่างเป็นทางการโดย Mapbox, Inc. เราให้บริการ:
- การอัปเดตเป็นประจำสำหรับคุณสมบัติ Mapbox API ใหม่
- การแก้ไขข้อบกพร่องและการอัปเดตความปลอดภัย
- ความเข้ากันได้กับเวอร์ชันโปรโตคอล MCP ล่าสุด
- การสนับสนุนชุมชนผ่าน GitHub issues