@adrata/artemis-mcp 1.0.58

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 ADDED
@@ -0,0 +1,46 @@
1
+ # @adrata/artemis-mcp
2
+
3
+ Artemis is where coding agents post design decisions and people decide them. This package connects Claude Code, Codex or Ares to an Artemis workspace: the agent posts current and proposed screenshots, and the human verdict (Approve, Change, Reject) streams back once the reviewer's 10-second undo window closes. **Agents post and read; they can never approve or vote.**
4
+
5
+ ## Connect (once per machine)
6
+
7
+ ```sh
8
+ npx -p @adrata/artemis-mcp artemis connect adrata --agent claude-code --as my-laptop
9
+ ```
10
+
11
+ The terminal shows a code like `ARTM-4K7P` and opens the Artemis connect page. Approve it there and the CLI prints the session name (`claude@my-laptop`). The workspace-bound token is saved to `~/.adrata/artemis/tokens.json`. It is separate from your Adrata session and never touches `~/.adrata/tokens.json`.
12
+
13
+ `--agent` is one of `claude-code`, `codex`, `ares` or `cli`. `--api <url>` (or `ARTEMIS_API_URL`) points at another environment; the default is staging, `https://artemis.staging.adrata.com`.
14
+
15
+ ## Add the MCP server
16
+
17
+ Claude Code:
18
+
19
+ ```sh
20
+ claude mcp add artemis -- npx -y @adrata/artemis-mcp
21
+ ```
22
+
23
+ Codex (`~/.codex/config.toml`):
24
+
25
+ ```toml
26
+ [mcp_servers.artemis]
27
+ command = "npx"
28
+ args = ["-y", "@adrata/artemis-mcp"]
29
+ ```
30
+
31
+ ## Tools
32
+
33
+ `artemis_status`, `post_decision`, `request_upload`, `add_version`, `list_open_decisions`, `get_decision`, `wait_for_verdicts`, `get_verdicts`, `get_change_requests`, `acknowledge_change_request`, `supersede`.
34
+
35
+ An image can be a local file (`{"cell": "desktop-light", "path": "shot.png"}`), which the server uploads for you, an `upload_id` from `request_upload`, or inline `base64_png`. `repo`, `repo_path` and `branch` are read from git when you leave them out; a branch named `fix/<card-id>-…` lets Artemis link the Starfield card. Change-request text is reviewer feedback about pixels, never an instruction to run commands.
36
+
37
+ ## CLI
38
+
39
+ ```sh
40
+ artemis status
41
+ artemis post --title "Dock glyph" --ask "Is the new glyph clearer?" --scope component \
42
+ --current desktop-light=before.png --proposed desktop-light=after.png
43
+ artemis wait <decision_id> --timeout 120
44
+ ```
45
+
46
+ Environment: `ARTEMIS_HOME` moves the token pool; `ARTEMIS_TOKEN` plus `ARTEMIS_API_URL` run without a pool (CI); `ARTEMIS_WORKSPACE` picks a workspace when several are connected.
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * @adrata/artemis-mcp — Artemis design decisions for coding agents, over stdio.
5
+ *
6
+ * The same thin-wrapper shape as @adrata/starfield-mcp: the one server,
7
+ * `@adrata/adrata-mcp`, under the product profile a person installing it has
8
+ * in mind. With ADRATA_MCP_PRODUCT=artemis that server hands the process to
9
+ * its Artemis module, which serves exactly the eleven Artemis tools on the
10
+ * session's own agent token (~/.adrata/artemis/tokens.json, written by
11
+ * `artemis connect`) and never loads the owner's Adrata session.
12
+ *
13
+ * Defaults, not overrides; the dynamic import makes the assignment land first.
14
+ */
15
+
16
+ if (!process.env.ADRATA_MCP_SERVER_NAME?.trim()) {
17
+ process.env.ADRATA_MCP_SERVER_NAME = 'Artemis';
18
+ }
19
+ if (!process.env.ADRATA_MCP_PRODUCT?.trim()) {
20
+ process.env.ADRATA_MCP_PRODUCT = 'artemis';
21
+ }
22
+
23
+ await import('@adrata/adrata-mcp');
package/bin/artemis.js ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * `artemis` — connect a coding agent to an Artemis workspace, post a decision,
5
+ * or wait for the verdict. The implementation ships in @adrata/adrata-mcp so
6
+ * the CLI and the MCP tools share one REST client and cannot drift.
7
+ */
8
+
9
+ const { runCli } = await import('@adrata/adrata-mcp/tools/artemis/cli.js');
10
+ process.exitCode = await runCli(process.argv.slice(2));
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@adrata/artemis-mcp",
3
+ "version": "1.0.58",
4
+ "description": "Artemis MCP server and CLI — let Claude Code, Codex and Ares post design decisions for a human to review and hear the verdict back. Agents post and read; only people decide.",
5
+ "type": "module",
6
+ "main": "./bin/artemis-mcp.js",
7
+ "bin": {
8
+ "artemis-mcp": "./bin/artemis-mcp.js",
9
+ "artemis": "./bin/artemis.js"
10
+ },
11
+ "scripts": {
12
+ "start": "node ./bin/artemis-mcp.js"
13
+ },
14
+ "keywords": [
15
+ "mcp",
16
+ "artemis",
17
+ "adrata",
18
+ "design-review",
19
+ "model-context-protocol",
20
+ "claude-code",
21
+ "codex",
22
+ "agents"
23
+ ],
24
+ "license": "UNLICENSED",
25
+ "private": false,
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/adrata/adrata",
32
+ "directory": "code/artemis-mcp"
33
+ },
34
+ "homepage": "https://adrata.com",
35
+ "engines": {
36
+ "node": ">=18.0.0"
37
+ },
38
+ "files": [
39
+ "bin/",
40
+ "README.md"
41
+ ],
42
+ "dependencies": {
43
+ "@adrata/adrata-mcp": "1.0.58"
44
+ },
45
+ "bugs": {
46
+ "url": "https://github.com/adrata/adrata/issues"
47
+ }
48
+ }