norc-mcp 0.1.0 → 0.2.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.
Files changed (2) hide show
  1. package/README.md +42 -2
  2. package/package.json +8 -7
package/README.md CHANGED
@@ -5,15 +5,55 @@ MCP server for connecting AI platforms (Claude, ChatGPT, etc.) to your [norc](ht
5
5
  ## Setup
6
6
 
7
7
  1. Generate a norc API key: vault → Settings → API Keys → Generate key.
8
- 2. Add this server to your MCP client's connector config, pointing at `https://mcp.norc.app/mcp` with your key as the Bearer token (exact field depends on the client).
8
+ 2. Install it for your client (below). Hosted option: point a client that supports remote servers at `https://mcp.norc.app/mcp` with your key as the Bearer token (exact field depends on the client).
9
+
10
+ ## Install
11
+
12
+ ### Claude Desktop
13
+
14
+ 1. Install [Node.js](https://nodejs.org) 20 or newer (Claude Desktop runs the server with `npx`).
15
+ 2. Open Claude Desktop → Settings → Developer → Edit Config. This opens `claude_desktop_config.json`:
16
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
17
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json` (Microsoft Store install: `%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json`)
18
+ 3. Add norc under `mcpServers` (keep any servers already there) and use your own key (vault → Settings → API Keys):
19
+ ```json
20
+ {
21
+ "mcpServers": {
22
+ "norc": {
23
+ "command": "npx",
24
+ "args": ["-y", "norc-mcp"],
25
+ "env": { "NORC_API_KEY": "norc_sk_..." }
26
+ }
27
+ }
28
+ }
29
+ ```
30
+ On Windows, `npx` is a `.cmd` script and may fail to launch directly; use `cmd` instead:
31
+ ```json
32
+ "command": "cmd",
33
+ "args": ["/c", "npx", "-y", "norc-mcp"]
34
+ ```
35
+ 4. Quit Claude Desktop completely and reopen it. Closing the window is not enough. norc's tools then appear in the tools menu.
36
+
37
+ ### Claude Code
38
+
39
+ Install the [norc plugin](https://github.com/norcapp/norc-claude-plugin), which adds slash commands and starts this server for you, or add it directly:
40
+
41
+ ```
42
+ claude mcp add norc --env NORC_API_KEY=norc_sk_... -- npx -y norc-mcp
43
+ ```
44
+
45
+ ### Other local MCP clients (Cursor, etc.)
46
+
47
+ Use the same `command` / `args` / `env` block as the Claude Desktop config above. Without `NORC_API_KEY` (or `--stdio`) the server starts in HTTP mode instead, and a missing or malformed key in stdio mode exits with an error.
9
48
 
10
49
  ## Tools
11
50
 
12
51
  - `list_jobs`, `create_job`, `update_job`, `delete_job`
13
52
  - `list_machines`, `rename_machine`, `delete_machine`
14
53
  - `list_runs`
54
+ - `sync_jobs` — declarative sync of your full job set (like `norc gitops`). Dry run by default; jobs not listed are deleted when `apply` is true. Needs the gitops sync feature enabled on your account.
15
55
 
16
- ## Self-hosting
56
+ ## Self-hosting (HTTP)
17
57
 
18
58
  This server is a thin, stateless client — it holds no secrets and no database access of its own. It only forwards your API key to `vault.norc.app` (or `$NORC_VAULT_URL`). Run your own instance if you'd like:
19
59
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "norc-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.2.2",
4
4
  "description": "MCP server for connecting AI platforms to your norc account — manage cron jobs, machines, and run history.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -31,13 +31,14 @@
31
31
  "test": "vitest run"
32
32
  },
33
33
  "dependencies": {
34
- "@modelcontextprotocol/sdk": "^1.0.0",
35
- "zod": "^4.4.3"
34
+ "@modelcontextprotocol/sdk": "^1.32.1",
35
+ "zod": "^4.6.7"
36
36
  },
37
37
  "devDependencies": {
38
- "typescript": "^5.5.0",
39
- "tsx": "^4.0.0",
40
- "vitest": "^2.0.0",
41
- "@types/node": "^22.0.0"
38
+ "@types/node": "^22.20.5",
39
+ "tsx": "^4.23.15",
40
+ "typescript": "^5.9.3",
41
+ "vite": "^8.3.5",
42
+ "vitest": "^5.0.5"
42
43
  }
43
44
  }