@timetick/mcp 0.1.0 → 0.2.0

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.
Files changed (2) hide show
  1. package/README.md +15 -0
  2. package/package.json +7 -5
package/README.md CHANGED
@@ -34,6 +34,11 @@ Cursor, Claude Code and other MCP clients take the same command and environment
34
34
  | -------------------- | -------- | ------------------------------------------------------------ |
35
35
  | `TIMETICK_API_TOKEN` | yes | Your Timetick API key, sent as `x-api-key` |
36
36
  | `TIMETICK_API_URL` | no | API endpoint (defaults to `https://app.timetick.io/graphql`) |
37
+ | `TIMETICK_MCP_READONLY` | no | `1` or `true` — read-only mode, see below |
38
+
39
+ ## Read-only mode
40
+
41
+ With `TIMETICK_MCP_READONLY=1` the server registers only tools annotated `readOnlyHint: true`; `power_on_simulator`, `power_off_simulator`, `run_simulator_action`, `create_test`, `run_test` and `stop_test_run` are left out.
37
42
 
38
43
  ## Projects and sim worlds
39
44
 
@@ -70,6 +75,16 @@ Projects, simulators and tests are addressed by name or by id, whichever you hav
70
75
 
71
76
  Lists come back 20 rows per page. Pass `page` and `pageSize` for the rest; every reply reports the total.
72
77
 
78
+ ### Support (read-only)
79
+
80
+ | Tool | Description |
81
+ | ---------------------- | ----------------------------------------------------------------------------------- |
82
+ | `get_simulator_config` | OCPP keys (credential values masked), behavior, model, connector types, last run |
83
+ | `get_simulator_logs` | OCPP messages in a window: `from`/`to` (ISO) or `last` (`30m`, `6h`), `limit`, `action` |
84
+ | `get_test_run_details` | A run's status and fail reason, one page of its simulators (`page`), and the steps of one `simulator` |
85
+
86
+ The `simulator` argument of every tool also takes a portal link, e.g. `https://app.timetick.io/projects/1/simulators/42?tab=testPlays`. A link is resolved by the simulator id in it, never by name.
87
+
73
88
  ### Control simulators
74
89
 
75
90
  | Tool | Description |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timetick/mcp",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Model Context Protocol (MCP) server for Timetick (https://app.timetick.io) platform",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "author": "Timetick <support@timetick.io>",
@@ -38,17 +38,19 @@
38
38
  "dev": "tsup --watch",
39
39
  "typecheck": "tsc --noEmit",
40
40
  "start": "node dist/index.js",
41
- "inspect": "npx @modelcontextprotocol/inspector node dist/index.js"
41
+ "inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
42
+ "test": "vitest run"
42
43
  },
43
44
  "dependencies": {
44
45
  "@modelcontextprotocol/sdk": "^1.12.0",
45
- "@timetick/sdk": "^2.0.1",
46
+ "@timetick/sdk": "^2.1.0",
46
47
  "graphql": "^16.0.0",
47
48
  "zod": "^4.4.3"
48
49
  },
49
50
  "devDependencies": {
50
51
  "@types/node": "^22.0.0",
51
52
  "tsup": "^8.0.0",
52
- "typescript": "^5.0.0"
53
+ "typescript": "^5.0.0",
54
+ "vitest": "4.1.10"
53
55
  }
54
- }
56
+ }