Umami MCP

ทางการ

เชื่อมต่อผู้ช่วย AI ของคุณกับ Umami และสอบถามข้อมูลเกี่ยวกับการวิเคราะห์เว็บไซต์ของคุณด้วยภาษาธรรมดา

GitHub
38.8k
ลองใช้ MCP นี้ผู้สนับสนุน

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

  • รายการไซต์ที่เข้าถึงได้ — ขอดูเว็บไซต์ทั้งหมดที่คุณเข้าถึงได้ เรียกใช้ list_websites ก่อนเพื่อรับ websiteId สำหรับคำสั่งอื่นๆ
  • รับสรุปการเข้าชม — ขอจำนวนเพจวิว ผู้เยี่ยมชม อัตราตีกลับ หรือระยะเวลาที่ใช้ผ่าน get_website_stats รวมถึงการเปรียบเทียบกับช่วงเวลาก่อนหน้า
  • วิเคราะห์แหล่งที่มาของการเข้าชม — ถามว่าหน้าเว็บ แหล่งอ้างอิง ประเทศ หรืออุปกรณ์ใดที่สร้างการเข้าชม โดยใช้ get_website_metrics
  • ติดตามเหตุการณ์ที่กำหนดเอง — สอบถามเกี่ยวกับยอดรวมเหตุการณ์ ชุดข้อมูล หรือค่าคุณสมบัติด้วย get_event_stats, get_event_series หรือ get_event_properties
  • ตรวจสอบเซสชัน — ขอรายการเซสชันแบบแบ่งหน้าผ่าน get_sessions หรือไทม์ไลน์กิจกรรมของเซสชันเดียวด้วย get_session
  • รันโมเดลการวิเคราะห์ — ขอให้ดำเนินการฟันเนลที่บันทึกไว้ (run_funnel) ดูการรักษาผู้ใช้กลุ่มโคฮอร์ต (run_retention) หรือตรวจสอบการแปลงตามเป้าหมาย (get_goals)

เซิร์ฟเวอร์ MCP แบบโฮสต์

npx add-mcp 'https://cloud.umami.is/mcp'

ติดตั้งลง Claude Code, Codex, Cursor, VS Code และอื่นๆ

เอกสาร

@umami/mcp

เซิร์ฟเวอร์ Model Context Protocol สำหรับ Umami analytics ช่วยให้ Claude, ChatGPT, Cursor และไคลเอนต์ MCP อื่นๆ ตอบคำถามเกี่ยวกับ ปริมาณการเข้าชมเว็บไซต์ของคุณโดยใช้เครื่องมือแบบอ่านอย่างเดียวที่เรียกใช้ Umami API ผ่าน @umami/api-client

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

เครื่องมือ

เครื่องมือวัตถุประสงค์
list_websitesค้นหาเว็บไซต์ที่คุณเข้าถึงได้ (เรียกก่อนเพื่อรับ websiteId)
get_website_daterangeวันที่เร็วที่สุดและล่าสุดที่มีข้อมูลบันทึกไว้
get_website_statsจำนวนเพจวิว ผู้เข้าชม การเข้าชม อัตราตีกลับ ระยะเวลา + ช่วงเวลาก่อนหน้า
get_website_trafficอนุกรมเวลาของเพจวิว/การเข้าชม ตามนาที ชั่วโมง วัน เดือน หรือปี
get_website_metricsหน้าเว็บยอดนิยม แหล่งอ้างอิง ช่องทาง ประเทศ เบราว์เซอร์ อุปกรณ์ UTM เหตุการณ์
get_realtimeผู้เข้าชมที่กำลังใช้งานอยู่ในขณะนี้
get_eventsเหตุการณ์ที่ติดตามรายบุคคล (แบ่งหน้า)
get_event_statsยอดรวมเหตุการณ์ที่กำหนดเอง + ช่วงเวลาก่อนหน้า
get_event_seriesจำนวนเหตุการณ์ที่กำหนดเองตามเวลา จัดกลุ่มตามชื่อเหตุการณ์
get_event_propertiesชื่อคุณสมบัติของเหตุการณ์ที่กำหนดเอง หรือค่าของคุณสมบัติหนึ่งรายการ
get_sessionsเซสชันของผู้เข้าชม (แบ่งหน้า)
get_session_statsยอดรวมระดับเซสชัน: ผู้เข้าชม การเข้าชม เพจวิว เหตุการณ์ ประเทศ
get_annotationsบันทึกวันที่บนไทม์ไลน์ (การเปิดตัว แคมเปญ) เพื่ออธิบายการเปลี่ยนแปลง
list_segmentsเซ็กเมนต์และโคฮอร์ตที่บันทึกไว้ ส่ง ID ผ่าน filters.segment / .cohort
get_sessionเซสชันเดียวพร้อมไทม์ไลน์กิจกรรมและคุณสมบัติ
list_funnelsฟันเนลที่บันทึกไว้พร้อมขั้นตอน (รับ funnelId สำหรับ run_funnel)
run_funnelฟันเนลการแปลงจาก funnelId ที่บันทึกไว้หรือขั้นตอนหน้า/เหตุการณ์เฉพาะกิจ
get_goalsเป้าหมายที่บันทึกไว้พร้อมการแปลง ผู้เข้าชม และอัตราสำหรับช่วงเวลา
run_journeyเส้นทางที่ผู้เข้าชมใช้บ่อยที่สุด
run_retentionตารางการรักษาโคฮอร์ต
run_attributionการระบุแหล่งที่มาแบบ first/last-click สำหรับการแปลง
get_revenueยอดรวมรายได้ อนุกรม และการแยกย่อย
get_performanceCore Web Vitals (LCP, INP, CLS, FCP, TTFB) เปอร์เซ็นไทล์ แนวโน้ม การแยกย่อย

เครื่องมือทั้งหมดเป็นแบบอ่านอย่างเดียว วันที่ใช้รูปแบบ ISO 8601 ผลลัพธ์ถูกแบ่งหน้าโดยมีขีดจำกัดสูงสุดของขนาดหน้า

ระยะไกล: Umami Cloud

เชื่อมต่อกับ https://cloud.umami.is/mcp โดยใช้คีย์ API Cloud ที่มีอยู่ของคุณ:

Authorization: Bearer api_<your-cloud-api-key>

ไคลเอนต์ที่รองรับส่วนหัวแบบกำหนดเองอาจใช้ x-umami-api-key แทน หากระบุทั้งสองส่วนหัว ต้องมีคีย์เดียวกัน ใช้ไคลเอนต์ที่รองรับการกำหนดค่า API-key หรือ bearer-header

Cloud MCP มีข้อกำหนดการสมัครสมาชิกและสิทธิ์เว็บไซต์/ทีมเหมือนกับ Cloud API เครื่องมือทั้งหมดเรียกใช้เกตเวย์ Cloud API ซึ่งตรวจสอบคีย์และกำหนดเส้นทางคำขอไปยังภูมิภาคของคุณ

ระยะไกล: โฮสต์เอง

สร้างคีย์ API ภายใต้ การตั้งค่า → คีย์ API ในอินสแตนซ์ Umami ของคุณ จากนั้นกำหนดค่า ไคลเอนต์ MCP ของคุณด้วยปลายทาง Streamable HTTP:

https://your-umami.example.com/mcp

ตั้งค่าส่วนหัวการอนุญาตโดยใช้คีย์ของคุณ:

Authorization: Bearer umami_<your-api-key>

ใช้ไคลเอนต์ที่รองรับ bearer tokens หรือส่วนหัวการอนุญาตแบบกำหนดเอง ปลายทางรองรับ คีย์ API ที่โฮสต์เอง โทเค็นการเข้าสู่ระบบของเบราว์เซอร์ไม่รองรับ เครื่องมือเป็นแบบอ่านอย่างเดียวและเคารพ สิทธิ์ผู้ใช้/ทีมที่มีอยู่ของเจ้าของคีย์ เพิกถอนคีย์ในการตั้งค่าเพื่อตัดการเข้าถึง MCP ถูกปิดใช้งานโดยค่าเริ่มต้น ตั้งค่า MCP_ENABLED=1 เพื่อเปิดใช้งานปลายทาง

ท้องถิ่น / stdio

{
  "mcpServers": {
    "umami": {
      "command": "npx",
      "args": ["-y", "@umami/mcp"],
      "env": {
        "UMAMI_URL": "https://analytics.example.com",
        "UMAMI_API_TOKEN": "umami_…"
      }
    }
  }
}
ตัวแปรคำอธิบาย
UMAMI_URLURL อินสแตนซ์ที่โฮสต์เอง (ต่อท้าย /api)
UMAMI_API_URLURL ฐาน API เต็มแทน เช่น https://api.umami.is/v1
UMAMI_API_TOKENคีย์ API หรือโทเค็นการเข้าสู่ระบบ (โฮสต์เอง)
UMAMI_API_KEYคีย์ API Umami Cloud

สำหรับ Cloud stdio ตั้งค่า UMAMI_API_KEY และละเว้น UMAMI_URL และ UMAMI_API_TOKEN:

{
  "mcpServers": {
    "umami": {
      "command": "npx",
      "args": ["-y", "@umami/mcp"],
      "env": { "UMAMI_API_KEY": "api_<your-cloud-api-key>" }
    }
  }
}

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

  • แสดงเว็บไซต์ของฉัน
  • สัปดาห์ที่แล้ว example.com มีผู้เข้าชมกี่คน?
  • หน้าเว็บ 10 อันดับแรกของเดือนนี้คืออะไร?
  • เปรียบเทียบปริมาณการเข้าชมเดือนนี้กับเดือนก่อนหน้า
  • ปริมาณการเข้าชมมาจากที่ไหน?
  • มีเหตุการณ์สมัครสมาชิกอะไรเกิดขึ้นเมื่อวานนี้?
  • แสดงเซสชันของผู้ใช้ abc123
  • ผู้คนเลือกแผนการชำระเงินใดในเหตุการณ์ชำระเงินเมื่อเดือนที่แล้ว?
  • มีเหตุการณ์สมัครสมาชิกเกิดขึ้นกี่ครั้งในแต่ละวันของสัปดาห์นี้?
  • เรียกใช้ฟันเนลการชำระเงินของฉันสำหรับเดือนที่แล้ว
  • เราทำได้ดีแค่ไหนเมื่อเทียบกับเป้าหมายในไตรมาสนี้?
  • หน้าใดมี LCP แย่ที่สุดบนมือถือ?
  • เกิดอะไรขึ้นในวันที่ปริมาณการเข้าชมพุ่งสูง?

การใช้งานเชิงโปรแกรม

import { UmamiClient } from '@umami/api-client';
import { createUmamiMcpServer } from '@umami/mcp';

const server = createUmamiMcpServer({
  client: new UmamiClient({ baseUrl, token }),
});

createUmamiMcpHttpHandler({ createClient }) ส่งคืนตัวจัดการ Streamable HTTP สำหรับฝังใน เฟรมเวิร์กเว็บใดๆ โฮสต์ตรวจสอบ bearer token และส่ง authInfo