@usex/mikrotik-mcp 3.25.0 → 3.27.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.
- package/dist/cli.js +444 -25
- package/dist/index.d.ts +35 -18
- package/dist/index.js +130 -20
- package/dist/ui/observability.html +41 -41
- package/package.json +1 -1
- package/schemas/README.md +1 -1
- package/schemas/config.schema.json +17 -2
- package/schemas/tool-catalog.json +51 -11
- package/schemas/tools/disable_sstp_client.json +12 -0
- package/schemas/tools/enable_sstp_client.json +12 -0
- package/schemas/tools/sign_certificate.json +2 -6
package/package.json
CHANGED
package/schemas/README.md
CHANGED
|
@@ -7,7 +7,7 @@ edit by hand — regenerate instead.
|
|
|
7
7
|
| File | Contents |
|
|
8
8
|
| -------------------- | ------------------------------------------------------------------------------------------ |
|
|
9
9
|
| `config.schema.json` | The runtime configuration object (env vars / CLI flags). |
|
|
10
|
-
| `tool-catalog.json` | Every one of the
|
|
10
|
+
| `tool-catalog.json` | Every one of the 738 tools: `name`, `risk`, `title`, `description`, and input JSON Schema. |
|
|
11
11
|
| `tools/<name>.json` | The input JSON Schema for a single tool. |
|
|
12
12
|
|
|
13
13
|
`risk` is derived from the MCP tool annotations:
|
|
@@ -86,7 +86,8 @@
|
|
|
86
86
|
"port": 8000,
|
|
87
87
|
"allowedHosts": "",
|
|
88
88
|
"allowedOrigins": "",
|
|
89
|
-
"corsOrigins": ""
|
|
89
|
+
"corsOrigins": "",
|
|
90
|
+
"toolPageSize": 0
|
|
90
91
|
},
|
|
91
92
|
"type": "object",
|
|
92
93
|
"properties": {
|
|
@@ -116,9 +117,23 @@
|
|
|
116
117
|
"corsOrigins": {
|
|
117
118
|
"default": "",
|
|
118
119
|
"type": "string"
|
|
120
|
+
},
|
|
121
|
+
"toolPageSize": {
|
|
122
|
+
"default": 0,
|
|
123
|
+
"type": "integer",
|
|
124
|
+
"minimum": 0,
|
|
125
|
+
"maximum": 9007199254740991
|
|
119
126
|
}
|
|
120
127
|
},
|
|
121
|
-
"required": [
|
|
128
|
+
"required": [
|
|
129
|
+
"transport",
|
|
130
|
+
"host",
|
|
131
|
+
"port",
|
|
132
|
+
"allowedHosts",
|
|
133
|
+
"allowedOrigins",
|
|
134
|
+
"corsOrigins",
|
|
135
|
+
"toolPageSize"
|
|
136
|
+
],
|
|
122
137
|
"additionalProperties": false
|
|
123
138
|
},
|
|
124
139
|
"s3": {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.26.0",
|
|
4
4
|
"generated": "by scripts/gen-schemas.ts — do not edit by hand",
|
|
5
|
-
"toolCount":
|
|
5
|
+
"toolCount": 738,
|
|
6
6
|
"tools": [
|
|
7
7
|
{
|
|
8
8
|
"name": "list_interfaces",
|
|
@@ -14314,21 +14314,17 @@
|
|
|
14314
14314
|
"destructiveHint": false,
|
|
14315
14315
|
"openWorldHint": false
|
|
14316
14316
|
},
|
|
14317
|
-
"description": "Signs an existing certificate template (`/certificate sign`) to produce a valid certificate. Omit `ca` to produce a self-signed certificate; supply the name of an existing CA certificate in `ca` to issue it under that CA.
|
|
14317
|
+
"description": "Signs an existing certificate template (`/certificate sign`) to produce a valid certificate. Omit `ca` to produce a self-signed certificate; supply the name of an existing CA certificate in `ca` to issue it under that CA. IMPORTANT: certificate stores are PER-DEVICE — the template (and the `ca`, if given) must live on the SAME router this runs on. A 'CA not found' error almost always means the template or CA was created on a different device; verify with list_certificates on this device first (and check the targeting). Set the common name (CN) when you create the template (create_certificate), not here — `/certificate sign` has no CN option. May run for several seconds while the device generates key material. Returns the signing operation output from the device.",
|
|
14318
14318
|
"inputSchema": {
|
|
14319
14319
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
14320
14320
|
"type": "object",
|
|
14321
14321
|
"properties": {
|
|
14322
14322
|
"name": {
|
|
14323
14323
|
"type": "string",
|
|
14324
|
-
"description": "Name of the certificate to sign"
|
|
14324
|
+
"description": "Name of the certificate template to sign"
|
|
14325
14325
|
},
|
|
14326
14326
|
"ca": {
|
|
14327
|
-
"description": "Name of the CA certificate to sign with (omit to self-sign)",
|
|
14328
|
-
"type": "string"
|
|
14329
|
-
},
|
|
14330
|
-
"common_name": {
|
|
14331
|
-
"description": "Override the common name when signing",
|
|
14327
|
+
"description": "Name of the CA certificate to sign with (must exist on THIS device; omit to self-sign)",
|
|
14332
14328
|
"type": "string"
|
|
14333
14329
|
}
|
|
14334
14330
|
},
|
|
@@ -17872,7 +17868,51 @@
|
|
|
17872
17868
|
"idempotentHint": true,
|
|
17873
17869
|
"openWorldHint": false
|
|
17874
17870
|
},
|
|
17875
|
-
"description": "Permanently delete an SSTP client tunnel interface (`/interface sstp-client remove [find name=...]`) by interface name. First verifies the interface exists (count-only check), then removes it; the tunnel is torn down immediately and the action is irreversible. Use `list_sstp_clients` to confirm the interface name before calling this tool. For L2TP, OpenVPN, or PPTP client interfaces see their respective tool scopes (`create_l2tp_client`, `create_ovpn_client`, `create_pptp_client`). To
|
|
17871
|
+
"description": "Permanently delete an SSTP client tunnel interface (`/interface sstp-client remove [find name=...]`) by interface name. First verifies the interface exists (count-only check), then removes it; the tunnel is torn down immediately and the action is irreversible. Use `list_sstp_clients` to confirm the interface name before calling this tool. For L2TP, OpenVPN, or PPTP client interfaces see their respective tool scopes (`create_l2tp_client`, `create_ovpn_client`, `create_pptp_client`). To deactivate the interface without deleting it use `disable_sstp_client` (re-activate with `enable_sstp_client`). Returns a confirmation message on success or a not-found message if the name does not exist.",
|
|
17872
|
+
"inputSchema": {
|
|
17873
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
17874
|
+
"type": "object",
|
|
17875
|
+
"properties": {
|
|
17876
|
+
"name": {
|
|
17877
|
+
"type": "string"
|
|
17878
|
+
}
|
|
17879
|
+
},
|
|
17880
|
+
"required": ["name"],
|
|
17881
|
+
"additionalProperties": false
|
|
17882
|
+
}
|
|
17883
|
+
},
|
|
17884
|
+
{
|
|
17885
|
+
"name": "enable_sstp_client",
|
|
17886
|
+
"title": "Enable SSTP Client Interface",
|
|
17887
|
+
"risk": "write-idempotent",
|
|
17888
|
+
"annotations": {
|
|
17889
|
+
"destructiveHint": false,
|
|
17890
|
+
"idempotentHint": true,
|
|
17891
|
+
"openWorldHint": false
|
|
17892
|
+
},
|
|
17893
|
+
"description": "Enables a disabled SSTP client interface (`/interface sstp-client enable [find name=...]`), causing the router to dial out and attempt the TLS connection to the remote SSTP server. Use to activate a tunnel that was created disabled or stopped with `disable_sstp_client`. For L2TP/PPTP/OpenVPN tunnels use their own enable tools. Identifies the interface by name — create one with `create_sstp_client`.",
|
|
17894
|
+
"inputSchema": {
|
|
17895
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
17896
|
+
"type": "object",
|
|
17897
|
+
"properties": {
|
|
17898
|
+
"name": {
|
|
17899
|
+
"type": "string"
|
|
17900
|
+
}
|
|
17901
|
+
},
|
|
17902
|
+
"required": ["name"],
|
|
17903
|
+
"additionalProperties": false
|
|
17904
|
+
}
|
|
17905
|
+
},
|
|
17906
|
+
{
|
|
17907
|
+
"name": "disable_sstp_client",
|
|
17908
|
+
"title": "Disable SSTP Client Interface",
|
|
17909
|
+
"risk": "write-idempotent",
|
|
17910
|
+
"annotations": {
|
|
17911
|
+
"destructiveHint": false,
|
|
17912
|
+
"idempotentHint": true,
|
|
17913
|
+
"openWorldHint": false
|
|
17914
|
+
},
|
|
17915
|
+
"description": "Disables an active SSTP client interface (`/interface sstp-client disable [find name=...]`), tearing down the tunnel without removing its configuration. Use to temporarily stop a tunnel while preserving its settings for later reuse. To re-enable use `enable_sstp_client`; to permanently remove use `remove_sstp_client`.",
|
|
17876
17916
|
"inputSchema": {
|
|
17877
17917
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
17878
17918
|
"type": "object",
|
|
@@ -21177,7 +21217,7 @@
|
|
|
21177
21217
|
"idempotentHint": true,
|
|
21178
21218
|
"openWorldHint": false
|
|
21179
21219
|
},
|
|
21180
|
-
"description": "List all MikroTik devices registered in this server's configuration (server-side metadata — no RouterOS command is run, no SSH connection is opened). Use this to discover the exact device name strings required by the `device` argument on every other tool, especially when working across multiple routers (e.g. building a tunnel between two devices). Returns each device's name, username, host, port, auth method (key / password / none), optional description, and which entry is the default. Credentials and private-key material are never included in the output.",
|
|
21220
|
+
"description": "List all MikroTik devices registered in this server's configuration (server-side metadata — no RouterOS command is run, no SSH connection is opened). Use this to discover the exact device name strings required by the `device` argument on every other tool, especially when working across multiple routers (e.g. building a tunnel between two devices). Returns each device's name, username, host, port, auth method (key / password / none), optional description, and which entry is the default. This name → host:port mapping is FIXED for the life of the server process — it does NOT change mid-session, so a given device name always reaches the same physical router. Call this to verify the exact target before any write/destructive change when several routers are configured. Credentials and private-key material are never included in the output.",
|
|
21181
21221
|
"inputSchema": {
|
|
21182
21222
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
21183
21223
|
"type": "object",
|
|
@@ -5,14 +5,10 @@
|
|
|
5
5
|
"properties": {
|
|
6
6
|
"name": {
|
|
7
7
|
"type": "string",
|
|
8
|
-
"description": "Name of the certificate to sign"
|
|
8
|
+
"description": "Name of the certificate template to sign"
|
|
9
9
|
},
|
|
10
10
|
"ca": {
|
|
11
|
-
"description": "Name of the CA certificate to sign with (omit to self-sign)",
|
|
12
|
-
"type": "string"
|
|
13
|
-
},
|
|
14
|
-
"common_name": {
|
|
15
|
-
"description": "Override the common name when signing",
|
|
11
|
+
"description": "Name of the CA certificate to sign with (must exist on THIS device; omit to self-sign)",
|
|
16
12
|
"type": "string"
|
|
17
13
|
}
|
|
18
14
|
},
|