fettle-mcp 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -2
- package/contracts/mcp_tools.json +26 -3
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
**Website:** [fettle.sh](https://fettle.sh) · **MCP docs:** [fettle.sh/docs/mcp](https://fettle.sh/docs/mcp) · **Dashboard:** [dashboard.fettle.sh](https://dashboard.fettle.sh) · **Support:** support@fettle.sh
|
|
4
4
|
|
|
5
5
|
MCP server for [Fettle](https://fettle.sh) — uptime monitoring you can drive from
|
|
6
|
-
Claude Code, Claude Desktop, Cursor, Windsurf or anything else that speaks the
|
|
6
|
+
Claude Code, Codex, Claude Desktop, Cursor, Windsurf or anything else that speaks the
|
|
7
7
|
[Model Context Protocol](https://modelcontextprotocol.io).
|
|
8
8
|
|
|
9
9
|
Ask your assistant to create a monitor, look up why one went down, acknowledge an
|
|
10
10
|
incident or pause checks before a deploy — it calls the same public API you would.
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
"Add an HTTP monitor for https://api.acme.dev, check it every
|
|
13
|
+
"Add an HTTP monitor for https://api.acme.dev, check it every 5 minutes from Europe."
|
|
14
14
|
"Which of my monitors had incidents this week?"
|
|
15
15
|
"Pause the checkout monitor — we're deploying for the next 20 minutes."
|
|
16
16
|
```
|
|
@@ -39,6 +39,24 @@ Add one entry to your client's config and restart it.
|
|
|
39
39
|
claude mcp add fettle --env FETTLE_API_KEY=fettle_your_key_here -- npx -y fettle-mcp
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
+
### Codex
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
codex mcp add fettle --env FETTLE_API_KEY=fettle_your_key_here -- npx -y fettle-mcp
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Or by hand in `~/.codex/config.toml` (`.codex/config.toml` for one trusted
|
|
49
|
+
project):
|
|
50
|
+
|
|
51
|
+
```toml
|
|
52
|
+
[mcp_servers.fettle]
|
|
53
|
+
command = "npx"
|
|
54
|
+
args = ["-y", "fettle-mcp"]
|
|
55
|
+
|
|
56
|
+
[mcp_servers.fettle.env]
|
|
57
|
+
FETTLE_API_KEY = "fettle_your_key_here"
|
|
58
|
+
```
|
|
59
|
+
|
|
42
60
|
### Claude Desktop
|
|
43
61
|
|
|
44
62
|
`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS,
|
|
@@ -284,6 +302,15 @@ Clients configured through a JSON file take the same two fields:
|
|
|
284
302
|
}
|
|
285
303
|
```
|
|
286
304
|
|
|
305
|
+
Codex takes the remote channel in `~/.codex/config.toml` and reads the key from
|
|
306
|
+
an environment variable, so it never sits in the file:
|
|
307
|
+
|
|
308
|
+
```toml
|
|
309
|
+
[mcp_servers.fettle]
|
|
310
|
+
url = "https://api.fettle.sh/mcp"
|
|
311
|
+
bearer_token_env_var = "FETTLE_API_KEY"
|
|
312
|
+
```
|
|
313
|
+
|
|
287
314
|
Use this package when your client speaks only stdio, or when you would rather
|
|
288
315
|
the credential stayed in a local config file than in a client's cloud
|
|
289
316
|
configuration.
|
package/contracts/mcp_tools.json
CHANGED
|
@@ -2577,7 +2577,7 @@
|
|
|
2577
2577
|
{
|
|
2578
2578
|
"name": "get_uptime_summary",
|
|
2579
2579
|
"title": "Get uptime for a monitor",
|
|
2580
|
-
"description": "Report one monitor's uptime percentage, average response time and incident count over the last 24 hours, 7 days and 30 days at once, to answer how reliable it has been. For a day-by-day series use get_uptime_daily; for response time per region use get_response_time_by_region; for the individual failures use list_check_results. Returns monitor_id and windows keyed 24h, 7d and 30d, each with uptime_percentage (
|
|
2580
|
+
"description": "Report one monitor's uptime percentage, average response time and incident count over the last 24 hours, 7 days and 30 days at once, to answer how reliable it has been. For a day-by-day series use get_uptime_daily; for response time per region use get_response_time_by_region; for the individual failures use list_check_results. Returns monitor_id and windows keyed 24h, 7d and 30d, each with uptime_percentage, downtime_seconds, observed_seconds, window_start (later than the window's start when the monitor is younger), total_checks, up_checks, down_checks, degraded_checks, incident_count and avg_response_time_ms. uptime_percentage is the share of observed time outside confirmed outages (an outage counts from the first failing probe to the first probe that is not DOWN; a failure only one region saw does not count; maintenance counts as up; hours with no checks are left out; null when nothing was observed). The check counts are informational: a failed check outside a confirmed outage does not lower uptime_percentage.",
|
|
2581
2581
|
"scope": "read",
|
|
2582
2582
|
"input_schema": {
|
|
2583
2583
|
"type": "object",
|
|
@@ -2652,6 +2652,18 @@
|
|
|
2652
2652
|
"type": "null"
|
|
2653
2653
|
}
|
|
2654
2654
|
]
|
|
2655
|
+
},
|
|
2656
|
+
"downtime_seconds": {
|
|
2657
|
+
"description": "Seconds of confirmed downtime inside the window.",
|
|
2658
|
+
"type": "integer"
|
|
2659
|
+
},
|
|
2660
|
+
"observed_seconds": {
|
|
2661
|
+
"description": "Seconds inside the window the monitor was observed; uptime is measured over this time. Never less than downtime_seconds.",
|
|
2662
|
+
"type": "integer"
|
|
2663
|
+
},
|
|
2664
|
+
"window_start": {
|
|
2665
|
+
"description": "Start of the window: the window length before now, or when the monitor was created if that is later.",
|
|
2666
|
+
"type": "string"
|
|
2655
2667
|
}
|
|
2656
2668
|
},
|
|
2657
2669
|
"required": [
|
|
@@ -2660,7 +2672,10 @@
|
|
|
2660
2672
|
"up_checks",
|
|
2661
2673
|
"down_checks",
|
|
2662
2674
|
"incident_count",
|
|
2663
|
-
"avg_response_time_ms"
|
|
2675
|
+
"avg_response_time_ms",
|
|
2676
|
+
"downtime_seconds",
|
|
2677
|
+
"observed_seconds",
|
|
2678
|
+
"window_start"
|
|
2664
2679
|
],
|
|
2665
2680
|
"type": "object"
|
|
2666
2681
|
},
|
|
@@ -5637,7 +5652,7 @@
|
|
|
5637
5652
|
{
|
|
5638
5653
|
"name": "get_uptime_daily",
|
|
5639
5654
|
"title": "Get a monitor's daily uptime",
|
|
5640
|
-
"description": "Report one monitor's uptime for each UTC day, oldest first and ending today, to find the day an outage or degradation began. Each day has date, uptime_percentage, total_checks, up_checks, down_checks, degraded_checks and maintenance_checks; a
|
|
5655
|
+
"description": "Report one monitor's uptime for each UTC day, oldest first and ending today, to find the day an outage or degradation began. Each day has date, uptime_percentage, downtime_seconds, observed_seconds, total_checks, up_checks, down_checks, degraded_checks and maintenance_checks. uptime_percentage is the share of the day's observed time outside confirmed outages (an outage counts from the first failing probe to the first probe that is not DOWN; a failure only one region saw does not count; maintenance counts as up; hours with no checks are left out); a day with no checks and no outage has a null uptime_percentage, not 100. The check counts are informational: a failed check outside a confirmed outage does not lower uptime_percentage. For 24h, 7d and 30d totals use get_uptime_summary. Returns monitor_id and days.",
|
|
5641
5656
|
"scope": "read",
|
|
5642
5657
|
"input_schema": {
|
|
5643
5658
|
"type": "object",
|
|
@@ -5713,6 +5728,14 @@
|
|
|
5713
5728
|
},
|
|
5714
5729
|
"maintenance_checks": {
|
|
5715
5730
|
"type": "integer"
|
|
5731
|
+
},
|
|
5732
|
+
"downtime_seconds": {
|
|
5733
|
+
"description": "Seconds of confirmed downtime inside the day.",
|
|
5734
|
+
"type": "integer"
|
|
5735
|
+
},
|
|
5736
|
+
"observed_seconds": {
|
|
5737
|
+
"description": "Seconds of the day the monitor was observed; uptime is measured over this time. Never less than downtime_seconds; 0 means no data.",
|
|
5738
|
+
"type": "integer"
|
|
5716
5739
|
}
|
|
5717
5740
|
},
|
|
5718
5741
|
"required": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fettle-mcp",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"mcpName": "sh.fettle/mcp",
|
|
5
5
|
"description": "Fettle uptime monitoring (https://fettle.sh) for any MCP client — manage monitors, incidents, heartbeats, maintenance windows and status pages from Claude, Cursor or Codex.",
|
|
6
6
|
"keywords": [
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"ssl-expiry",
|
|
21
21
|
"claude",
|
|
22
22
|
"claude-code",
|
|
23
|
+
"codex",
|
|
23
24
|
"cursor",
|
|
24
25
|
"windsurf"
|
|
25
26
|
],
|