GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者による説明(英語の原文)
Uptime monitoring — monitors, incidents, heartbeats, maintenance windows, status page incidents
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
FETTLE_API_KEY, FETTLE_API_URL, FETTLE_TIMEOUT_MS, Authorization「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"fettle": {
"command": "npx",
"args": [
"-y",
"fettle-mcp"
],
"env": {
"FETTLE_API_KEY": "your-value",
"FETTLE_API_URL": "your-value",
"FETTLE_TIMEOUT_MS": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add --transport http fettle https://api.fettle.sh/mcp --header 'Authorization: your-value'claude mcp add fettle --env FETTLE_API_KEY=your-value --env FETTLE_API_URL=your-value --env FETTLE_TIMEOUT_MS=your-value -- npx -y fettle-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"fettle": {
"url": "https://api.fettle.sh/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"fettle": {
"command": "npx",
"args": [
"-y",
"fettle-mcp"
],
"env": {
"FETTLE_API_KEY": "your-value",
"FETTLE_API_URL": "your-value",
"FETTLE_TIMEOUT_MS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"fettle": {
"type": "http",
"url": "https://api.fettle.sh/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"fettle": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"fettle-mcp"
],
"env": {
"FETTLE_API_KEY": "your-value",
"FETTLE_API_URL": "your-value",
"FETTLE_TIMEOUT_MS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
FETTLE_API_URL envFETTLE_TIMEOUT_MS envAuthorization 秘密 HTTP headerこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーは、ツール一覧を表示する前にサインインを求めます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名はドメイン fettle.sh で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
511ミリ秒で応答(HTTP 401)
OAuthでのサインインに対応しているため、AIアプリがログイン画面へ案内してくれます
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:FETTLE_API_KEY, Authorization
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
GitHubリポジトリの最終更新は–、最新バージョン(1.4.0)がレジストリに届いたのは昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Website: fettle.sh · MCP docs: fettle.sh/docs/mcp · Dashboard: dashboard.fettle.sh · Support: support@fettle.sh
MCP server for Fettle — uptime monitoring you can drive from Claude Code, Codex, Claude Desktop, Cursor, Windsurf or anything else that speaks the Model Context Protocol.
Ask your assistant to create a monitor, look up why one went down, acknowledge an incident, check a deploy or draft a status page post — it calls the same public API you would.
"Add an HTTP monitor for https://api.acme.dev, check it every 5 minutes from Europe."
"Which of my monitors had incidents this week?" "Silence alerts on the checkout monitor for the next 20 minutes — we're deploying." "We just deployed a1b2c3d — did any of the API monitors get worse?"
In the official MCP registry this server is sh.fettle/mcp — one entry covering both channels, for clients that install from the registry rather than from a hand-edited config file.
An API key belongs to one organization and carries either read or write scope. Read-scope keys can list and inspect; the write tools below need a write-scope key.
There is nothing to install — MCP clients run the package with npx on demand. Add one entry to your client's config and restart it.
claude mcp add fettle --env FETTLE_API_KEY=fettle_your_key_here -- npx -y fettle-mcp
codex mcp add fettle --env FETTLE_API_KEY=fettle_your_key_here -- npx -y fettle-mcp
Or by hand in ~/.codex/config.toml (.codex/config.toml for one trusted project):
[mcp_servers.fettle]
command = "npx" args = ["-y", "fettle-mcp"]
[mcp_servers.fettle.env] FETTLE_API_KEY = "fettle_your_key_here"
~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows:
{
"mcpServers": { "fettle": { "command": "npx", "args": ["-y", "fettle-mcp"], "env": { "FETTLE_API_KEY": "fettle_your_key_here" } } } }
~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
{
"mcpServers": { "fettle": { "command": "npx", "args": ["-y", "fettle-mcp"], "env": { "FETTLE_API_KEY": "fettle_your_key_here" } } } }
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "fettle": { "command": "npx", "args": ["-y", "fettle-mcp"], "env": { "FETTLE_API_KEY": "fettle_your_key_here" } } } }
| Variable | Required | Default | What it does |
|---|---|---|---|
FETTLE_API_KEY | yes | — | Your API key. The server refuses to start without it. |
FETTLE_API_URL | no | https://api.fettle.sh | Point the server at a different API. You will not normally set this. |
FETTLE_TIMEOUT_MS | no | 30000 | How long one tool call may take before it is abandoned. |
56 tools, grouped by what they work on. Read-scope keys can call the read ones; everything marked write needs a write-scope key.
Every tool carries the MCP hints readOnlyHint, destructiveHint, idempotentHint and openWorldHint, so a client can tell reads from changes without parsing names and ask for confirmation only where it matters. Only the five delete_* tools are destructive. preview_maintenance_window and check_target are marked read-only although they need a write-scope key: they change nothing. check_now and check_target reach the target host, so they are open-world.
Every tool whose result is a JSON object declares an outputSchema and returns the result as structuredContent as well as text, so a client can read typed fields instead of parsing the text. The four exceptions return the text only: list_monitors (its compact rows) and the three tools whose result is a list — list_active_maintenance, preview_maintenance_window and list_channels.
| Tool | Scope | What it does |
|---|---|---|
list_monitors | read | List monitors compactly; filter by type, status, tags; sort by status, SSL expiry, latency. |
get_monitor | read | Read one monitor's configuration and status by id, with certificate and domain expiry. |
check_target | write | Probe a target once from one region before creating a monitor for it. |
create_monitor | write | Create a monitor that checks a URL, host or port on a schedule; opt in to domain expiry. |
bulk_create_monitors | write | Create up to 100 monitors in one call — all of them or none. |
update_monitor | write | Change an existing monitor's settings. |
bulk_update_monitors | write | Set the same interval, regions, channels or thresholds on up to 100 monitors, all or nothing. |
pause_monitor | write | Stop checking a monitor without deleting it. For a deploy, use a maintenance window. |
bulk_pause_monitors | write | Pause up to 100 monitors in one call, all or nothing. |
resume_monitor | write | Resume checks on a paused monitor. |
bulk_resume_monitors | write | Resume up to 100 paused monitors in one call, all or nothing. |
delete_monitor | write | Soft-delete a monitor: it stops being checked and leaves the monitor list. |
check_now | write | Re-arm a monitor to run on the next scheduler tick instead of waiting out its interval. |
get_exposed_ports_preset | read | Database and admin ports that should not be reachable from the internet. |
| Tool | Scope | What it does |
|---|---|---|
get_uptime_summary | read | Uptime, average response time and incident counts over 24h / 7d / 30d at once. |
get_uptime_daily | read | A monitor's uptime for each UTC day, oldest first. |
get_response_time_by_region | read | Per-region response time over 24h, 7d or 30d with percentiles, plus the current slowdown. |
list_check_results | read | Individual check results of a monitor, newest first, filtered by region, status or period. |
| Tool | Scope | What it does |
|---|---|---|
list_incidents | read | List incidents by monitor, status, cause or period; newest first or open unacknowledged first. |
get_incident | read | Read one incident with its cause, every alert attempt and how it was acknowledged. |
get_incident_diagnosis | read | What changed around a monitor incident, with a repro command and the next calls to make. |
get_incident_context | read | Per-region checks, a timeline, downtime periods and who acknowledged an incident, by name. |
acknowledge_incident | write | Acknowledge an open incident so repeat notifications stop. |
| Tool | Scope | What it does |
|---|---|---|
record_deploy | write | Record a deploy so verify_deploy shows it and a later incident can name it as the suspect. |
verify_deploy | read | Compare monitors before and after a deploy, per region, without running a check. |
list_changes | read | Confirmed DNS answer and certificate changes; empty until the change feed is on. |
| Tool | Scope | What it does |
|---|---|---|
list_heartbeats | read | List heartbeat (cron / dead-man's-switch) monitors and when each was last pinged. |
get_heartbeat | read | Read one heartbeat, including its ping URL and when it will be reported late. |
create_heartbeat | write | Create a heartbeat monitor and get the URL a scheduled job should ping. |
update_heartbeat | write | Change a heartbeat's name, period, grace, channels or tags. |
pause_heartbeat | write | Pause a heartbeat: it is not reported late and its pings are ignored. |
resume_heartbeat | write | Resume a paused heartbeat. |
delete_heartbeat | write | Delete a heartbeat for good; its ping URL stops working. |
| Tool | Scope | What it does |
|---|---|---|
list_maintenance_windows | read | List maintenance windows (one-time or recurring, organization-wide or per monitor). |
list_active_maintenance | read | The maintenance windows in effect right now. |
get_maintenance_window | read | Read one maintenance window with its next three occurrences. |
preview_maintenance_window | write | Show the next three occurrences a schedule would produce, without saving it. |
create_maintenance_window | write | Create a window that silences alerts, once or on an iCal RRULE schedule. |
update_maintenance_window | write | Change a maintenance window. |
delete_maintenance_window | write | Delete a maintenance window; alerts resume at once. |
| Tool | Scope | What it does |
|---|---|---|
list_tags | read | List every tag in the organization with how many monitors and heartbeats carry it. |
bulk_update_monitor_tags | write | Add and/or remove tags across up to 300 monitors in one call. |
| bulk_update_heartbeat_tags | write | Add and/or remove tags across up to 300 heartbeats in one call.
冒頭だけを表示しています。続きはリポジトリで読めます