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 +30 -1
- package/contracts/mcp_tools.json +5310 -587
- package/dist/contract.d.ts +7 -0
- package/dist/contract.js +8 -0
- package/dist/contract.js.map +1 -1
- package/dist/executor.js +10 -1
- package/dist/executor.js.map +1 -1
- package/dist/server.js +7 -3
- package/dist/server.js.map +1 -1
- package/package.json +2 -1
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.
|