Umami MCP
ทางการเชื่อมต่อผู้ช่วย AI ของคุณกับ Umami และสอบถามข้อมูลเกี่ยวกับการวิเคราะห์เว็บไซต์ของคุณด้วยภาษาธรรมดา
คุณทำอะไรได้บ้างด้วย 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_performance | Core 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_URL | URL อินสแตนซ์ที่โฮสต์เอง (ต่อท้าย /api) |
UMAMI_API_URL | URL ฐาน 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