Mapbox

ทางการ

ปลดล็อกความสามารถด้านภูมิสารสนเทศผ่าน Mapbox APIs เช่น การระบุพิกัดทางภูมิศาสตร์ การค้นหาจุดสนใจ การนำทาง เส้นเวลาเดินทาง และอื่นๆ

คุณทำอะไรได้บ้างด้วย Mapbox MCP?

  • ระบุพิกัดและค้นหาสถานที่ — แปลงที่อยู่เป็นพิกัด หรือค้นหาจุดสนใจ (POI) เช่น ร้านกาแฟและปั๊มน้ำมันด้วย search_and_geocode_tool
  • ขอเส้นทาง — ค้นหาเส้นทางขับรถ เดิน หรือปั่นจักรยาน พร้อมข้อมูลการจราจร เส้นทางอื่น และข้อยกเว้นผ่าน directions_tool
  • ค้นหาพื้นที่ที่ไปถึงได้ — สร้างรูปหลายเหลี่ยมไอโซโครนที่แสดงพื้นที่ซึ่งไปถึงได้ภายในเวลาหรือระยะทางที่กำหนดโดยใช้ isochrone_tool
  • ระบุตำแหน่งจากพิกัด — ถามได้ว่าพิกัดนั้นอยู่ในย่านใด มีจุดสนใจ (POI) ใกล้เคียงอะไรบ้าง และไปถึงได้อย่างไรในครั้งเดียวด้วย ground_location_tool
  • แสดงแผนที่ในแชต — แสดงเส้นทาง ผลการค้นหา หรือ GeoJSON ที่กำหนดเองเป็นแผนที่แบบโต้ตอบได้ด้วย render_map_tool
  • ค้นหาหมวดหมู่ — อ่านรายการ ID หมวดหมู่เป็นภาษาอังกฤษ ญี่ปุ่น หรือสเปนผ่าน mapbox://categories

เอกสาร

Mapbox MCP Server

npm version

เซิร์ฟเวอร์ Node.js ที่ใช้ Model Context Protocol (MCP) สำหรับ Mapbox APIs

ปลดล็อกความอัจฉริยะด้านภูมิสารสนเทศสำหรับแอปพลิเคชัน AI ของคุณ

Mapbox MCP Server เปลี่ยน AI agent หรือแอปพลิเคชันใด ๆ ให้เป็นระบบที่เข้าใจข้อมูลเชิงพื้นที่ โดยให้เข้าถึงแพลตฟอร์มข้อมูลตำแหน่งที่ครอบคลุมของ Mapbox ได้อย่างราบรื่น เซิร์ฟเวอร์นี้ช่วยให้ AI ของคุณเข้าใจและให้เหตุผลเกี่ยวกับสถานที่ นำทางในโลกจริง และเข้าถึงข้อมูลภูมิสารสนเทศที่หลากหลาย ซึ่งรวมถึง:

  • การระบุพิกัดทั่วโลก เพื่อแปลงที่อยู่และชื่อสถานที่เป็นพิกัด และแปลงกลับได้
  • การค้นหาจุดสนใจ (POI) จากธุรกิจ สถานที่สำคัญ และสถานที่นับล้านแห่งทั่วโลก
  • การนำทางหลายรูปแบบ สำหรับการขับรถ เดิน และปั่นจักรยาน พร้อมข้อมูลการจราจรแบบเรียลไทม์
  • เมทริกซ์เวลาเดินทาง เพื่อวิเคราะห์การเข้าถึงและเพิ่มประสิทธิภาพด้านโลจิสติกส์
  • การเพิ่มประสิทธิภาพเส้นทาง เพื่อค้นหาลำดับการแวะที่เหมาะสมที่สุดสำหรับจุดแวะหลายแห่ง (ปัญหาพนักงานขายเดินทาง)
  • การจับคู่แผนที่ เพื่อปรับเส้นทาง GPS ให้ตรงกับโครงข่ายถนนสำหรับแสดงเส้นทางอย่างชัดเจน
  • การสร้างไอโซโครน เพื่อแสดงพื้นที่ที่ไปถึงได้ภายในข้อจำกัดด้านเวลาหรือระยะทางที่กำหนด
  • การแสดงผลแผนที่แบบสดและโต้ตอบได้ (render_map_tool) เพื่อแสดงเส้นทาง ผลการค้นหา และ GeoJSON ที่กำหนดเองบนแผนที่ Mapbox GL JS จริงภายในแชตโดยตรง
  • ภาพแผนที่แบบคงที่ เพื่อสร้างภาพแสดงตำแหน่ง เส้นทาง และข้อมูลภูมิศาสตร์
  • การคำนวณภูมิสารสนเทศแบบออฟไลน์ สำหรับระยะทาง พื้นที่ ทิศทาง บัฟเฟอร์ และการวิเคราะห์เชิงพื้นที่ โดยไม่ต้องเรียก API

ไม่ว่าคุณจะกำลังสร้างผู้ช่วยวางแผนการเดินทางด้วย AI เครื่องมือเพิ่มประสิทธิภาพโลจิสติกส์ ระบบแนะนำตามตำแหน่ง หรือแอปพลิเคชันใด ๆ ที่ต้องเข้าใจว่า “อยู่ที่ไหน” Mapbox MCP Server ก็มีความอัจฉริยะเชิงพื้นที่ที่ช่วยให้ทำสิ่งเหล่านี้ได้ นอกจากนี้ คุณยังเปิดใช้งานบนไคลเอ็นต์ยอดนิยมอย่าง Claude Desktop และ VS Code ได้ด้วย ดูรายละเอียดด้านล่าง

Mapbox MCP Server Demo

การใช้งาน

ต้องมีโทเค็นการเข้าถึง Mapbox เพื่อใช้ MCP server นี้

MCP Endpoint ที่โฮสต์ไว้

หากต้องการเริ่มใช้งานอย่างรวดเร็ว คุณสามารถใช้ MCP endpoint ที่เราโฮสต์ไว้ได้:

Endpoint: https://mcp.mapbox.com/mcp

ดูคำแนะนำการตั้งค่าโดยละเอียดสำหรับไคลเอ็นต์และการใช้งาน API แบบต่าง ๆ ได้ที่ คู่มือ Hosted MCP Server

วิธีรับโทเค็นการเข้าถึง Mapbox:

  1. สมัครบัญชี Mapbox ฟรีที่ mapbox.com/signup
  2. ไปที่ หน้าบัญชี
  3. สร้างโทเค็นใหม่หรือใช้โทเค็นสาธารณะเริ่มต้น

ดูข้อมูลเพิ่มเติมเกี่ยวกับโทเค็นการเข้าถึง Mapbox ได้ที่ เอกสาร Mapbox เกี่ยวกับโทเค็นการเข้าถึง

คู่มือการผสานการทำงาน

ดูคำแนะนำการตั้งค่าโดยละเอียดสำหรับการผสานการทำงานแต่ละแบบได้จากคู่มือต่อไปนี้:

ตัวอย่างพรอมป์ต์

หลังตั้งค่าแล้ว ลองใช้พรอมป์ต์เหล่านี้กับ Claude Desktop หรือ MCP client อื่น ๆ:

การระบุตำแหน่งจากพิกัด

สำหรับคำถามที่เริ่มจากพิกัด เช่น “มีอะไรอยู่ใกล้ฉัน”, “ที่นี่เป็นย่านอะไร”, “ไปถึงที่ไหนได้บ้างภายใน N นาที” ให้ใช้ ground_location_tool เครื่องมือนี้รวมการระบุพิกัดย้อนกลับ การค้นหาตามหมวดหมู่ และไอโซโครนไว้ในการเรียกครั้งเดียว โดยเลือกกลยุทธ์ที่เหมาะสมตามคำถาม และส่งคืนระเบียนที่มีชนิดข้อมูลชัดเจน (ชื่อ ที่อยู่ พิกัด ระยะทาง รูปหลายเหลี่ยมแสดงพื้นที่ที่ไปถึงได้) พร้อมแหล่งอ้างอิง

พรอมป์ต์ทั้งสี่รายการด้านล่างใช้กลยุทธ์ที่แตกต่างกัน โดยเรียกเครื่องมือเพียงครั้งเดียว:

  • ย่าน — “พิกัด 47.6097, -122.3408 อยู่ในย่านอะไร และมีอะไรอยู่รอบตัวฉันบ้าง”
  • POI — “ร้านกาแฟที่เดินถึงได้ภายใน 10 นาทีจากพิกัด 40.7580, -73.9855”
  • พื้นที่ — “ฉันเดินไปถึงที่ไหนได้บ้างภายใน 15 นาทีจากพิกัด 37.7749, -122.4194”
  • การนำทาง — “จุดที่ใกล้ที่สุดซึ่งรถเข้าถึงได้สำหรับส่งคนลงที่พิกัด 34.0522, -118.2437”

การค้นหาสถานที่

  • “หาร้านกาแฟที่เดินไปได้จากตึก Empire State”
  • “ฉันอยากเดินทางจาก Seattle ไป Portland ระหว่างทางมี Starbucks ไหม”
  • “แสดงปั๊มน้ำมันตามเส้นทางจาก Boston ไป New York”
  • “มีร้านอาหารอะไรอยู่ใกล้ Times Square บ้าง”

การนำทางและการเดินทาง

  • “ขอเส้นทางขับรถจาก LAX ไป Hollywood โดยใช้ข้อมูลการจราจรปัจจุบัน”
  • “เดินจาก Central Park ไป Times Square ใช้เวลานานแค่ไหน”
  • “คำนวณเวลาเดินทางด้วยแท็กซี่จากโรงแรมของฉัน (Four Seasons) ไปสนามบิน JFK ในช่วงชั่วโมงเร่งด่วน”

การแสดงภาพและแผนที่

  • “ใช้เครื่องมือแสดงผลแผนที่ของ Mapbox แสดงเส้นทางจาก Golden Gate Bridge ไป Union Square ใน San Francisco” — แสดงเส้นทางแบบสดและโต้ตอบได้บนแผนที่ Mapbox จริง
  • “สร้างภาพแผนที่แสดงเส้นทางจาก Golden Gate Bridge ไป Fisherman's Wharf พร้อมหมุดที่ทั้งสองตำแหน่ง”
  • “แสดงภาพถ่ายดาวเทียมของ Manhattan พร้อมทำเครื่องหมายสถานที่สำคัญ”
  • “สร้างแผนที่เน้นตำแหน่ง Starbucks ทั้งหมดในระยะหนึ่งไมล์จากใจกลางเมือง Seattle”
  • “แสดงรูปหลายเหลี่ยมแบบเติมสีบนพิกัดเหล่านี้: [...], พร้อมหมุดที่มีป้ายกำกับว่า 'Warehouse' ที่ [...]” — แสดง GeoJSON ของคุณโดยตรงผ่าน render_map_tool โดยไม่ต้องใช้เครื่องมือ Mapbox อื่น

การวิเคราะห์และการวางแผน

  • “แสดงพื้นที่ที่ขับรถไปถึงได้ภายใน 30 นาทีจากใจกลางเมือง Portland”
  • “คำนวณเมทริกซ์เวลาเดินทางระหว่างโรงแรม 3 แห่งนี้ (Marriott, Sheraton และ Hilton) กับศูนย์ประชุมใน Denver”
  • “หาเส้นทางที่เหมาะสมที่สุดสำหรับแวะสถานที่ท่องเที่ยว 3 แห่งนี้ (Golden Gate, Musical Stairs และ Fisherman's Wharf) ใน San Francisco”
  • “เพิ่มประสิทธิภาพเส้นทางจัดส่งสำหรับที่อยู่ 8 แห่งนี้: [รายการที่อยู่]”

GPS และการจับคู่เส้นทาง

  • “ปรับข้อมูล GPS trace นี้ให้เรียบร้อยและแสดงเส้นทางจริงบนถนน: [รายการพิกัดพร้อมเวลา]”
  • “ปรับเส้นทางปั่นจักรยานที่บันทึกไว้นี้ให้ตรงกับโครงข่ายเส้นทางจักรยาน: [พิกัด GPS]”
  • “จับคู่เส้นทางขับรถนี้กับโครงข่ายถนนและแสดงระดับการจราจรติดขัด”

การคำนวณภูมิสารสนเทศแบบออฟไลน์

  • “ระยะทางระหว่างพิกัดสองจุดนี้เป็นไมล์เท่าไร”
  • “คำนวณพื้นที่ของรูปหลายเหลี่ยมนี้เป็นตารางกิโลเมตร”
  • “จุดที่ 37.7749°N, 122.4194°W อยู่ภายในรูปหลายเหลี่ยมพื้นที่ให้บริการนี้หรือไม่”
  • “ทิศทางจาก San Francisco ไป New York คืออะไร”
  • “หาจุดกึ่งกลางระหว่าง London กับ Paris”
  • “สร้างเขตบัฟเฟอร์รัศมี 5 ไมล์รอบตำแหน่งนี้”
  • “คำนวณจุดศูนย์กลางของขอบเขตย่านนี้”
  • “กรอบพิกัดของพิกัดเส้นทางเหล่านี้คืออะไร”
  • “ลดความซับซ้อนของรูปหลายเหลี่ยมนี้เพื่อลดจำนวนจุด”

เคล็ดลับเพื่อให้ได้ผลลัพธ์ที่ดีขึ้น

  • ระบุตำแหน่งให้ชัดเจน (ใช้ที่อยู่เต็มหรือชื่อสถานที่สำคัญ)
  • ระบุวิธีเดินทางที่ต้องการ (ขับรถ เดิน หรือปั่นจักรยาน)
  • ระบุข้อจำกัดด้านเวลาเมื่อเกี่ยวข้อง (“ช่วงชั่วโมงเร่งด่วน”, “เวลา 15:00 น.”)
  • ขอรูปแบบผลลัพธ์ที่ต้องการเมื่อจำเป็น (“เป็นภาพแผนที่”, “ในรูปแบบ JSON”)

ตัวอย่างโดยละเอียด: ดู examples/search-along-route.md เพื่อดูตัวอย่างพรอมป์ต์ค้นหาตามเส้นทางอย่างละเอียดสำหรับกรณีใช้งานต่าง ๆ และคำแนะนำการทดสอบด้วย MCP Inspector

ทรัพยากร

MCP server เปิดเผยข้อมูลอ้างอิงแบบคงที่ในรูปแบบ MCP resources ซึ่งให้สิทธิ์อ่านข้อมูลที่ไคลเอ็นต์สามารถอ้างอิงได้โดยตรง โดยไม่ต้องเรียกใช้เครื่องมือ

ทรัพยากรที่มีให้ใช้งาน

ทรัพยากรหมวดหมู่ Mapbox

รูปแบบ URI: mapbox://categories หรือ mapbox://categories/{language}

เข้าถึงรายการ ID หมวดหมู่ทั้งหมดที่ใช้กับเครื่องมือค้นหาตามหมวดหมู่ได้ หมวดหมู่ใช้กรองผลการค้นหาตามประเภทได้ (เช่น “restaurant”, “hotel”, “gas_station”)

ตัวอย่าง:

  • mapbox://categories - รายการหมวดหมู่เริ่มต้น (ภาษาอังกฤษ)
  • mapbox://categories/ja - ชื่อหมวดหมู่ภาษาญี่ปุ่น
  • mapbox://categories/es - ชื่อหมวดหมู่ภาษาสเปน

การเข้าถึงทรัพยากร:

  • ไคลเอ็นต์ที่รองรับ MCP resource โดยตรง: ใช้เมธอดโปรโตคอล MCP resources/read
  • ไคลเอ็นต์ที่ไม่รองรับ resource: ใช้ resource_reader_tool พร้อม URI ของ resource

ตัวอย่างแผนที่แบบสมบูรณ์ (render_map_tool)

เครื่องมือภูมิสารสนเทศทุกตัวในเซิร์ฟเวอร์นี้ (เส้นทาง ไอโซโครน การค้นหา และอื่น ๆ) สามารถแสดงผลลัพธ์เป็นแผนที่ Mapbox GL JS แบบสดและโต้ตอบได้ผ่าน render_map_tool ซึ่งเป็นองค์ประกอบพื้นฐานสำหรับการแสดงภาพเพียงตัวเดียวของเซิร์ฟเวอร์ โดยแสดงผลผ่านโปรโตคอล MCP Apps (@modelcontextprotocol/ext-apps) เป็นแผง HTML แบบครบในตัวภายในแชต พร้อมปุ่มสลับเป็นเต็มหน้าจอ ในไคลเอ็นต์ที่รองรับ:

  • Claude Desktop ✅
  • VS Code with GitHub Copilot ✅
  • Claude Code ✅
  • Goose ✅

คุณไม่จำเป็นต้องใช้เครื่องมืออื่นของเซิร์ฟเวอร์นี้เพื่อใช้งานฟีเจอร์นี้ render_map_tool ยังรับ GeoJSON ที่จัดเตรียมเองได้โดยตรง ไม่ว่าจะเป็นรูปหลายเหลี่ยม หมุด และเส้นทางของคุณ โดยไม่ต้องพึ่งพา directions_tool, isochrone_tool หรือการเรียก Mapbox API อื่นใด ดู คู่มือ render_map_tool ฉบับเต็ม เพื่อดูสคีมา payload และตัวอย่างการใช้งานแบบแยกเดี่ยวฉบับสมบูรณ์

หากต้องการภาพนิ่งที่รับประกันว่าแสดงผลได้ในไคลเอ็นต์ที่ไม่รองรับ MCP Apps ให้ใช้ static_map_image_tool แทน ซึ่งจะส่งคืน PNG/JPEG ที่เข้ารหัสแบบ base64 และไคลเอ็นต์ทุกตัวสามารถแสดงผลได้

CLIENT_NEEDS_RESOURCE_FALLBACK

เครื่องมือสำรองสำหรับ Resource (เลือกเปิดใช้สำหรับไคลเอ็นต์ที่ไม่รองรับ)

Resource เป็นฟีเจอร์หลักของ MCP ที่ไคลเอ็นต์ส่วนใหญ่รองรับ (Claude Desktop, VS Code, MCP Inspector และอื่น ๆ) อย่างไรก็ตาม ไคลเอ็นต์บางตัว (เช่น smolagents) ไม่รองรับ resource เลย สำหรับไคลเอ็นต์เหล่านี้ เซิร์ฟเวอร์สามารถจัดเตรียม “เครื่องมือสำรองสำหรับ resource” ซึ่งส่งเนื้อหาเดียวกับ resource แต่ผ่านการเรียกใช้เครื่องมือ

เครื่องมือสำรอง:

  • resource_reader_tool - เครื่องมือสำรองทั่วไปสำหรับอ่าน resource ใด ๆ ด้วย URI
  • category_list_tool - ให้เข้าถึงรายการหมวดหมู่ (mapbox://categories)

โดยค่าเริ่มต้น เครื่องมือเหล่านี้จะไม่ถูกรวมไว้ (ถือว่าไคลเอ็นต์ของคุณรองรับ resource) หากไคลเอ็นต์ไม่รองรับ resource ให้เปิดใช้เครื่องมือสำรอง:

export CLIENT_NEEDS_RESOURCE_FALLBACK=true

ควรกำหนดค่านี้เมื่อ:

  • ✅ กำหนดเป็น true หากใช้ smolagents หรือไคลเอ็นต์อื่นที่ไม่รองรับ resource
  • ❌ ไม่ต้องกำหนด (ค่าเริ่มต้น) หากใช้ Claude Desktop, VS Code, MCP Inspector หรือไคลเอ็นต์ที่รองรับ resource
  • ❌ ไม่ต้องกำหนดหากไม่แน่ใจ (ไคลเอ็นต์ส่วนใหญ่รองรับ resource)

เครื่องมือ

เครื่องมืออรรถประโยชน์

เครื่องมืออ่าน Resource

ให้เข้าถึง MCP resources สำหรับไคลเอ็นต์ที่ไม่รองรับ MCP resource API โดยตรง ใช้เครื่องมือนี้อ่าน resource เช่น รายการหมวดหมู่

พารามิเตอร์:

  • uri: URI ของ resource ที่ต้องการอ่าน (เช่น mapbox://categories, mapbox://categories/ja)

ตัวอย่างการใช้งาน:

  • อ่านหมวดหมู่เริ่มต้น: {"uri": "mapbox://categories"}
  • อ่านหมวดหมู่ภาษาญี่ปุ่น: {"uri": "mapbox://categories/ja"}

หมายเหตุ: หาก MCP client ของคุณรองรับ resource โดยตรง ควรใช้ resource API โดยตรงเพื่อประสิทธิภาพที่ดีกว่า

เครื่องมือภูมิสารสนเทศแบบออฟไลน์

เครื่องมือเหล่านี้คำนวณข้อมูลภูมิสารสนเทศแบบออฟไลน์ทั้งหมด โดยไม่ต้องเรียก Mapbox API ใช้ Turf.js เพื่อคำนวณข้อมูลภูมิศาสตร์อย่างแม่นยำ และใช้งานได้ทุกที่ แม้ไม่มีการเชื่อมต่ออินเทอร์เน็ต

เครื่องมือคำนวณระยะทาง

คำนวณระยะทางระหว่างพิกัดภูมิศาสตร์สองจุดโดยใช้สูตร Haversine

คุณสมบัติ:

  • รองรับหน่วยหลายแบบ: กิโลเมตร ไมล์ เมตร ฟุต และไมล์ทะเล
  • คำนวณระยะทางตามวงกลมใหญ่ได้อย่างแม่นยำ
  • ไม่ต้องเรียก API

ตัวอย่างการใช้งาน: “ระยะทางระหว่าง San Francisco (37.7749°N, 122.4194°W) กับ New York (40.7128°N, 74.0060°W) เท่าไร”

เครื่องมือตรวจสอบจุดภายในรูปหลายเหลี่ยม

ตรวจสอบจุดหนึ่งจุดหรือหลายจุดกับรูปหลายเหลี่ยมหรือรูปหลายเหลี่ยมหลายส่วน แล้วส่งคืนเฉพาะจุดที่อยู่ภายใน รองรับทั้งจุดเดียวและชุดจุดในการเรียกครั้งเดียว

คุณสมบัติ:

  • ใช้งานได้กับรูปหลายเหลี่ยมที่ซับซ้อน รวมถึงรูปหลายเหลี่ยมที่มีรู
  • รองรับรูปหลายเหลี่ยมหลายส่วน
  • ทดสอบจุดจำนวนเท่าใดก็ได้เป็นชุดในการเรียกใช้ครั้งเดียว
  • มีประโยชน์สำหรับการกำหนดขอบเขตทางภูมิศาสตร์ การตรวจสอบโซนจัดส่ง และการแบ่งกลุ่มลูกค้า

ตัวอย่างการใช้งาน: "ที่อยู่จัดส่งใดบ้างในรายการนี้อยู่ภายในพื้นที่ให้บริการของเรา?"

เครื่องมือ Destination

คำนวณจุดปลายทางจากจุดเริ่มต้น ทิศทาง และระยะทาง โดยใช้การเลื่อนแบบจีโอเดสิก (วงกลมใหญ่)

คุณสมบัติ:

  • การเลื่อนเป็นเส้นตรง ไม่ใช่เส้นทางที่มีการกำหนดเส้นทาง
  • มีประโยชน์สำหรับคำถามอย่าง "หาจุดที่อยู่ทางเหนือของ X 5km" หรือการสร้างจุดเลื่อนสำหรับการค้นหา
  • ไม่ต้องเรียกใช้ API

ตัวอย่างการใช้งาน: "จุดที่อยู่ทางตะวันออกเฉียงเหนือของ Space Needle 10km คือจุดไหน?"

เครื่องมือ Bearing

คำนวณทิศทางเข็มทิศ (bearing) จากพิกัดหนึ่งไปยังอีกพิกัดหนึ่ง

คุณสมบัติ:

  • ส่งคืน bearing เป็นองศา (0-360°)
  • ระบุทิศทางหลัก (N, NE, E, SE, S, SW, W, NW)
  • มีประโยชน์สำหรับการนำทางและคำถามเกี่ยวกับทิศทาง

ตัวอย่างการใช้งาน: "จากตรงนี้ ฉันควรมุ่งหน้าไปทางไหนเพื่อไปสนามบิน?"

เครื่องมือ Midpoint

หาจุดกึ่งกลางทางภูมิศาสตร์ระหว่างพิกัดสองจุดตามเส้นทางวงกลมใหญ่

คุณสมบัติ:

  • คำนวณจุดกึ่งกลางจริงบนพื้นผิวโค้งของโลก
  • มีประโยชน์สำหรับการแนะนำจุดนัดพบ
  • รองรับการคำนวณระยะทางไกลได้อย่างถูกต้อง

ตัวอย่างการใช้งาน: "จุดกึ่งกลางระหว่าง San Francisco กับ New York อยู่ที่ไหน?"

เครื่องมือ Centroid

คำนวณจุดศูนย์กลางทางเรขาคณิต (centroid) ของรูปหลายเหลี่ยมหรือรูปหลายเหลี่ยมหลายส่วน

คุณสมบัติ:

  • ใช้งานได้กับรูปร่างที่ซับซ้อน
  • ส่งคืนค่าเฉลี่ยเลขคณิตของจุดทั้งหมด
  • มีประโยชน์สำหรับการวางป้ายกำกับหรือเครื่องหมาย

ตัวอย่างการใช้งาน: "ฉันควรวางเครื่องหมายไว้ตรงไหนสำหรับขอบเขตย่านนี้?"

เครื่องมือ Area

คำนวณพื้นที่ของรูปหลายเหลี่ยม

คุณสมบัติ:

  • รองรับหน่วยหลายแบบ: ตารางเมตร ตารางกิโลเมตร เอเคอร์ เฮกตาร์ ตารางไมล์ ตารางฟุต
  • คำนวณพื้นที่บนพื้นผิวโลกได้อย่างแม่นยำ
  • ใช้งานได้กับรูปหลายเหลี่ยมทุกขนาด

ตัวอย่างการใช้งาน: "สวนสาธารณะแห่งนี้มีพื้นที่กี่เอเคอร์?"

เครื่องมือ Bounding Box

คำนวณกรอบสี่เหลี่ยมครอบขั้นต่ำ (bbox) ที่ครอบคลุมเรขาคณิต

คุณสมบัติ:

  • ใช้งานได้กับจุด เส้น รูปหลายเหลี่ยม และรูปหลายเหลี่ยมหลายส่วน
  • ส่งคืนค่า [minLongitude, minLatitude, maxLongitude, maxLatitude]
  • มีประโยชน์สำหรับการคำนวณวิวพอร์ตและการทำดัชนีเชิงพื้นที่

ตัวอย่างการใช้งาน: "กรอบสี่เหลี่ยมครอบของเส้นทางนี้คืออะไร?"

เครื่องมือ Buffer

สร้างเขตกันชน (รูปหลายเหลี่ยม) รอบจุด เส้น หรือรูปหลายเหลี่ยม

คุณสมบัติ:

  • รองรับหน่วยระยะทางหลายแบบ
  • สร้างเขตกันชนวงกลมรอบจุด
  • มีประโยชน์สำหรับการวิเคราะห์ความใกล้เคียงและการสร้างเขตอิทธิพล

ตัวอย่างการใช้งาน: "แสดงเขตกันชนระยะ 5km รอบตำแหน่งนี้"

เครื่องมือ Simplify

ลดจำนวนจุดยอดในเส้นหรือรูปหลายเหลี่ยมโดยใช้อัลกอริทึม Douglas-Peucker

คุณสมบัติ:

  • กำหนดค่าความคลาดเคลื่อนเพื่อควบคุมระดับรายละเอียดได้
  • รักษารูปร่างโดยรวมไว้พร้อมลดความซับซ้อน
  • มีประโยชน์สำหรับลดขนาดไฟล์และเพิ่มประสิทธิภาพการแสดงผล
  • มีตัวเลือกให้รักษาโทโพโลยี (ป้องกันการตัดกันของตัวเอง)

ตัวอย่างการใช้งาน: "ทำให้ขอบเขตที่ซับซ้อนนี้เรียบง่ายขึ้นเพื่อลดจำนวนจุด"

เครื่องมือ Length

วัดความยาวรวมของเส้นที่กำหนดด้วยชุดพิกัด

คุณสมบัติ:

  • รองรับกิโลเมตร ไมล์ เมตร และฟุต
  • มีประโยชน์สำหรับวัดเส้นทางเดินป่า เส้นทาง หรือขอบเขตที่วาดไว้โดยไม่ต้องเรียกใช้ API กำหนดเส้นทาง

ตัวอย่างการใช้งาน: "เส้นทางเดินป่านี้ยาวเท่าไร?"

เครื่องมือ Convex

คำนวณ convex hull ของชุดจุด — รูปหลายเหลี่ยมนูนที่เล็กที่สุดซึ่งครอบคลุมจุดทั้งหมด

คุณสมบัติ:

  • มีประโยชน์สำหรับการวิเคราะห์พื้นที่ครอบคลุมหรือการประมาณพื้นที่ให้บริการ
  • ทำงานแบบออฟไลน์โดยไม่ต้องเรียกใช้ API

ตัวอย่างการใช้งาน: "รูปหลายเหลี่ยมที่เล็กที่สุดซึ่งครอบคลุมตำแหน่งร้านค้าทั้งหมดนี้คืออะไร?"

เครื่องมือ Nearest Point

หาจุดที่ใกล้ที่สุดในชุดจุดเมื่อเทียบกับจุดเป้าหมายที่กำหนด

คุณสมบัติ:

  • มีประสิทธิภาพมากกว่าการเรียกใช้ distance_tool สำหรับผู้สมัครแต่ละรายแล้วจัดเรียงผลลัพธ์
  • มีประโยชน์สำหรับหาร้านค้า ป้ายหยุด หรือจุดสังเกตที่ใกล้ตำแหน่งหนึ่งที่สุด

ตัวอย่างการใช้งาน: "ร้านค้าใดในรายการนี้อยู่ใกล้ตำแหน่งปัจจุบันของฉันที่สุด?"

เครื่องมือ Nearest Point on Line

ปรับจุดให้ตรงกับตำแหน่งที่ใกล้ที่สุดบนเส้นหรือเส้นทาง พร้อมส่งคืนจุดนั้นและระยะห่างถึงจุดดังกล่าว

คุณสมบัติ:

  • มีประโยชน์สำหรับคำถามอย่าง "จุดใดบนเส้นทางนี้อยู่ใกล้ตำแหน่งของฉันที่สุด?" หรือการจับคู่กับแผนที่โดยไม่ต้องเรียกใช้ API

ตัวอย่างการใช้งาน: "ตอนนี้ฉันอยู่ใกล้จุดไหนบนเส้นทางเดินป่านี้ที่สุด?"

เครื่องมือ Union, Intersect และ Difference

รวมรูปหลายเหลี่ยมตั้งแต่สองรูปขึ้นไปหรือเปรียบเทียบกัน — union_tool รวมรูปเหล่านั้นเป็นเรขาคณิตเดียว intersect_tool หาพื้นที่ที่มีร่วมกัน และ difference_tool ลบรูปหนึ่งออกจากอีกรูปหนึ่ง

คุณสมบัติ:

  • มีประโยชน์สำหรับรวมพื้นที่ให้บริการ หาพื้นที่ครอบคลุมที่ทับซ้อนกัน หรือคำนวณเขตยกเว้น (เช่น "พื้นที่ใดอยู่ในโซน A แต่ไม่อยู่ในโซน B?")
  • ทำงานแบบออฟไลน์ทั้งหมด — ไม่ต้องเรียกใช้ API
  • แต่ละเครื่องมือส่งคืนการอ้างอิง render_map_tool เพื่อให้แสดงผลลัพธ์เป็นภาพได้โดยตรง

ตัวอย่างการใช้งาน: "รวมโซนจัดส่งสองโซนนี้เป็นพื้นที่ครอบคลุมเดียว" / "ไอโซโครนสองชุดนี้ทับซ้อนกันตรงไหน?" / "ส่วนใดของพื้นที่ให้บริการนี้ไม่อยู่ในไอโซโครน 15 นาทีของเรา?"

เครื่องมือ Mapbox API

เครื่องมือ Category List (เลิกใช้แล้ว)

⚠️ เลิกใช้แล้ว: ใช้ resource_reader_tool กับ URI mapbox://categories แทน หรือเข้าถึงทรัพยากร mapbox://categories โดยตรง หากไคลเอ็นต์ของคุณรองรับทรัพยากร MCP

เครื่องมือนี้ยังคงรองรับเพื่อให้เข้ากันได้กับไคลเอ็นต์รุ่นเก่าที่ไม่รองรับทรัพยากร MCP หรือ resource_reader_tool

เครื่องมือ Matrix

คำนวณเวลาและระยะทางในการเดินทางระหว่างหลายจุดโดยใช้ Mapbox Matrix API คุณสมบัติมีดังนี้:

  • คำนวณเส้นทางแบบหนึ่งต่อหลาย หลายต่อหนึ่ง หรือหลายต่อหลายได้อย่างมีประสิทธิภาพ
  • รองรับโปรไฟล์การเดินทางที่แตกต่างกัน (driving-traffic, driving, walking, cycling)
  • ระบุเวลาออกเดินทางสำหรับการคำนวณที่คำนึงถึงสภาพการจราจร
  • สรุปเส้นทางพร้อมตัวชี้วัดระยะทางและระยะเวลา
  • ควบคุมแนวทางเข้าถึง (curb/unrestricted) และช่วงของ bearing ขาออกที่อนุญาต

เครื่องมือ Static image

สร้างภาพแผนที่แบบคงที่โดยใช้ Mapbox static image API คุณสมบัติมีดังนี้:

  • รูปแบบแผนที่ที่กำหนดเองได้ (streets, outdoors, satellite ฯลฯ)
  • ปรับขนาดภาพและระดับการซูมได้
  • รองรับเครื่องหมายหลายรายการพร้อมสีและป้ายกำกับที่กำหนดเอง
  • ตัวเลือกการซ้อนทับ รวมถึงเส้นหลายเส้นและรูปหลายเหลี่ยม
  • ปรับขอบเขตให้พอดีกับพิกัดที่ระบุโดยอัตโนมัติ

เครื่องมือ Category search

ค้นหาตามหมวดหมู่โดยใช้ Mapbox Search Box category search API คุณสมบัติมีดังนี้:

  • ค้นหาจุดสนใจตามหมวดหมู่ (ร้านอาหาร โรงแรม ปั๊มน้ำมัน ฯลฯ)
  • กรองตามความใกล้เคียงทางภูมิศาสตร์
  • กำหนดจำนวนผลลัพธ์สูงสุดได้
  • ข้อมูลเมตาที่ครบถ้วนสำหรับแต่ละผลลัพธ์
  • รองรับหลายภาษา

เครื่องมือ Reverse geocoding

ทำ reverse geocoding โดยใช้ Mapbox geocoding V6 API คุณสมบัติมีดังนี้:

  • แปลงพิกัดทางภูมิศาสตร์เป็นที่อยู่ที่อ่านเข้าใจได้
  • กำหนดระดับรายละเอียดได้ (ถนน ย่าน เมือง ฯลฯ)
  • กรองผลลัพธ์ตามประเภท (ที่อยู่ จุดสนใจ ย่าน ฯลฯ)
  • รองรับหลายภาษา
  • ข้อมูลบริบทของตำแหน่งที่ครบถ้วน

เครื่องมือ Ground location

ตอบคำถามประเภท "มีอะไรอยู่ใกล้พิกัดนี้บ้าง" ได้ในการเรียกใช้ครั้งเดียว — ทั้งชื่อสถานที่ จุดสนใจใกล้เคียง และการเข้าถึงตามเวลาเดินทาง โดยอ้างอิงข้อมูล Mapbox แบบเรียลไทม์พร้อมแหล่งอ้างอิง ใช้เครื่องมือนี้แทนการเรียก reverse_geocode_tool ต่อด้วยการค้นหาเว็บ

คุณสมบัติ:

  • จัดประเภทคำถาม (การกำหนดเส้นทาง บริบทของย่าน การค้นหาจุดสนใจ หรือภูมิภาค/การเข้าถึง) และดึงเฉพาะข้อมูลที่เกี่ยวข้อง
  • ค้นหาจุดสนใจใกล้เคียงตามหมวดหมู่เมื่อมีการร้องขอ
  • สรุปการเข้าถึงตามเวลาเดินทาง (อิงตามไอโซโครน)
  • ส่งคืนการอ้างอิง render_map_tool พร้อมตำแหน่งที่ยืนยันจากข้อมูลจริงและจุดสนใจใกล้เคียงที่แสดงบนแผนที่

ตัวอย่างการใช้งาน: "พิกัดนี้อยู่ในย่านไหน และมีร้านกาแฟอยู่ใกล้ ๆ บ้างไหม?"

เครื่องมือ Place details

ดึงข้อมูลโดยละเอียดเกี่ยวกับสถานที่เฉพาะโดยใช้ Mapbox ID ของสถานที่นั้น — รูปภาพ เวลาเปิดทำการ คะแนน หมายเลขโทรศัพท์ และ URL เว็บไซต์ ใช้หลังจาก search_and_geocode_tool, category_search_tool หรือ reverse_geocode_tool เพื่อดูรายละเอียดเพิ่มเติมของผลลัพธ์ที่ต้องการ

ตัวอย่างการใช้งาน: "ขอข้อมูลเพิ่มเติมเกี่ยวกับผลลัพธ์ร้านกาแฟรายการแรกหน่อย — เวลาเปิดทำการ หมายเลขโทรศัพท์ และเว็บไซต์"

เครื่องมือ Directions

ดึงเส้นทางการเดินทางโดยใช้ Mapbox Directions API คุณสมบัติมีดังนี้:

  • รองรับโปรไฟล์การกำหนดเส้นทางที่แตกต่างกัน: ขับรถ (พร้อมข้อมูลจราจรสดหรือข้อมูลทั่วไป) เดิน และปั่นจักรยาน
  • กำหนดเส้นทางผ่านจุดแวะหลายจุด (คู่พิกัด 2-25 คู่)
  • มีตัวเลือกเส้นทางอื่น
  • คำอธิบายประกอบเส้นทาง (ระยะทาง ระยะเวลา ความเร็ว สภาพการจราจรติดขัด)
  • ตัวเลือกการกำหนดเวลา:
    • เวลาออกเดินทางในอนาคต (depart_at) สำหรับโปรไฟล์ driving และ driving-traffic
    • เวลาที่ต้องการไปถึง (arrive_by) สำหรับโปรไฟล์ driving เท่านั้น
  • การปรับให้เหมาะสมเฉพาะโปรไฟล์:
    • การขับรถ: ข้อจำกัดด้านขนาดรถ (ความสูง ความกว้าง น้ำหนัก)
  • ตัวเลือกการยกเว้นสำหรับการกำหนดเส้นทาง:
    • การยกเว้นทั่วไป: เส้นทางเรือข้ามฟาก ด่านเก็บค่าผ่านทางที่รับเฉพาะเงินสด
    • การยกเว้นเฉพาะการขับรถ: ด่านเก็บค่าผ่านทาง ทางหลวง ถนนที่ไม่ลาดยาง อุโมงค์ พรมแดนประเทศ พรมแดนรัฐ
    • ยกเว้นจุดที่กำหนดเอง (ระบุจุดทางภูมิศาสตร์ที่ต้องการหลีกเลี่ยงได้สูงสุด 50 จุด)
  • รูปแบบผลลัพธ์เรขาคณิต GeoJSON

เครื่องมือ Isochrone

คำนวณพื้นที่ที่เดินทางไปถึงได้ภายในเวลาที่กำหนดจากตำแหน่งหนึ่ง โดยใช้ Mapbox Isochrone API คุณสมบัติมีดังนี้:

  • รองรับโปรไฟล์การเดินทางที่แตกต่างกัน (ขับรถ เดิน ปั่นจักรยาน)
  • กำหนดเวลาเดินทางหรือระยะทางได้
  • สร้างเส้นขอบหลายระดับได้ (เช่น ช่วง 15, 30, 45 นาที)
  • ระบุเวลาออกเดินทางหรือเวลาถึงได้ตามต้องการ
  • ปรับแต่งสีสำหรับการแสดงผลได้

เครื่องมือ Search and geocode

ใช้ปลายทาง Mapbox Search Box Text Search API เพื่อค้นหาและทำ geocoding ให้กับจุดสนใจ ที่อยู่ สถานที่ และประเภทอื่น ๆ ที่ API ดังกล่าวรองรับ เครื่องมือนี้รวมความสามารถที่ก่อนหน้านี้ให้บริการโดย ForwardGeocodeTool และ PoiSearchTool (จาก MCP server รุ่นก่อนหน้า) ไว้ในเครื่องมือเดียว

เครื่องมือ Map matching

ปรับแนวเส้นทาง GPS ให้ตรงกับโครงข่ายถนนโดยใช้ Mapbox Map Matching API คุณสมบัติมีดังนี้:

  • แปลงเส้นทาง GPS ที่มีสัญญาณรบกวนให้เป็นเส้นทางที่สะอาดบนโครงข่ายถนน
  • รองรับโปรไฟล์การเดินทางที่แตกต่างกัน (driving, driving-traffic, walking, cycling)
  • รองรับคู่พิกัดได้สูงสุด 100 คู่ต่อคำขอ
  • ระบุเวลาได้ตามต้องการเพื่อเพิ่มความแม่นยำโดยอิงจากความเร็ว
  • กำหนดรัศมีการปรับแนวให้เหมาะกับระดับคุณภาพ GPS ที่แตกต่างกันได้
  • คำอธิบายประกอบเส้นทาง (จำกัดความเร็ว ระยะทาง ระยะเวลา สภาพการจราจรติดขัด)
  • รูปแบบผลลัพธ์เรขาคณิตหลายแบบ (GeoJSON, polyline)

ตัวอย่างการใช้งาน: "ปรับปรุงเส้นทาง GPS นี้และปรับแนวให้ตรงกับถนน: [พิกัดพร้อมเวลา]"

เครื่องมือ Optimization

ค้นหาเส้นทางที่เหมาะสมที่สุดผ่านหลายตำแหน่งโดยใช้ Mapbox Optimization API คุณสมบัติมีดังนี้:

  • แก้ปัญหา traveling salesman (TSP) สำหรับตำแหน่ง 2-12 แห่ง
  • รองรับโปรไฟล์การเดินทางที่แตกต่างกัน (driving, driving-traffic, walking, cycling)
  • กำหนดจุดเริ่มต้นและจุดสิ้นสุดได้อย่างยืดหยุ่น
  • ปรับเส้นทางแบบไปกลับหรือเที่ยวเดียวให้เหมาะสม
  • คำแนะนำการนำทางแบบเลี้ยวต่อเลี้ยว (ไม่บังคับ)
  • คำอธิบายประกอบเส้นทาง (ระยะทาง ระยะเวลา ความเร็ว)
  • รูปแบบผลลัพธ์เรขาคณิตหลายแบบ (GeoJSON, polyline)

ตัวอย่างการใช้งาน: "หาเส้นทางที่เหมาะสมที่สุดเพื่อแวะจุดเหล่านี้ 5 จุด: [รายการที่อยู่หรือพิกัด]"

หมายเหตุ: มี API V2 ที่มีคุณสมบัติขั้นสูง (ช่วงเวลา ความจุที่จำกัด ยานพาหนะหลายคัน) ให้ใช้งาน แต่ต้องได้รับสิทธิ์เข้าถึงรุ่นเบต้า การติดตั้งใช้งาน V2 รวมอยู่ใน codebase แต่ไม่ได้ลงทะเบียนไว้เป็นค่าเริ่มต้น

เครื่องมือ Feedback

ส่งความคิดเห็นของผู้ใช้เกี่ยวกับแอปหรือเอเจนต์ไปยังผู้พัฒนา ผ่าน Mapbox Feedback API (Public Preview) ความคิดเห็นจะถูกบันทึกไว้ภายใต้บัญชีที่เป็นเจ้าของ access token ดังนั้นเมื่อคุณสร้างแอปหรือเอเจนต์บนเซิร์ฟเวอร์นี้โดยใช้ token ของคุณเอง ความคิดเห็นจากผู้ใช้จะปรากฏในฟีดเดียวกับรายงานจาก Feedback Agent ของแอปคุณ และคุณสามารถตรวจสอบได้ใน Feedback Explorer เครื่องมือนี้ไม่ได้รายงานปัญหาไปยัง Mapbox เช่นเดียวกับ Feedback Agent เครื่องมือนี้ใช้สำหรับความคิดเห็นเกี่ยวกับผลิตภัณฑ์ของคุณที่ช่วยให้เข้าใจความต้องการของผู้ใช้ เช่น:

  • สถานที่ที่ปิดไปแล้ว มีรายละเอียดไม่ถูกต้อง หรือปักหมุดผิดตำแหน่ง
  • สถานที่หรือที่อยู่ที่ค้นหาไม่พบ
  • ถนนที่ปิดแล้ว การจำกัดความเร็วที่ไม่ถูกต้อง หรือข้อมูลการจราจรที่แสดงผิด
  • เส้นทางที่มีการเลี้ยวหรือทางเข้าที่ผิดกฎหมาย หรือไม่มีเส้นทางเลย
  • เรื่องเกี่ยวกับตัวแอป เช่น บั๊กหรือข้อเสนอแนะ (application_issue)

เครื่องมือนี้จะส่งข้อความข้อเสนอแนะ หมวดหมู่ และตำแหน่ง แล้วส่งคืน ID และสถานะของรายการ ตำแหน่งเป็นข้อมูลที่ไม่บังคับสำหรับข้อเสนอแนะที่ไม่เกี่ยวกับสถานที่ แต่ API กำหนดให้ต้องระบุตำแหน่ง เครื่องมือจึงส่งค่า 0, 0 ตามคำแนะนำของทีม Feedback API ในขณะนี้ จะไม่มีการส่งข้อมูลใด ๆ หากผู้ใช้ยังไม่อนุญาต: ไคลเอ็นต์ที่รองรับ elicitation จะแสดงข้อความขอยืนยันก่อน ส่วนกรณีอื่น ๆ คำอธิบายเครื่องมือจะขอให้โมเดลยืนยันในแชต

Feedback API ใช้งานได้ฟรีในช่วง Public Preview เมื่อเปิดให้ใช้งานทั่วไป Feedback Agent จะคิดค่าบริการ $0.02 ต่อรายการข้อเสนอแนะ เพื่อหลีกเลี่ยงการส่งรายงานปัญหาเดียวกันซ้ำ เครื่องมือจะตรวจสอบรายงานของบัญชีในช่วง 30 วันที่ผ่านมา ก่อนส่ง หากมีรายงานในหมวดหมู่เดียวกันภายในระยะ 50 m ที่ยังรอการตรวจสอบ (จะไม่ตรวจสอบข้อเสนอแนะที่ไม่มีตำแหน่ง) เครื่องมือจะส่งคืนรายงานนั้นแทนการส่งรายการใหม่ Feedback API แสดงเฉพาะรายงานของบัญชีนี้ จึงตรวจจับรายงานจากบัญชีอื่นไม่ได้ send_anyway: true จะข้ามการตรวจสอบเมื่อผู้ใช้แจ้งว่าปัญหาของตนเป็นคนละเรื่อง

ข้อกำหนด: โทเค็นการเข้าถึงต้องมี scope user-feedback:write เพื่อส่ง และมี scope user-feedback:read เพื่อตรวจสอบรายการซ้ำ หากไม่มี write scope เครื่องมือจะแสดงข้อผิดพลาดแจ้งให้ทราบ หากไม่มี read scope เครื่องมือจะส่งโดยไม่ตรวจสอบ และแจ้งเรื่องนี้ในผลลัพธ์ หากต้องการไม่รวมเครื่องมือนี้ ให้เริ่มเซิร์ฟเวอร์ด้วย --disable-tools feedback_tool

ตัวอย่างการใช้งาน: "ร้าน Blue Bottle บน Mint St ปิดไปเมื่อปีที่แล้ว ช่วยส่งเป็นข้อเสนอแนะได้ไหม?"

เครื่องมือ Report

ส่งข้อเสนอแนะเกี่ยวกับ Mapbox MCP server เองไปยังทีม Mapbox ที่พัฒนาเซิร์ฟเวอร์นี้ เช่น บั๊ก เครื่องมือที่ให้ผลลัพธ์ผิดหรือชวนสับสน ความสามารถที่ขาดหายไป หรือข้อเสนอแนะ รายงานจะถูกส่งภายใต้บัญชีของ Mapbox เอง ไม่ใช่บัญชีของคุณ จึงไม่ต้องใช้ token scope เพิ่มเติม และไม่สามารถอ่านกลับหรือถอนรายงานได้ในภายหลัง เครื่องมือนี้ไม่ได้มีไว้สำหรับรายงานข้อมูลแผนที่ สถานที่ หรือเส้นทางที่ไม่ถูกต้อง

เซิร์ฟเวอร์จะเพิ่มเวอร์ชันของตนเอง ชื่อและเวอร์ชันของไคลเอ็นต์ และชื่อเครื่องมือที่เกี่ยวข้องไว้ท้ายข้อความ จะไม่มีการส่งข้อมูลใด ๆ หากผู้ใช้ยังไม่อนุญาต: ไคลเอ็นต์ที่รองรับ elicitation จะแสดงข้อความขอยืนยันก่อน ส่วนกรณีอื่น ๆ คำอธิบายเครื่องมือจะขอให้โมเดลยืนยันในแชต

เครื่องมือนี้ใช้ endpoint ที่ทีม Feedback API เพิ่มให้กับคำสั่ง mapbox report ของ Mapbox CLI หากต้องการไม่รวมเครื่องมือนี้ ให้เริ่มเซิร์ฟเวอร์ด้วย --disable-tools report_tool

ตัวอย่างการใช้งาน: "แผนที่ไม่แสดง isochrone ของฉันเลย ช่วยแจ้งทีม Mapbox MCP ให้ทราบได้ไหม?"

เครื่องมือ List public tokens

แสดงรายการโทเค็นการเข้าถึงแบบ public (pk.) ของบัญชี สำหรับเอเจนต์ที่สร้างหน้าเว็บหรือแอปนอกแชต ซึ่งโหลด Mapbox GL JS หรือเรียกใช้ Mapbox APIs จากเบราว์เซอร์ ในแชต render_map_tool ไม่ต้องใช้ token โทเค็นแต่ละรายการจะแสดงชื่อ ระบุว่าเป็นค่าเริ่มต้นหรือไม่ ข้อจำกัด URL และ scopes

ส่ง site_url (ตำแหน่งที่จะเรียกใช้หน้าเว็บ) แล้วเครื่องมือจะแนะนำโทเค็นที่จำกัดให้ใช้ได้กับ URL นั้น หากบัญชีมีโทเค็นดังกล่าว มิฉะนั้นจะแนะนำโทเค็น public เริ่มต้น พร้อมแจ้งว่าเว็บไซต์ที่เผยแพร่แล้วควรใช้โทเค็นที่จำกัด URL แทน และให้ลิงก์สำหรับสร้างโทเค็น ผู้ที่คัดลอกโทเค็น public ที่ไม่มีข้อจำกัดไปสามารถนำไปใช้ได้ และค่าใช้จ่ายจากการใช้งานจะเรียกเก็บจากบัญชี

เครื่องมือนี้จะไม่ส่งคืนโทเค็นลับหรือโทเค็นชั่วคราว และไม่สามารถสร้างโทเค็นได้ (ต้องใช้ tokens:write; คำสั่ง create_token_tool ของ DevKit server ใช้สร้างโทเค็นได้)

ข้อกำหนด: การแสดงรายการต้องใช้ scope tokens:read ซึ่งเป็น scope เดียวกับที่แผนที่ในแชตใช้ค้นหาโทเค็น public เริ่มต้น หากใช้โทเค็นการเข้าถึง pk. หรือการแสดงรายการล้มเหลวบน MAPBOX_ACCESS_TOKEN ของเซิร์ฟเวอร์เองและมีการตั้งค่า MAPBOX_PUBLIC_TOKEN เครื่องมือจะส่งคืนโทเค็นนั้นแทน ผู้เรียกที่ใช้ bearer token ของตนเอง (เซิร์ฟเวอร์ที่โฮสต์) จะไม่ได้รับ MAPBOX_PUBLIC_TOKEN และจะไม่มีการแนะนำโทเค็นที่จำกัดให้ใช้กับ URL อื่น หากต้องการไม่รวมเครื่องมือนี้ ให้เริ่มเซิร์ฟเวอร์ด้วย --disable-tools list_public_tokens_tool

ตัวอย่างการใช้งาน: "ช่วยสร้างเว็บไซต์หน้าเดียวที่แสดงตำแหน่งร้านค้าสามแห่งของเราบนแผนที่ Mapbox"

การพัฒนา

ตรวจสอบเซิร์ฟเวอร์

ใช้ 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

สำคัญ: เวิร์กโฟลว์ publisher จะตรวจสอบว่าเวอร์ชันของ package.json และ server.json ตรงกับเวอร์ชันที่เผยแพร่ การข้ามการอัปเดตเวอร์ชันหรือการซิงก์ manifest จะทำให้การเผยแพร่ล้มเหลว

การติดตาม OpenTelemetry

MCP server นี้มีการติดตาม OpenTelemetry อย่างครอบคลุม เพื่อให้สังเกตการณ์ระบบในสภาพแวดล้อม production ได้:

สาธิตอย่างรวดเร็ว

# 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 ทุกประเภท

การกำหนดค่าสำหรับ production

ดู docs/tracing.md สำหรับคำแนะนำการตั้งค่าโดยละเอียด ซึ่งรวมถึง:

  • 🔧 คู่มือการกำหนดค่าเฉพาะแพลตฟอร์ม
  • 📊 การตั้งค่าการยืนยันตัวตนและ endpoint
  • 🎯 แอตทริบิวต์ trace และ context ที่กำหนดเอง
  • 🚀 การเพิ่มประสิทธิภาพ (มี overhead น้อยที่สุด)
  • 🔍 การแก้ไขปัญหาและการดีบัก

ฟีเจอร์การติดตาม:

  • ✅ การติดตามการโหลดการกำหนดค่า (การโหลดไฟล์ .env)
  • ✅ การติดตามการทำงานของเครื่องมือโดยอัตโนมัติ
  • ✅ การวัดผลคำขอ HTTP พร้อม correlation ID ของ CloudFront
  • ✅ exporter ที่กำหนดค่าได้ (console, OTLP)
  • ✅ คำนึงถึงความปลอดภัย (การปกป้องข้อมูล การตรวจสอบ JWT)
  • ✅ พร้อมใช้งานใน production (ใช้ 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 อย่างมีความรับผิดชอบ

เริ่มต้นอย่างรวดเร็วสำหรับผู้มีส่วนร่วม

  1. Fork repository แล้ว clone fork ของคุณ
  2. ติดตั้ง dependencies: npm install
  3. แก้ไขโค้ดตามมาตรฐานการเขียนโค้ดของเรา
  4. รันทดสอบและ lint: npm test && npm run lint
  5. เพิ่มการทดสอบสำหรับฟังก์ชันการทำงานใหม่
  6. ส่ง pull request พร้อมคำอธิบายที่ชัดเจน

การมีส่วนร่วมทั้งหมดต้องผ่านการตรวจสอบ CI และกระบวนการรีวิวโค้ดของเรา ดู docs/engineering_standards.md สำหรับข้อกำหนดโดยละเอียด

การใช้ข้อมูลและความเป็นส่วนตัว

ข้อมูลที่ส่งไปยัง Mapbox APIs

เมื่อใช้เครื่องมือของ MCP server ข้อมูลต่อไปนี้จะถูกส่งจากสภาพแวดล้อมของคุณไปยัง Mapbox APIs โดยตรง:

  • เครื่องมือ Geocoding: ข้อความที่อยู่/ตำแหน่ง พิกัด ตัวกรองประเทศ/ภูมิภาค
  • เครื่องมือ Search: คำค้นหา พิกัดตำแหน่งสำหรับการค้นหาใกล้เคียง ตัวกรองหมวดหมู่
  • เครื่องมือ Directions: พิกัดต้นทาง/ปลายทาง จุดแวะพัก การตั้งค่าการกำหนดเส้นทาง ข้อจำกัดของยานพาหนะ
  • เครื่องมือ Matrix: คู่พิกัดหลายคู่ โปรไฟล์การเดินทาง เวลาออกเดินทาง
  • เครื่องมือ Static map: พิกัด ระดับการซูม การตั้งค่ารูปแบบ ข้อมูลหมุด
  • เครื่องมือ Isochrone: พิกัดจุดเริ่มต้น พารามิเตอร์เวลา/ระยะทาง โปรไฟล์การเดินทาง

ความเป็นส่วนตัวของคุณ

  • การทำงานในเครื่อง: การเรียก API ทั้งหมดส่งจากสภาพแวดล้อมของคุณไปยัง Mapbox APIs โดยตรง
  • ความปลอดภัยของโทเค็น: Mapbox API token ของคุณจะอยู่ในเครื่องของคุณ และ MCP server นี้จะไม่ส่งหรือจัดเก็บโทเค็นดังกล่าว
  • ไม่มีการจัดเก็บข้อมูล: MCP server นี้ไม่จัดเก็บ บันทึก หรือเก็บรวบรวมข้อมูลหรือคำขอ API ของคุณ
  • การสื่อสารโดยตรง: ไม่มีเซิร์ฟเวอร์ตัวกลางระหว่างคุณกับ Mapbox APIs

การใช้ข้อมูลของบุคคลที่สาม

  • นโยบายความเป็นส่วนตัวของ Mapbox กำกับดูแลข้อมูลที่ส่งไปยัง APIs ของ Mapbox: https://www.mapbox.com/legal/privacy/
  • การใช้ API: ข้อกำหนดมาตรฐานของ Mapbox API มีผลกับคำขอทั้งหมดที่ส่งผ่านเครื่องมือเหล่านี้
  • การเก็บรักษาข้อมูล: ดูเอกสารของ Mapbox เกี่ยวกับนโยบายการเก็บรักษาข้อมูล

การสนับสนุนและติดต่อ

ปัญหาเกี่ยวกับ MCP Server

คำถามเกี่ยวกับ Mapbox API

ความมุ่งมั่นในการดูแลรักษา

MCP server นี้ได้รับการดูแลอย่างเป็นทางการโดย Mapbox, Inc. เราจัดให้มี:

  • การอัปเดตเป็นประจำเพื่อรองรับฟีเจอร์ใหม่ของ Mapbox API
  • การแก้ไขบั๊กและอัปเดตความปลอดภัย
  • ความเข้ากันได้กับ MCP protocol เวอร์ชันล่าสุด
  • การสนับสนุนชุมชนผ่าน GitHub issues

MIT License