GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
SutramX uptime monitoring: monitors, check results, incidents, status pages and uptime/SLO reports.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
SUTRAMX_API_KEY, SUTRAMX_API_URL, SUTRAMX_READ_ONLY, SUTRAMX_ALLOW_DESTRUCTIVEค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"sutramx": {
"command": "npx",
"args": [
"-y",
"@sutramx/mcp-server"
],
"env": {
"SUTRAMX_API_KEY": "ใส่ค่าของคุณ",
"SUTRAMX_API_URL": "ใส่ค่าของคุณ",
"SUTRAMX_READ_ONLY": "ใส่ค่าของคุณ",
"SUTRAMX_ALLOW_DESTRUCTIVE": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add sutramx --env SUTRAMX_API_KEY='ใส่ค่าของคุณ' --env SUTRAMX_API_URL='ใส่ค่าของคุณ' --env SUTRAMX_READ_ONLY='ใส่ค่าของคุณ' --env SUTRAMX_ALLOW_DESTRUCTIVE='ใส่ค่าของคุณ' -- npx -y @sutramx/mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"sutramx": {
"command": "npx",
"args": [
"-y",
"@sutramx/mcp-server"
],
"env": {
"SUTRAMX_API_KEY": "ใส่ค่าของคุณ",
"SUTRAMX_API_URL": "ใส่ค่าของคุณ",
"SUTRAMX_READ_ONLY": "ใส่ค่าของคุณ",
"SUTRAMX_ALLOW_DESTRUCTIVE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"sutramx": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sutramx/mcp-server"
],
"env": {
"SUTRAMX_API_KEY": "ใส่ค่าของคุณ",
"SUTRAMX_API_URL": "ใส่ค่าของคุณ",
"SUTRAMX_READ_ONLY": "ใส่ค่าของคุณ",
"SUTRAMX_ALLOW_DESTRUCTIVE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
SUTRAMX_API_URL envSUTRAMX_READ_ONLY envSUTRAMX_ALLOW_DESTRUCTIVE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub sutramx ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: SUTRAMX_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.6) เข้า registry 25 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Model Context Protocol server that lets AI agents and assistants (Claude Code, Claude Desktop and other MCP clients) work with your SutramX workspace: list and change monitors, read check results, handle incidents and manage status pages.
It talks to the public SutramX API with a workspace API key, so it can do exactly what that key can do and nothing more.
| Tool | What it does | Changes data? |
|---|---|---|
sutramx_whoami | Workspace, plan and limits for the key | no |
sutramx_monitor_summary | Counts by status, open incidents, 24h uptime | no |
sutramx_list_monitors | Monitors with live status and uptime; filter by status, tag, text | no |
sutramx_get_monitor | One monitor by id or monitoring-as-code key | no |
sutramx_create_monitor | Create a monitor of any type: http, api, ping, port, udp, dns, multistep, mcp (a remote MCP server: initialize + tools/list, expected tools, tool-list drift) or cron (pass key for an idempotent create-or-update) | yes |
sutramx_update_monitor | Change name, URL, interval, config, tags, regions | yes |
sutramx_pause_monitor / sutramx_resume_monitor | Stop or restart checks (pauses are capped per hour, see Safety limits) | yes |
sutramx_delete_monitor | Delete a monitor and its history (hidden unless deletes are enabled) | yes, destructive |
sutramx_run_check | Run one real check now | records a check |
sutramx_get_check_results | Check history by region and status, paginated | no |
sutramx_list_incidents / sutramx_get_incident | Incidents with confirming regions and acknowledgement | no |
sutramx_explain_incident | "Why is it down?" / "why did this alert fire?": by incident id, monitor id or monitor name/key, the verdict, whose fault it is (yours, external, our checker), each region's vote (blocked and inconclusive regions abstain), the quorum rule and whether it was met, the failure class, vendor signals and the 7/30-day flakiness score; a monitor with no open incident gets its current state plus its most recent incident | no |
sutramx_acknowledge_incident | Acknowledge (stops escalation) | yes |
sutramx_resolve_incident | Resolve by hand with a note | yes |
sutramx_add_incident_note | Add an internal timeline note (public status page updates only in destructive mode) | yes |
sutramx_list_status_pages / sutramx_get_status_page | Status pages and the monitors on them | no |
sutramx_create_status_page / sutramx_update_status_page | Create a page (not public unless destructive mode), or change its title, description, logo_url, accent_color, favicon_url, hide_powered_by, show_response_times; slug and is_public, and any change to a page that is public, only in destructive mode (any other setting is rejected) | yes |
sutramx_set_status_page_monitors | Replace the monitors shown on a page (hidden unless destructive mode; an empty list needs remove_all: true) | yes, destructive |
sutramx_delete_status_page | Delete a page (hidden unless deletes are enabled) | yes, destructive |
sutramx_uptime_report | Uptime %, incidents, MTTR and health score per monitor over 7/14/30/90 days, plus SLO error budgets and burn rates | no |
sutramx_list_maintenance_windows | Maintenance windows (scope, schedule, recurrence); filter by state | no |
sutramx_list_regions | Monitoring locations and their codes | no |
Destructive tools are annotated with destructiveHint, so clients that support it ask before running them. Read tools carry readOnlyHint and openWorldHint: false (they only read your workspace); tools that make SutramX contact outside targets, publish, or notify people carry openWorldHint: true.
Agents can be steered by text they read (prompt injection), so the user, not the agent, chooses which tools the server offers. Tools that are not allowed are not registered at all: the agent never sees them.
| Mode | stdio (env) | HTTP (env for the whole server, or a header per client) | Tools offered |
|---|---|---|---|
| read-only | SUTRAMX_READ_ONLY=true | X-SutramX-Read-Only: true | only the "no" rows above |
| default | (neither set) | (neither set) | everything except the destructive rows; no publishing |
| destructive mode | SUTRAMX_ALLOW_DESTRUCTIVE=true | env only; or X-SutramX-Allow-Destructive: true if the operator set SUTRAMX_HTTP_ALLOW_DESTRUCTIVE_HEADER=true | everything |
Destructive mode covers everything that deletes data or changes what the public sees:
sutramx_set_status_page_monitors (it can take monitors off a page) are registered only in destructive mode;sutramx_update_status_page refuses slug and is_public changes (publishing, unpublishing or moving a page) and any change to a page that is public (title, logo, colours and the rest are visible to everyone), sutramx_create_status_page creates pages not public, and sutramx_add_incident_note refuses public: true (status page updates) outside destructive mode.Notes:
true, 1, yes and on (any case) turn a setting on; anything else leaves it off. No tool argument can change them.SUTRAMX_READ_ONLY=true on the server makes every request read-only whatever the headers say, and X-SutramX-Read-Only: true narrows one client. SUTRAMX_ALLOW_DESTRUCTIVE=true on the server enables destructive mode for every request that is not read-only. X-SutramX-Allow-Destructive: true is ignored unless the operator also set SUTRAMX_HTTP_ALLOW_DESTRUCTIVE_HEADER=true.Tools that change data are rate limited per session (stdio: the process; HTTP: the API key): at most SUTRAMX_MAX_WRITES_PER_MINUTE (default 20) and SUTRAMX_MAX_WRITES_PER_HOUR (default 200) changes, and outside destructive mode at most SUTRAMX_MAX_PAUSES_PER_HOUR (default 10) monitor pauses. Over the limit the tool answers with an error telling the agent to involve the user; the API's own per-key limits apply on top.
In SutramX, open Settings → API keys → Create API key. Keys start with sk_ and are shown once.
Recommended for agents: a Read-only key. It can call every "no" tool above, and the SutramX API itself refuses every change it attempts (403 READ_ONLY_ACCESS), so a leaked key or a prompt-injected agent cannot create, pause, acknowledge, resolve or delete anything. This holds even if the server's own read-only mode is off; combine both (SUTRAMX_READ_ONLY=true hides the write tools from the agent as well). Use a Standard key only for an agent that really needs to change things; it is enough for every tool above.
cd mcp-server
npm install npm run build
Node.js 20 or newer is required.
claude mcp add sutramx \
--env SUTRAMX_API_KEY=sk_your_key \ -- node /absolute/path/to/mcp-server/dist/index.js
Or add it to .mcp.json in a project:
{
"mcpServers": { "sutramx": { "command": "node", "args": ["/absolute/path/to/mcp-server/dist/index.js"], "env": { "SUTRAMX_API_KEY": "sk_your_key" } } } }
Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": { "sutramx": { "command": "node", "args": ["/absolute/path/to/mcp-server/dist/index.js"], "env": { "SUTRAMX_API_KEY": "sk_your_key" } } } }
Restart Claude Desktop. Try: "Which SutramX monitors are down right now, and since when?"
PORT=3333 node dist/index.js --http
The endpoint is POST http://127.0.0.1:3333/mcp (stateless, JSON responses). Every request must send its own SutramX key:
Authorization: Bearer sk_your_key
so one server can serve several users and workspaces. Each key only ever reaches its own workspace. Connect Claude Code to it with:
claude mcp add --transport http sutramx http://127.0.0.1:3333/mcp \
--header "Authorization: Bearer sk_your_key"
When the server listens on loopback (the default, HOST=127.0.0.1), SUTRAMX_API_KEY is used for requests that send no Authorization header (a header that is not a SutramX key is rejected with 401). Browser requests (any request with an Origin header, localhost pages included) are refused unless that origin is listed in MCP_ALLOWED_ORIGINS, so a local dev server or other localhost web app cannot use your key. To use a browser-based client such as the MCP Inspector, list its origin, e.g. MCP_ALLOWED_ORIGINS=http://localhost:6274. The environment key is only lent to requests without an Origin or from an origin listed by name (a * entry admits browsers that send their own key, never the environment key). With any other HOST the environment key is ignored, and you should put the server behind HTTPS. Set MCP_ALLOWED_HOSTS (comma-separated host names) to keep DNS-rebinding protection when binding to 0.0.0.0. GET /health returns the server version.
The hosted server at https://api.sutramx.com/mcp also accepts OAuth 2.1, so clients that cannot store an API key (for example a Claude.ai custom connector) only need the URL. On the first request without credentials the server answers 401 with WWW-Authenticate: Bearer resource_metadata="https://api.sutramx.com/.well-known/oauth-protected-resource/mcp"; the client registers itself (dynamic client registration), sends you to SutramX to approve, and gets an access token (PKCE S256, resource indicator https://api.sutramx.com/mcp).
On the consent page you pick the workspace and the permissions: monitors:read, incidents:read, status_pages:read (on by default) and monitors:write, incidents:write, status_pages:write (off unless you tick them; workspace viewers can only grant read). A token without a write scope gets only the read tools. Destructive tools (deletes, publishing, slug changes, replacing a status page's monitors) stay off on the hosted server; only the server operator can enable them (SUTRAMX_ALLOW_DESTRUCTIVE). OAuth tokens can never manage API keys, team members, billing, SSO or account settings. Access tokens last one hour and are refreshed automatically; revoke an app any time in SutramX → Settings → Authorized apps.
Self-hosting the HTTP server with OAuth: set MCP_RESOURCE_URL to the public URL of your /mcp endpoint and MCP_AUTHORIZATION_SERVER to your SutramX API, and serve /.well-known/oauth-protected-resource* from this server. Set OAUTH_RESOURCE_PROXY_SECRET (at least 16 characters, the value your API expects) so OAuth tokens reach the API with their resource proof. With NODE_ENV=production (the Docker image's default) the HTTP server refuses to start when that secret is missing or shorter than 16 characters, instead of silently sending tokens without it. A server that should accept API keys only sets MCP_OAUTH=off: no protected-resource metadata is served and OAuth access tokens are refused. stdio mode is not affected.
| Variable | Default | Purpose |
|---|---|---|
SUTRAMX_API_KEY | (required for stdio) | Workspace API key |
| SUTRAMX_API_URL | https://api.sutramx.com | API base URL (self-hosted or staging); set by the operator only, never taken from a request or tool argu
ตัดมาแค่ช่วงต้น อ่านต่อใน repo