@aipermission/mcp 0.2.11 → 0.2.13

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
@@ -66,6 +66,12 @@ RabbitMQ, Docker, Kubernetes, and future connectors share the same model: target
66
66
  credential profile, connector action, token action permission, approval,
67
67
  history, and audit.
68
68
 
69
+ Projects group connector targets for one local developer. Each MCP token has an
70
+ enabled project scope in addition to its target/profile/action grants. Targets
71
+ from disabled projects are omitted from discovery and rejected on direct calls;
72
+ their saved action grants are preserved for later re-enablement. Projects are
73
+ not multi-user or hosted RBAC.
74
+
69
75
  For SSH, call `get_connector_actions(target_ref)` to discover actions such as
70
76
  `exec`, `read_console`, `restart_console_session`, `browse_remote_files`, and
71
77
  `start_file_download`. SSH `exec` is intended for non-interactive commands. Use
@@ -28,7 +28,9 @@ Before acting:
28
28
  5. Call `call_connector_action(target_ref, action_name, input, reason)`.
29
29
 
30
30
  If no target is visible, say that the current token has no accessible connector
31
- targets. If an action grant includes `expires_at`, treat access as temporary and
31
+ targets. A target can be absent because its project is disabled for the token or
32
+ because no effective action grant exists; do not claim that it was deleted or
33
+ is offline. If an action grant includes `expires_at`, treat access as temporary and
32
34
  finish within that maintenance window or ask the operator to extend access.
33
35
 
34
36
  Target visibility is permission-scoped, not a live health check. A visible SSH
@@ -151,6 +153,30 @@ explicitly supports that behavior.
151
153
  MCP connector responses never include file contents, gateway temp paths, archive
152
154
  staging paths, or local upload contents.
153
155
 
156
+ ## S3/Object Storage Practice
157
+
158
+ For S3 connector targets, discover actions with `get_connector_actions` and
159
+ prefer this sequence:
160
+
161
+ 1. Use `bucket_info` only to verify bucket reachability or endpoint metadata.
162
+ 2. Use `list_objects` to browse. Pass `prefix` to enter a folder-like prefix,
163
+ and use `browse_input` from directory entries when it is returned.
164
+ 3. Use `cursor` from `next_cursor` or `next_page_input` for pagination. Do not
165
+ send fields named `continuation_token`; S3 pagination tokens are not
166
+ credentials here, but the connector exposes them as `cursor` to avoid
167
+ secret-like input names.
168
+ 4. Use `get_object_metadata` before `download_object` when you only need size,
169
+ type, headers, or existence.
170
+ 5. Use `download_object` only for bounded object reads explicitly requested by
171
+ the operator.
172
+ 6. Keep `overwrite=false` for `upload_object` and `rename_object` unless the
173
+ operator explicitly approved replacement.
174
+ 7. Treat `delete_object` as destructive and ask for explicit confirmation if
175
+ approval mode does not already provide it.
176
+
177
+ Object content may contain secrets or customer data. Avoid downloading or
178
+ echoing object contents unless the operator asked for that exact object.
179
+
154
180
  ## Secret Hygiene
155
181
 
156
182
  Command text, action input, action output, history, audit records, and console
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aipermission/mcp",
3
- "version": "0.2.11",
3
+ "version": "0.2.13",
4
4
  "mcpName": "io.github.aipermission/aipermission-mcp",
5
5
  "description": "Local-first MCP bridge for the aipermission gateway.",
6
6
  "license": "AGPL-3.0-only",
package/server.json CHANGED
@@ -3,12 +3,12 @@
3
3
  "name": "io.github.aipermission/aipermission-mcp",
4
4
  "title": "AIPermission",
5
5
  "description": "Local-first MCP bridge for the AIPermission gateway.",
6
- "version": "0.2.11",
6
+ "version": "0.2.13",
7
7
  "packages": [
8
8
  {
9
9
  "registryType": "npm",
10
10
  "identifier": "@aipermission/mcp",
11
- "version": "0.2.11",
11
+ "version": "0.2.13",
12
12
  "transport": {
13
13
  "type": "stdio"
14
14
  }