Pulsetic MCP Server
ทางการเซิร์ฟเวอร์ Pulsetic MCP เชื่อมต่อการตรวจสอบของ Pulsetic กับเอเจนต์ AI และเครื่องมือที่เข้ากันได้กับ MCP ช่วยให้เข้าถึงข้อมูล uptime ผลการตรวจสอบ cron เวิร์กโฟลว์การจัดการเหตุการณ์ และข้อมูลหน้าแสดงสถานะได้โดยตรงผ่าน Model Context Protocol (MCP) ช่วยให้ทีมงานสามารถเปิดเผยข้อมูลการตรวจสอบการทำงานในรูปแบบที่มีโครงสร้างอย่างปลอดภัย ทำให้ง่ายต่อการสร้างระบบอัตโนมัติที่ขับเคลื่อนด้วย AI ผู้ช่วยตรวจสอบ และเวิร์กโฟลว์การทำงานอัจฉริยะโดยไม่ต้องใช้มิดเดิลแวร์ที่กำหนดเอง
คุณทำอะไรได้บ้างด้วย Pulsetic MCP?
- ตรวจสอบสถานะและเวลาทำงานของมอนิเตอร์ — ขอข้อมูลมอนิเตอร์ทั้งหมดด้วย
list_monitorsหรือรับสถิติโดยละเอียดสำหรับมอนิเตอร์เฉพาะผ่านget_monitor_stats - ตรวจสอบเหตุการณ์ที่เกิดการหยุดทำงาน — ดึงข้อมูลเหตุการณ์ออนไลน์/ออฟไลน์ด้วย
get_monitor_eventsหรือจำนวนวินาทีที่หยุดทำงานทั้งหมดโดยใช้get_monitor_downtime - สร้างและจัดการมอนิเตอร์ — เพิ่มมอนิเตอร์ HTTP, TCP หรือ ICMP ใหม่ด้วย
create_monitorอัปเดตการตั้งค่าผ่านupdate_monitorหรือหยุด/เริ่มการตรวจสอบชั่วคราว - จัดการเหตุการณ์ในหน้าสถานะ — ใช้
create_incident,update_incidentและresolve_incidentเพื่อจัดการวงจรชีวิตของเหตุการณ์และโพสต์อัปเดตสถานะ - กำหนดเวลาช่วงการบำรุงรักษา — สร้างช่วงการบำรุงรักษาที่กำลังจะมาถึงด้วย
create_maintenanceหรือลบออกโดยใช้delete_maintenance
เอกสาร
Pulsetic MCP Server
เชื่อมต่อผู้ช่วย AI เข้ากับแพลตฟอร์มการตรวจสอบ Pulsetic ของคุณโดยใช้ Model Context Protocol (MCP)
MCP คืออะไร?
Model Context Protocol เป็นมาตรฐานเปิดที่อนุญาตให้ผู้ช่วย AI โต้ตอบกับเครื่องมือและบริการภายนอก ด้วยเซิร์ฟเวอร์ MCP ของ Pulsetic คุณสามารถขอให้ผู้ช่วย AI ตรวจสอบสถานะมอนิเตอร์ สร้างเหตุการณ์ กำหนดเวลาบำรุงรักษา และอื่นๆ — ทั้งหมดผ่านการสนทนาที่เป็นธรรมชาติ
ไคลเอนต์ที่รองรับ:
- Claude Desktop — แอปเดสก์ท็อปของ Anthropic
- Claude Code — CLI สำหรับนักพัฒนาของ Anthropic
- ChatGPT — ผู้ช่วย AI ของ OpenAI (ผ่าน OAuth)
- Cursor — โปรแกรมแก้ไขโค้ดที่ขับเคลื่อนด้วย AI
- Windsurf — IDE ที่ขับเคลื่อนด้วย AI
- ไคลเอนต์ใดๆ ที่ใช้ ข้อกำหนด MCP
ข้อกำหนดเบื้องต้น
- บัญชี Pulsetic ในแผนที่มี การเข้าถึง API (Business หรือ Enterprise)
- คีย์ API ของ Pulsetic — สร้างได้จาก Settings → API ในแดชบอร์ดของคุณ
- ไคลเอนต์ AI ที่เข้ากันได้กับ MCP
การตั้งค่า
Claude Desktop
Claude Desktop ใช้เซิร์ฟเวอร์ MCP แบบ stdio ใช้ mcp-remote เพื่อเชื่อมต่อปลายทาง HTTP ระยะไกล เปิด Settings → Developer → Edit Config และเพิ่ม:
{
"mcpServers": {
"pulsetic": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.pulsetic.com/mcp",
"--header", "Authorization: Bearer YOUR_API_KEY"
]
}
}
}
แทนที่ YOUR_API_KEY ด้วยคีย์ API จริงของคุณ รีสตาร์ท Claude Desktop เพื่อใช้การเปลี่ยนแปลง
Claude Code
เพิ่มเซิร์ฟเวอร์ลงในไฟล์ .mcp.json ของโปรเจกต์ของคุณ:
{
"mcpServers": {
"pulsetic": {
"type": "streamableHttp",
"url": "https://api.pulsetic.com/mcp",
"headers": {
"Authorization": "YOUR_API_KEY"
}
}
}
}
Cursor
เปิด Settings → MCP Servers → Add Server และกำหนดค่า:
- Type: streamableHttp
- URL:
https://api.pulsetic.com/mcp - Headers:
Authorization: YOUR_API_KEY
ChatGPT
ChatGPT รองรับ MCP แบบเนทีฟผ่าน Developer Mode ซึ่งใช้ OAuth เพื่อตรวจสอบสิทธิ์กับ Pulsetic
ขั้นตอนที่ 1. เปิดใช้งาน Developer Mode ใน ChatGPT: ไปที่ Enabled apps → Advanced settings → Developer mode และเปิดสวิตช์ ฟีเจอร์นี้พร้อมใช้งานสำหรับผู้ใช้ ChatGPT Pro, Plus, Team, Business, Enterprise และ Edu
ขั้นตอนที่ 2. สร้างแอปใหม่: ไปที่ Enabled apps → Create app
ขั้นตอนที่ 3. กรอกรายละเอียดแอป:
| ฟิลด์ | ค่า |
|---|---|
| Name | Pulsetic MCP (หรือชื่อใดๆ ที่คุณต้องการ) |
| Description | Uptime monitoring (ไม่บังคับ) |
| MCP Server URL | https://api.pulsetic.com/mcp |
| Authentication | OAuth |
ขั้นตอนที่ 4. ปลายทาง OAuth จะถูกค้นพบโดยอัตโนมัติจากเซิร์ฟเวอร์ คุณสามารถตรวจสอบได้ภายใต้ Advanced settings:
| ฟิลด์ | ค่า |
|---|---|
| Auth URL | https://api.pulsetic.com/mcp/oauth/authorize |
| Token URL | https://api.pulsetic.com/mcp/oauth/token |
| Registration URL | https://api.pulsetic.com/mcp/oauth/register |
ขั้นตอนที่ 5. ติ๊ก "I understand and want to continue" และคลิก Create
ขั้นตอนที่ 6. ทำตามขั้นตอนการเข้าสู่ระบบ OAuth คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าการอนุญาตของ Pulsetic ซึ่งคุณต้องป้อนอีเมลบัญชีและโทเค็น API
อีเมลต้องตรงกับโทเค็น API ของคุณ ในหน้าการอนุญาต อีเมลที่คุณป้อนต้องตรงกับเจ้าของโทเค็น API ที่คุณระบุ
เก็บคีย์ API ของคุณเป็นความลับ คีย์ API ของคุณมีสิทธิ์เข้าถึงบัญชี Pulsetic ทั้งหมด อย่าคอมมิตลงในระบบควบคุมเวอร์ชันหรือแชร์ต่อสาธารณะ
เครื่องมือที่พร้อมใช้งาน
เซิร์ฟเวอร์ MCP มีเครื่องมือ 17 รายการ แบ่งเป็นสี่หมวดหมู่
มอนิเตอร์
| เครื่องมือ | คำอธิบาย |
|---|---|
list_monitors | แสดงรายการมอนิเตอร์ทั้งหมดพร้อมสถานะ เวลาทำงาน และเวลาตอบสนอง |
get_monitor | รับข้อมูลโดยละเอียดเกี่ยวกับมอนิเตอร์ที่ระบุ |
get_monitor_stats | เปอร์เซ็นต์เวลาทำงาน เวลาหยุดทำงาน และเวลาตอบสนองในช่วง 1d/7d/30d/90d |
get_monitor_events | เหตุการณ์ออนไลน์/ออฟไลน์ภายในช่วงวันที่ |
get_monitor_downtime | เวลาหยุดทำงานทั้งหมดเป็นวินาทีในช่วงเวลาที่กำหนด |
create_monitor | สร้างมอนิเตอร์ HTTP, TCP หรือ ICMP ใหม่ |
update_monitor | อัปเดตชื่อ, URL, ความถี่ หรือการตั้งค่าของมอนิเตอร์ |
delete_monitor | ลบมอนิเตอร์อย่างถาวร |
pause_monitor | หยุดการตรวจสอบชั่วคราว (หยุดการเช็ค) |
resume_monitor | ดำเนินการต่อมอนิเตอร์ที่หยุดชั่วคราว |
หน้าสถานะ
| เครื่องมือ | คำอธิบาย |
|---|---|
list_status_pages | แสดงรายการหน้าสถานะทั้งหมดพร้อมชื่อ, slug และโดเมน |
เหตุการณ์
| เครื่องมือ | คำอธิบาย |
|---|---|
list_incidents | แสดงรายการเหตุการณ์สำหรับหน้าสถานะ |
create_incident | สร้างเหตุการณ์ใหม่พร้อมอัปเดตสถานะเริ่มต้น |
update_incident | โพสต์อัปเดตสถานะไปยังเหตุการณ์ที่มีอยู่ |
resolve_incident | ทำเครื่องหมายเหตุการณ์ว่าได้รับการแก้ไขแล้ว |
การบำรุงรักษา
| เครื่องมือ | คำอธิบาย |
|---|---|
create_maintenance | กำหนดช่วงเวลาบำรุงรักษาบนหน้าสถานะ |
delete_maintenance | ลบช่วงเวลาบำรุงรักษาที่กำหนดไว้ |
ตัวอย่างการใช้งาน
เมื่อกำหนดค่าแล้ว คุณสามารถโต้ตอบกับ Pulsetic ผ่านภาษาธรรมชาติ
ตรวจสอบมอนิเตอร์ของคุณ
"Show me all my monitors and their current status."
"What's the uptime for my production API monitor over the last 30 days?"
"Are any of my monitors currently down?"
"Show me the downtime events for monitor 42 in the past week."
จัดการมอนิเตอร์
"Create a new monitor for https://api.example.com that checks every 30 seconds."
"Pause the staging monitor while we do the migration."
"Resume all paused monitors."
"Change the check frequency of monitor 15 to 60 seconds."
"Delete the old marketing-site monitor."
จัดการเหตุการณ์
"Create an incident on our main status page: 'Elevated API latency'
with status investigating and message 'We're looking into slow response times.'"
"Update the API latency incident to identified: 'Root cause is a database
connection pool issue. Working on a fix.'"
"Resolve incident 8 with message 'Connection pool limits increased.
Response times back to normal.'"
กำหนดเวลาบำรุงรักษา
"Schedule a maintenance window on status page 1 called 'Database upgrade'
starting 2025-03-20 at 2am UTC and ending at 4am UTC."
"Delete the maintenance window we scheduled for next week."
การทดสอบด้วย cURL
คุณสามารถทดสอบปลายทาง MCP โดยตรงด้วย cURL เพื่อตรวจสอบว่าคีย์ API ของคุณใช้งานได้
เริ่มต้น
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {"name": "curl", "version": "1.0"}
}
}'
แสดงรายการเครื่องมือ
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
เรียกใช้เครื่องมือ
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "list_monitors",
"arguments": {}
}
}'
ข้อมูลอ้างอิงเครื่องมือ
list_monitors
ส่งคืนมอนิเตอร์ทั้งหมดสำหรับบัญชีของคุณ
ไม่มีพารามิเตอร์
get_monitor
ส่งคืนรายละเอียดทั้งหมดสำหรับมอนิเตอร์เดียว รวมถึงข้อมูลใบรับรอง SSL
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
monitor_id | integer | ใช่ | ID ของมอนิเตอร์ |
get_monitor_stats
ส่งคืนเปอร์เซ็นต์เวลาทำงาน เวลาหยุดทำงาน จำนวนเหตุการณ์ และเวลาตอบสนองเฉลี่ยในช่วง 1 วัน, 7 วัน, 30 วัน และ 90 วัน
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
monitor_id | integer | ใช่ | ID ของมอนิเตอร์ |
get_monitor_events
ส่งคืนเหตุการณ์ออนไลน์/ออฟไลน์ในช่วงวันที่ (สูงสุด 100 รายการ ใหม่สุดก่อน)
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
monitor_id | integer | ใช่ | ID ของมอนิเตอร์ |
from | string | ไม่ | วันที่เริ่มต้น (YYYY-MM-DD) ค่าเริ่มต้น: 7 วันที่แล้ว |
to | string | ไม่ | วันที่สิ้นสุด (YYYY-MM-DD) ค่าเริ่มต้น: วันนี้ |
get_monitor_downtime
ส่งคืนเวลาหยุดทำงานทั้งหมดเป็นวินาทีและจำนวนเหตุการณ์ในช่วงเวลาหนึ่ง
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
monitor_id | integer | ใช่ | ID ของมอนิเตอร์ |
days | integer | ไม่ | จำนวนวันที่จะย้อนหลังดู ค่าเริ่มต้น: 30 |
create_monitor
สร้างมอนิเตอร์เวลาทำงานใหม่
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
url | string | ใช่ | URL หรือชื่อโฮสต์ที่จะตรวจสอบ |
name | string | ไม่ | ชื่อที่แสดง |
request_type | string | ไม่ | http, tcp หรือ icmp ค่าเริ่มต้น: http |
uptime_check_frequency | integer | ไม่ | ช่วงเวลาการตรวจสอบเป็นวินาที ค่าเริ่มต้น: 60 |
request_method | string | ไม่ | เมธอด HTTP ค่าเริ่มต้น: GET |
request_timeout | integer | ไม่ | หมดเวลาเป็นวินาที ค่าเริ่มต้น: 30 |
ssl_check | boolean | ไม่ | เปิดใช้งานการตรวจสอบ SSL |
update_monitor
อัปเดตการตั้งค่าของมอนิเตอร์ที่มีอยู่ รวมเฉพาะฟิลด์ที่คุณต้องการเปลี่ยนแปลง
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
monitor_id | integer | ใช่ | ID ของมอนิเตอร์ |
name | string | ไม่ | ชื่อที่แสดงใหม่ |
url | string | ไม่ | URL หรือชื่อโฮสต์ใหม่ |
uptime_check_frequency | integer | ไม่ | ช่วงเวลาการตรวจสอบใหม่เป็นวินาที |
request_method | string | ไม่ | เมธอด HTTP |
request_timeout | integer | ไม่ | หมดเวลาเป็นวินาที |
ssl_check | boolean | ไม่ | เปิด/ปิดการตรวจสอบ SSL |
delete_monitor
ลบมอนิเตอร์และข้อมูลที่เกี่ยวข้องทั้งหมดอย่างถาวร
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
monitor_id | integer | ใช่ | ID ของมอนิเตอร์ |
pause_monitor
หยุดมอนิเตอร์ชั่วคราว มันจะหยุดถูกตรวจสอบจนกว่าจะดำเนินการต่อ
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
monitor_id | integer | ใช่ | ID ของมอนิเตอร์ |
resume_monitor
ดำเนินการต่อมอนิเตอร์ที่หยุดชั่วคราว
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
monitor_id | integer | ใช่ | ID ของมอนิเตอร์ |
list_status_pages
ส่งคืนหน้าสถานะทั้งหมดสำหรับบัญชีของคุณ
ไม่มีพารามิเตอร์
list_incidents
ส่งคืนเหตุการณ์สำหรับหน้าสถานะ รวมถึงการอัปเดตล่าสุดสำหรับแต่ละรายการ
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
status_page_id | integer | ใช่ | ID ของหน้าสถานะ |
create_incident
สร้างเหตุการณ์ใหม่พร้อมอัปเดตสถานะเริ่มต้นที่ปรากฏบนหน้าสถานะ
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
status_page_id | integer | ใช่ | ID ของหน้าสถานะ |
title | string | ใช่ | ชื่อเหตุการณ์ |
status | string | ใช่ | investigating, identified, monitoring หรือ resolved |
message | string | ใช่ | ข้อความอัปเดตเริ่มต้น |
update_incident
โพสต์อัปเดตสถานะใหม่ไปยังเหตุการณ์ที่มีอยู่
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
incident_id | integer | ใช่ | ID ของเหตุการณ์ |
status | string | ใช่ | investigating, identified, monitoring หรือ resolved |
message | string | ใช่ | ข้อความอัปเดต |
title | string | ไม่ | อัปเดตชื่อเหตุการณ์ |
resolve_incident
ทำเครื่องหมายเหตุการณ์ว่าได้รับการแก้ไขแล้วพร้อมข้อความการแก้ไข
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
incident_id | integer | ใช่ | ID ของเหตุการณ์ |
message | string | ใช่ | ข้อความการแก้ไข |
create_maintenance
กำหนดช่วงเวลาบำรุงรักษาบนหน้าสถานะ
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
status_page_id | integer | ใช่ | ID ของหน้าสถานะ |
name | string | ใช่ | ชื่อการบำรุงรักษา |
description | string | ไม่ | คำอธิบายการบำรุงรักษา |
start | string | ใช่ | เวลาเริ่มต้นในรูปแบบ ISO 8601 |
end | string | ใช่ | เวลาสิ้นสุดในรูปแบบ ISO 8601 |
timezone | string | ไม่ | เขตเวลา (เช่น UTC, America/New_York) ค่าเริ่มต้น: UTC |
delete_maintenance
ลบช่วงเวลาบำรุงรักษาที่กำหนดไว้
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
maintenance_id | integer | ใช่ | ID ของช่วงเวลาบำรุงรักษา |
การแก้ไขปัญหา
401 Unauthorized
- ตรวจสอบว่าคีย์ API ของคุณถูกต้องและยังไม่หมดอายุ
- ตรวจสอบให้แน่ใจว่าคุณส่งคีย์ในส่วนหัว
Authorization(ไม่ว่าจะเป็นโทเค็นดิบหรือมีคำนำหน้าBearer) - ยืนยันว่าบัญชีของคุณอยู่ในแผนที่เปิดใช้งานการเข้าถึง API
การอนุญาต OAuth ล้มเหลว (ChatGPT)
- ในหน้าการอนุญาต อีเมล ที่คุณป้อนต้องตรงกับเจ้าของโทเค็น API
- ตรวจสอบให้แน่ใจว่าเปิดใช้งาน Developer Mode ในการตั้งค่า ChatGPT ของคุณ
- ตรวจสอบว่าคุณมีแผน ChatGPT ที่รองรับ Developer Mode (Pro, Plus, Team, Business, Enterprise หรือ Edu)
"Monitor not found or access denied"
- ID มอนิเตอร์ไม่มีอยู่หรือเป็นของบัญชีอื่น
- ใช้
list_monitorsเพื่อดู ID มอนิเตอร์ที่พร้อมใช้งานของคุณ
เครื่องมือไม่แสดงในไคลเอนต์ AI ของคุณ
- รีสตาร์ทไคลเอนต์ AI หลังจากแก้ไขการกำหนดค่า MCP
- ตรวจสอบว่า URL ถูกต้องตรงกับ
https://api.pulsetic.com/mcp - ทดสอบปลายทางด้วย cURL เพื่อตรวจสอบการเชื่อมต่อ
พบข้อผิดพลาดโปรโตคอล
- ตรวจสอบให้แน่ใจว่าคำขอใช้
Content-Type: application/json - ฟิลด์
jsonrpcต้องเป็น"2.0"อย่างถูกต้อง - รวมฟิลด์
id(จำนวนเต็มหรือสตริง) สำหรับคำขอทั้งหมดยกเว้นการแจ้งเตือน
ข้อมูลอ้างอิง API
เซิร์ฟเวอร์ MCP นี้ใช้ข้อกำหนด MCP specification (2025-03-26) ผ่านการขนส่งแบบ Streamable HTTP บนจุดปลายทาง POST /mcp เดียวด้วย JSON-RPC 2.0