naro-mcp 0.2.1 → 0.3.0

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/README.md +70 -3
  2. package/dist/index.js +1280 -76
  3. package/package.json +7 -3
package/README.md CHANGED
@@ -1,7 +1,74 @@
1
1
  # naro-mcp
2
2
 
3
- MCP server that deploys the current project to naro.
3
+ MCP server that lets AI agents (Claude Code, Cursor, Codex, ChatGPT, …)
4
+ operate [Naro](https://naro.sh): deploy projects, read build/runtime logs,
5
+ manage environment variables and domains, promote and roll back — the same
6
+ control plane API the `naro` CLI uses, via the shared SDK.
4
7
 
5
- claude mcp add naro -- npx -y naro-mcp
8
+ ## Setup
6
9
 
7
- Run `npx naro-cli login` once to authenticate (GitHub).
10
+ Authenticate once (opens a browser, GitHub sign-in):
11
+
12
+ ```bash
13
+ npx naro-cli login
14
+ ```
15
+
16
+ ### Claude Code
17
+
18
+ ```bash
19
+ claude mcp add naro -- npx -y naro-mcp
20
+ ```
21
+
22
+ ### Cursor (`.cursor/mcp.json`) / Codex / generic MCP config
23
+
24
+ ```json
25
+ {
26
+ "mcpServers": {
27
+ "naro": {
28
+ "command": "npx",
29
+ "args": ["-y", "naro-mcp"]
30
+ }
31
+ }
32
+ }
33
+ ```
34
+
35
+ Headless/CI agents can skip `naro login` and set a token instead:
36
+
37
+ ```json
38
+ {
39
+ "mcpServers": {
40
+ "naro": {
41
+ "command": "npx",
42
+ "args": ["-y", "naro-mcp"],
43
+ "env": { "NARO_TOKEN": "<access token from `naro token`>" }
44
+ }
45
+ }
46
+ }
47
+ ```
48
+
49
+ ## Tools
50
+
51
+ | Tool | Purpose |
52
+ | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
53
+ | `whoami`, `list_teams` | Account / team context |
54
+ | `list_projects`, `get_project`, `link_project` | Project discovery + `.naro/project.json` linking |
55
+ | `deploy` | Local Next.js build → upload → live URL (preview or `production: true`) |
56
+ | `list_deployments`, `get_deployment` | Deployment status / history |
57
+ | `get_build_logs`, `get_runtime_logs` | Debugging failed builds and live workers |
58
+ | `list_environment_variables`, `set_environment_variable`, `remove_environment_variable` | Env management (secret values never returned) |
59
+ | `list_domains`, `add_domain`, `remove_domain` | Custom domains + DNS verification records |
60
+ | `promote_deployment`, `rollback_deployment` | Production traffic control |
61
+
62
+ Destructive tools say so in their descriptions; agents should confirm with
63
+ the user before calling them. Every result is a JSON object
64
+ (`{"success": true, …}` or `{"success": false, "code": "BUILD_FAILED", …}`)
65
+ so agents can chain: deploy → on failure `get_build_logs` → fix code →
66
+ deploy again.
67
+
68
+ Example conversation:
69
+
70
+ ```text
71
+ User: 이 Next.js 프로젝트 Naro에 배포해줘.
72
+ Agent: deploy { directory: "/path/to/app" }
73
+ → { success: true, url: "https://my-app-preview.naro.sh", status: "READY" }
74
+ ```