fettle-mcp 0.5.4 → 0.6.1

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 CHANGED
@@ -3,7 +3,7 @@
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
@@ -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,
@@ -102,6 +120,8 @@ claude mcp add fettle --env FETTLE_API_KEY=fettle_your_key_here -- npx -y fettle
102
120
 
103
121
  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.
104
122
 
123
+ 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`.
124
+
105
125
  ### Monitors
106
126
 
107
127
  | Tool | Scope | What it does |
@@ -282,6 +302,15 @@ Clients configured through a JSON file take the same two fields:
282
302
  }
283
303
  ```
284
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
+
285
314
  Use this package when your client speaks only stdio, or when you would rather
286
315
  the credential stayed in a local config file than in a client's cloud
287
316
  configuration.