@tinycloud/mcp 0.1.0-beta.2

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.
@@ -0,0 +1,148 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "tools": [
4
+ {
5
+ "name": "tinycloud_account_applications_list",
6
+ "operationId": "tinycloud.account.applications.list",
7
+ "operationVersion": 1,
8
+ "effects": [
9
+ "read"
10
+ ],
11
+ "postures": [
12
+ "owner-openkey",
13
+ "delegate-session",
14
+ "local-owner-key"
15
+ ],
16
+ "sensitiveOutput": true
17
+ },
18
+ {
19
+ "name": "tinycloud_account_spaces_list",
20
+ "operationId": "tinycloud.account.spaces.list",
21
+ "operationVersion": 1,
22
+ "effects": [
23
+ "read"
24
+ ],
25
+ "postures": [
26
+ "owner-openkey",
27
+ "delegate-session",
28
+ "local-owner-key"
29
+ ],
30
+ "sensitiveOutput": true
31
+ },
32
+ {
33
+ "name": "tinycloud_auth_capabilities",
34
+ "operationId": "tinycloud.auth.capabilities",
35
+ "operationVersion": 1,
36
+ "effects": [
37
+ "read"
38
+ ],
39
+ "postures": [
40
+ "owner-openkey",
41
+ "delegate-session",
42
+ "local-owner-key"
43
+ ],
44
+ "sensitiveOutput": false
45
+ },
46
+ {
47
+ "name": "tinycloud_auth_import",
48
+ "operationId": "tinycloud.auth.import",
49
+ "operationVersion": 1,
50
+ "effects": [
51
+ "local_write"
52
+ ],
53
+ "postures": [
54
+ "owner-openkey",
55
+ "delegate-session",
56
+ "local-owner-key"
57
+ ],
58
+ "sensitiveOutput": false
59
+ },
60
+ {
61
+ "name": "tinycloud_auth_request",
62
+ "operationId": "tinycloud.auth.request",
63
+ "operationVersion": 1,
64
+ "effects": [
65
+ "local_write"
66
+ ],
67
+ "postures": [
68
+ "owner-openkey",
69
+ "delegate-session",
70
+ "local-owner-key"
71
+ ],
72
+ "sensitiveOutput": false
73
+ },
74
+ {
75
+ "name": "tinycloud_auth_status",
76
+ "operationId": "tinycloud.auth.status",
77
+ "operationVersion": 1,
78
+ "effects": [
79
+ "read"
80
+ ],
81
+ "postures": [
82
+ "owner-openkey",
83
+ "delegate-session",
84
+ "local-owner-key",
85
+ "unauthenticated"
86
+ ],
87
+ "sensitiveOutput": false
88
+ },
89
+ {
90
+ "name": "tinycloud_kv_get",
91
+ "operationId": "tinycloud.kv.get",
92
+ "operationVersion": 1,
93
+ "effects": [
94
+ "read"
95
+ ],
96
+ "postures": [
97
+ "owner-openkey",
98
+ "delegate-session",
99
+ "local-owner-key"
100
+ ],
101
+ "sensitiveOutput": true
102
+ },
103
+ {
104
+ "name": "tinycloud_kv_list",
105
+ "operationId": "tinycloud.kv.list",
106
+ "operationVersion": 1,
107
+ "effects": [
108
+ "read"
109
+ ],
110
+ "postures": [
111
+ "owner-openkey",
112
+ "delegate-session",
113
+ "local-owner-key"
114
+ ],
115
+ "sensitiveOutput": true
116
+ },
117
+ {
118
+ "name": "tinycloud_secrets_get",
119
+ "operationId": "tinycloud.secrets.get",
120
+ "operationVersion": 1,
121
+ "effects": [
122
+ "read",
123
+ "local_write"
124
+ ],
125
+ "postures": [
126
+ "owner-openkey",
127
+ "delegate-session",
128
+ "local-owner-key"
129
+ ],
130
+ "sensitiveOutput": true
131
+ },
132
+ {
133
+ "name": "tinycloud_status",
134
+ "operationId": "tinycloud.status.get",
135
+ "operationVersion": 1,
136
+ "effects": [
137
+ "read"
138
+ ],
139
+ "postures": [
140
+ "owner-openkey",
141
+ "delegate-session",
142
+ "local-owner-key",
143
+ "unauthenticated"
144
+ ],
145
+ "sensitiveOutput": false
146
+ }
147
+ ]
148
+ }
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@tinycloud/mcp",
3
+ "version": "0.1.0-beta.2",
4
+ "description": "TinyCloud delegated operations MCP server",
5
+ "author": "TinyCloud, Inc.",
6
+ "license": "EGPL",
7
+ "type": "module",
8
+ "main": "dist/index.cjs",
9
+ "module": "dist/index.js",
10
+ "types": "dist/index.d.ts",
11
+ "bin": {
12
+ "tinycloud-mcp": "./bin/tinycloud-mcp"
13
+ },
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.js",
18
+ "require": "./dist/index.cjs"
19
+ },
20
+ "./server": {
21
+ "types": "./dist/server.d.ts",
22
+ "import": "./dist/server.js",
23
+ "require": "./dist/server.cjs"
24
+ },
25
+ "./tools": {
26
+ "types": "./dist/tools.d.ts",
27
+ "import": "./dist/tools.js",
28
+ "require": "./dist/tools.cjs"
29
+ },
30
+ "./results": {
31
+ "types": "./dist/results.d.ts",
32
+ "import": "./dist/results.js",
33
+ "require": "./dist/results.cjs"
34
+ }
35
+ },
36
+ "files": [
37
+ "dist",
38
+ "bin",
39
+ "generated",
40
+ "skills"
41
+ ],
42
+ "engines": {
43
+ "node": ">=20"
44
+ },
45
+ "scripts": {
46
+ "build": "tsup",
47
+ "clean": "rm -rf dist",
48
+ "test": "bun run build && bun scripts/test.ts && bun run check:generated",
49
+ "test:stdio": "bun run build && bun test src/stdio.test.ts",
50
+ "typecheck": "tsc -p tsconfig.json",
51
+ "generate": "bun scripts/generate.ts",
52
+ "check:generated": "bun scripts/generate.ts --check"
53
+ },
54
+ "dependencies": {
55
+ "@modelcontextprotocol/server": "2.0.0-beta.4",
56
+ "@tinycloud/operations": "0.1.0-beta.2"
57
+ },
58
+ "devDependencies": {
59
+ "@modelcontextprotocol/client": "2.0.0-beta.4",
60
+ "@types/node": "^20",
61
+ "tsup": "^8.0.0",
62
+ "typescript": "^5.9.3"
63
+ },
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "https://github.com/tinycloudlabs/web-sdk"
67
+ }
68
+ }
@@ -0,0 +1,86 @@
1
+ # TinyCloud delegated exploration and secrets
2
+
3
+ Use the TinyCloud MCP tools as a resumable authority workflow. Never ask the
4
+ user to paste a secret value, private key, token, or delegation credential into
5
+ chat.
6
+
7
+ <!-- BEGIN GENERATED TINYCloud operation facts -->
8
+ The following facts are generated from `@tinycloud/operations/operations.json`:
9
+
10
+ - `tinycloud_account_applications_list` -> `tinycloud.account.applications.list@1`; effects: read; postures: owner-openkey, delegate-session, local-owner-key; sensitive output: yes.
11
+ - `tinycloud_account_spaces_list` -> `tinycloud.account.spaces.list@1`; effects: read; postures: owner-openkey, delegate-session, local-owner-key; sensitive output: yes.
12
+ - `tinycloud_auth_capabilities` -> `tinycloud.auth.capabilities@1`; effects: read; postures: owner-openkey, delegate-session, local-owner-key; sensitive output: no.
13
+ - `tinycloud_auth_import` -> `tinycloud.auth.import@1`; effects: local_write; postures: owner-openkey, delegate-session, local-owner-key; sensitive output: no.
14
+ - `tinycloud_auth_request` -> `tinycloud.auth.request@1`; effects: local_write; postures: owner-openkey, delegate-session, local-owner-key; sensitive output: no.
15
+ - `tinycloud_auth_status` -> `tinycloud.auth.status@1`; effects: read; postures: owner-openkey, delegate-session, local-owner-key, unauthenticated; sensitive output: no.
16
+ - `tinycloud_kv_get` -> `tinycloud.kv.get@1`; effects: read; postures: owner-openkey, delegate-session, local-owner-key; sensitive output: yes.
17
+ - `tinycloud_kv_list` -> `tinycloud.kv.list@1`; effects: read; postures: owner-openkey, delegate-session, local-owner-key; sensitive output: yes.
18
+ - `tinycloud_secrets_get` -> `tinycloud.secrets.get@1`; effects: read, local_write; postures: owner-openkey, delegate-session, local-owner-key; sensitive output: yes.
19
+ - `tinycloud_status` -> `tinycloud.status.get@1`; effects: read; postures: owner-openkey, delegate-session, local-owner-key, unauthenticated; sensitive output: no.
20
+ <!-- END GENERATED TINYCloud operation facts -->
21
+
22
+ <!-- BEGIN GENERATED TINYCloud operations coverage -->
23
+ Coverage is generated from the Commander registration ledger; legacy commands are not MCP tools.
24
+
25
+ - 1 migrated registration(s).
26
+ - 1 partially migrated registration(s).
27
+ - 111 legacy registration(s) remain Commander-owned.
28
+ - `auth import [source]` → `tinycloud.auth.import@1` (partially-migrated; remaining legacy inputs: v1 delegation artifact, v1 permission artifact without command, bare portable delegation, stored delegation wrapper, cross-user delegation persisted with activated=false).
29
+ - `secrets get <name>` → `tinycloud.secrets.get@1` (migrated).
30
+ <!-- END GENERATED TINYCloud operations coverage -->
31
+
32
+ ## Account and KV exploration
33
+
34
+ 1. A fresh `delegate-session` profile must first bootstrap its session through
35
+ the CLI: emit one exact `tc auth request --cap ...` artifact, have the owner
36
+ grant that artifact, and import the result with `tc auth import`. Start MCP
37
+ only after the import succeeds.
38
+ 2. Inspect posture with `tinycloud_status` or `tinycloud_auth_status`.
39
+ 3. Call `tinycloud_account_spaces_list` and
40
+ `tinycloud_account_applications_list`. If either returns
41
+ `authority_required`, give the exact structured request to the account
42
+ owner for `tc auth grant --stdin --yes`, then import the returned artifact
43
+ with `tinycloud_auth_import`.
44
+ 4. Choose a non-secrets space from those results. Use `tinycloud_kv_list` with
45
+ an exact space and prefix. Follow the same request, owner grant, import,
46
+ restart, and retry sequence when authority is required.
47
+ 5. Use `tinycloud_kv_get` for one exact returned key. A list grant does not
48
+ imply get authority; request and import the exact get grant when required.
49
+ 6. Do not broaden a path, substitute a sibling key, change the audience, or
50
+ use generic KV tools against a secrets space. Use `tinycloud_secrets_get`
51
+ for secrets.
52
+
53
+ ## Secret workflow
54
+
55
+ 1. Inspect posture first with `tinycloud_status` or `tinycloud_auth_status`.
56
+ Treat `delegate-session` as delegated authority even when its owner DID is
57
+ the target space owner. Do not infer owner authority from metadata.
58
+ 2. Call `tinycloud_secrets_get` with the validated secret reference (`name`,
59
+ and optional `scope` or `space`). If the result is `authority_required`,
60
+ do not retry blindly and do not infer whether the secret exists.
61
+ 3. Present the exact structured `request` and its exact `approval` OpenKey
62
+ action to the user for out-of-band approval. Preserve the request ID and
63
+ do not edit, broaden, or replace its requested entries.
64
+ 4. In a later call, use `tinycloud_auth_import` with the returned request ID
65
+ and the approved delegation artifact. A process restart is expected to be
66
+ safe. If the session rotated, the old artifact must be rejected with an
67
+ audience mismatch; rerun the original secret call for a new request.
68
+ 5. Retry the original `tinycloud_secrets_get` call after a successful import.
69
+ The successful structured result is authoritative. Do not copy its value
70
+ into text, a follow-up message, diagnostics, or a transcript summary.
71
+ 6. If the result is `setup_required`, show the structured Secret Manager setup
72
+ link. The link contains only the secret reference and target space; it never
73
+ contains a secret value.
74
+
75
+ MCP hosts may retain tool arguments and successful results in their own
76
+ transcripts, caches, or evaluation records. TinyCloud controls only its own
77
+ logs and local profile state, not host-side transcript retention. Hosts should
78
+ apply their own sensitive-result retention and access controls.
79
+
80
+ This proving surface uses local stdio only. It has no continuation tool,
81
+ resources, prompts, elicitation, remote transport, generic permission grant,
82
+ or secret mutation tool.
83
+
84
+ This is a beta surface. Delegated posture is the default; owner-profile data
85
+ access requires explicit opt-in. The user must enter secrets only in Secret
86
+ Manager, never in chat.