@plurnk/plurnk-mcp 1.20.0 → 1.21.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.
Files changed (3) hide show
  1. package/SPEC.md +1 -1
  2. package/docs/mcp.md +36 -48
  3. package/package.json +4 -4
package/SPEC.md CHANGED
@@ -265,7 +265,7 @@ remain in the linked input-contract documents. With tools, the runtime declares
265
265
  complete effective menu in the family Summary and survey row
266
266
  ({§scheme-catalog-aside}). Without authored purpose the menu stands alone. The tool
267
267
  doc's Summary section IS the invocation form
268
- ````` ````server (tool) <!-- one-liner --> `````, so the discovery row teaches the
268
+ ```` ```server (tool) <!-- one-liner --> ````, so the discovery row teaches the
269
269
  call ({§tools-resource-materialization}). Summary companions expand `${NAME}`
270
270
  references like every other companion.
271
271
 
package/docs/mcp.md CHANGED
@@ -1,82 +1,70 @@
1
1
  # mcp
2
2
 
3
3
  An MCP server publishes tools, and an enabled server is a runtime here under
4
- its own name. You run a tool the way you run `sh` or `node`: a fenced call
5
- names the server and the tool, and its body is the tool's JSON arguments.
4
+ its own name. A tool runs the way `sh` or `node` runs: a fenced call names the
5
+ server and the tool, and its body is the tool's JSON arguments.
6
6
 
7
- ````files (list_directory) <!-- server (tool) -->
7
+ ```files (list_directory) <!-- server (tool) -->
8
8
  {"path": "/absolute/project/path"}
9
- ````
9
+ ```
10
10
 
11
11
  One fenced call runs one tool, and the result is that call's output.
12
12
  `worker:///_plurnk/tools/<server>.md` lists a server's invocations and their
13
13
  required top-level inputs; each invocation links to the complete raw input
14
- schema when you need more detail.
15
-
16
- ## When to reach for a server
17
-
18
- - The turn-0 catalog lists every enabled server's document. Prefer a published
19
- tool over reimplementing the same capability in `sh` or `node`.
20
- - The user names a server or a tool that is not listed: `list` shows every
21
- configured server, including disabled ones and unavailable ones with their
22
- exact Problem; `enable` turns a configured server on.
23
- - Nothing configured fits: `discover` inspects a server before anything is
24
- attached.
14
+ schema. The turn-0 catalog lists every enabled server's document. `list`
15
+ shows every configured server, including disabled ones and unavailable ones
16
+ with their exact Problem; `enable` turns a configured server on; `discover`
17
+ inspects a server before anything is attached.
25
18
 
26
19
  ## discover, then add
27
20
 
28
21
  `discover` takes `{"source": "<URL or command line>"}`: the server is
29
22
  connected once, its tool list is read, and one inert candidate comes back
30
- carrying the exact definition to add. Discovery never persists or enables a server definition.
23
+ carrying the exact definition to add. Discovery never persists or enables a
24
+ server definition.
31
25
 
32
- ````mcp (discover) <!-- inspect before adding -->
26
+ ```mcp (discover) <!-- inspect before adding -->
33
27
  {"source": "npx -y @modelcontextprotocol/server-filesystem /absolute/project/path"}
34
- ````
28
+ ```
35
29
 
36
30
  `add` persists the definition for this workspace, connects, and enables it
37
- atomically. It is a host effect: it proposes and runs only on acceptance.
31
+ atomically. It is a host effect, admitted under the loop's policy.
38
32
 
39
- ````mcp (add)
33
+ ```mcp (add)
40
34
  {"alias": "files", "definition": {"name": "files", "transport": "stdio", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/absolute/project/path"]}}
41
- ````
35
+ ```
42
36
 
43
- A `stdio` definition carries `command` and optional `args`, `cwd`; an
44
- `http` definition carries `url` and optional `headers`. `tools` narrows the
45
- enabled tool set and `read` names the tools that are read-only (every other
46
- tool keeps the conservative `host` effect and proposes before it runs). A
47
- credential is a symbolic reference such as `"${TOKEN}"` to the operator's
48
- environment, never a pasted secret.
37
+ A `stdio` definition carries `command` and optional `args`, `cwd`; an `http`
38
+ definition carries `url` and optional `headers`. `tools` narrows the enabled
39
+ tool set and `read` names the tools that are read-only; every other tool keeps
40
+ the conservative `host` effect. A credential is a symbolic reference such as
41
+ `"${TOKEN}"` to the operator's environment, never a pasted secret.
49
42
 
50
- Local servers start in their workspace's server directory under `XDG_STATE_HOME`
51
- (normally `~/.local/state/plurnk`), not in the project. Use absolute paths for
52
- project inputs and outputs, or set `cwd` explicitly when a server requires it.
53
- State survives reconnects and disable/remove; a discovery probe uses a temporary
54
- directory removed after it closes. This is file placement, not a sandbox.
43
+ Local servers start in their workspace's server directory under
44
+ `XDG_STATE_HOME` (normally `~/.local/state/plurnk`), not in the project:
45
+ project inputs and outputs are absolute paths, or `cwd` is set explicitly when
46
+ a server requires it. State survives reconnects and disable/remove; a discovery
47
+ probe uses a temporary directory removed after it closes. This is file
48
+ placement, not a sandbox.
55
49
 
56
50
  ## Environment
57
51
 
58
- Set workspace variables with the `env` family (`worker:///_plurnk/plurnk/env.md`)
59
- before discovering or adding a local server. Worker-local overrides do not configure
60
- shared MCP processes.
61
-
62
- ````env (add)
63
- {"scope":"workspace","alias":"NODE_ENV","definition":{"value":"production"}}
64
- ````
65
-
66
- A running server keeps its launch environment; `disable` then `enable` restarts
67
- that server with the current workspace values. No daemon restart is needed.
52
+ Workspace variables, set with the `env` family (`env.md`) before discovering
53
+ or adding a local server, reach every server launch; worker-local overrides do
54
+ not. A running server keeps its launch environment; `disable` then `enable`
55
+ restarts it with the current workspace values, without a daemon restart.
68
56
 
69
57
  ## Authorization
70
58
 
71
59
  An `http` server that needs OAuth comes up `authorization-required` with an
72
- authorization URL. Only the user can complete that step, from
73
- their client; afterwards `enable` retries and the tools appear. Do not try to
74
- fetch the authorization URL or supply credentials in a body.
60
+ authorization URL. That step is the user's, from their client; a body carries
61
+ no credentials and the URL is not a resource to READ. Afterwards `enable`
62
+ retries and the tools appear.
75
63
 
76
64
  ## Lifecycle
77
65
 
78
66
  `disable` withdraws a server's tools while keeping its definition; `remove`
79
67
  deletes a workspace definition. Operator-configured servers
80
- (`PLURNK_MCP_<server>` in the service environment) can only be disabled. When
81
- a server's published tools change, its document is regenerated; `FIND` the
82
- reference again after enabling before relying on a tool's signature.
68
+ (`PLURNK_MCP_<server>` in the service environment) are disable-only. The
69
+ family document projects the enabled-tool snapshot: after `enable`, FIND the
70
+ reference again before relying on a tool's signature.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-mcp",
3
- "version": "1.20.0",
3
+ "version": "1.21.1",
4
4
  "description": "Current Model Context Protocol host module for Plurnk.",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -56,7 +56,7 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "@modelcontextprotocol/client": "2.0.0",
59
- "@plurnk/plurnk-contracts": "1.20.0"
59
+ "@plurnk/plurnk-contracts": "1.21.1"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@modelcontextprotocol/conformance": "0.2.0-alpha.11",
@@ -64,7 +64,7 @@
64
64
  "zod": "4.6.5"
65
65
  },
66
66
  "peerDependencies": {
67
- "@plurnk/plurnk-execs": "^1.20.0",
68
- "@plurnk/plurnk-schemes": "^1.20.0"
67
+ "@plurnk/plurnk-execs": "^1.21.1",
68
+ "@plurnk/plurnk-schemes": "^1.21.1"
69
69
  }
70
70
  }