@systemdox/mcp-server 0.1.45 → 0.1.46

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
@@ -140,6 +140,52 @@ npx -y @systemdox/mcp-server install-skill <name> [--version n] [--target dir] [
140
140
  Exit codes: `0` installed, `1` usage / no key / API error, `2` refused because
141
141
  files there were edited.
142
142
 
143
+ ### Team setup (ADR-217)
144
+
145
+ Your workspace's Claude Code setup (hooks, MCP servers, agents, commands, the
146
+ skills your team chose, and one team `CLAUDE.md`) is published to SystemDox and
147
+ reaches every member's computer as one plugin, `<workspace>-setup`.
148
+
149
+ - **`publish_setup_part`** (both servers) publishes one part: `hooks`
150
+ (`hooks/hooks.json` and the `scripts/` it calls), `mcp` (`.mcp.json`),
151
+ `agents` (`agents/*.md`), `commands` (`commands/*.md`) or `instructions`
152
+ (`CLAUDE.md`). On your own computer pass `directory`: only the files the part
153
+ accepts are read, and a link, a binary file or a file over the limits stops it
154
+ before anything is sent. Every part but `instructions` makes a new plugin
155
+ version, which each member accepts at their next update. For `mcp`, every
156
+ `env` and `headers` value is replaced by a `${NAME}` reference to each
157
+ member's own environment variable. Publishing `hooks`, `mcp`, `agents` or
158
+ `commands` needs the admin role (SYD-A003 otherwise).
159
+ - **`resolve_person`** (both servers) reads back a person a team memory names
160
+ by identifier (`` `con_…` (reseller, sales) ``): their label, name, phone
161
+ number and email address. The details are for that session only; the memory
162
+ keeps the identifier. It writes nothing.
163
+
164
+ Claude Code runs two commands itself; you never type them:
165
+
166
+ ```bash
167
+ npx -y @systemdox/mcp-server marketplace-auth
168
+ npx -y @systemdox/mcp-server plugin-path <workspace> --version <n> --sha256 <hash>
169
+ ```
170
+
171
+ - `marketplace-auth` gives Claude Code the header for your team's marketplace.
172
+ It gives your key only for a SystemDox team marketplace on the API's own host
173
+ (`SYSTEMDOX_API_URL`, https), and only for that workspace; anything else gets
174
+ nothing and exit `1`. No network call, nothing written.
175
+ - `plugin-path` prints the folder of your team's plugin version. A version
176
+ already on your computer is printed with no network call. Otherwise it
177
+ downloads the zip, refuses it unless its SHA-256 is the one Claude Code
178
+ named, refuses an entry that is absolute, contains `..`, is a link or takes
179
+ the plugin past 20 MB, and only then unpacks it into
180
+ `~/.claude/systemdox/<workspace>/plugin/<n>/`. Exit codes: `0` the folder is
181
+ printed, `1` usage / no key / API error, `2` the SHA-256 differs or an entry
182
+ was refused.
183
+
184
+ Both read your key from `SYSTEMDOX_API_KEY`, then from
185
+ `~/.claude/systemdox/credentials.json` for the workspace (readable by you
186
+ alone). A key is never written into a settings file, a plugin entry or a
187
+ command line.
188
+
143
189
  ### `get_context`
144
190
 
145
191
  The aggregator. It ranks checks, specs and docs against the task, then