@awesomate/hosting-mcp 0.6.0 → 0.6.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awesomate/hosting-mcp",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Awesomate MCP server — lets Claude manage your Awesomate WordPress hosting, plan, limits, and n8n automations",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -43,8 +43,23 @@ network or the API base — not an auth problem; say so.
43
43
 
44
44
  If this skill is loaded but **no `awesomate_*` tools exist in the session at
45
45
  all**, the MCP server was registered after Claude Code started (the bootstrap
46
- just ran). Don't investigate settings files or reinstall anything — ask the
47
- user to restart Claude Code and try again.
46
+ just ran). Don't investigate settings files or reinstall anything — and don't
47
+ make a restart the precondition for showing the user their own data. The
48
+ skill works right now over REST: read `apiBase` and `pat` from
49
+ `~/.awesomate/credentials.json` (never echo the pat into the conversation)
50
+ and GET with `Authorization: Bearer <pat>`:
51
+
52
+ | MCP tool | REST equivalent |
53
+ |---|---|
54
+ | `awesomate_get_context` | `GET {apiBase}/api/hosting-access/context` |
55
+ | `awesomate_get_hosting_status` | `GET {apiBase}/api/client-hosting/status` |
56
+ | `awesomate_get_hosting_account` | `GET {apiBase}/api/client-hosting/account` |
57
+ | `awesomate_list_sites` | `GET {apiBase}/api/client-hosting/sites` |
58
+ | `awesomate_list_domains` | `GET {apiBase}/api/client-hosting/domains` |
59
+ | `awesomate_get_limits` | `GET {apiBase}/api/client-hosting/limits` |
60
+
61
+ Serve the request with these now, then suggest restarting Claude Code at a
62
+ natural break so the richer MCP integration loads.
48
63
 
49
64
  ## 1. The plan model (so your nudges are accurate)
50
65
 
@@ -146,17 +146,17 @@ async function main() {
146
146
 
147
147
  // Register the MCP server. Prefer the Claude CLI if present; otherwise print
148
148
  // the config for Claude to apply.
149
- const cmd = `claude mcp add awesomate-hosting --env AWESOMATE_PAT=${redeemed.pat} --env AWESOMATE_API_BASE=${apiBase} -- npx -y @awesomate/hosting-mcp`;
149
+ const cmd = `claude mcp add awesomate-hosting --env AWESOMATE_PAT=${redeemed.pat} --env AWESOMATE_API_BASE=${apiBase} -- npx -y -p @awesomate/hosting-mcp awesomate-hosting-mcp`;
150
150
  let registered = false;
151
151
  try {
152
- execFileSync('claude', ['mcp', 'add', 'awesomate-hosting', '--env', `AWESOMATE_PAT=${redeemed.pat}`, '--env', `AWESOMATE_API_BASE=${apiBase}`, '--', 'npx', '-y', '@awesomate/hosting-mcp'], { stdio: 'ignore' });
152
+ execFileSync('claude', ['mcp', 'add', 'awesomate-hosting', '--env', `AWESOMATE_PAT=${redeemed.pat}`, '--env', `AWESOMATE_API_BASE=${apiBase}`, '--', 'npx', '-y', '-p', '@awesomate/hosting-mcp', 'awesomate-hosting-mcp'], { stdio: 'ignore' });
153
153
  registered = true;
154
154
  console.log('✓ Registered the Awesomate Hosting MCP server with Claude Code.');
155
155
  } catch {
156
156
  console.log('\nAdd the Awesomate Hosting MCP server to this project — run:');
157
157
  console.log(` ${cmd}`);
158
158
  console.log('…or add to .mcp.json:');
159
- console.log(JSON.stringify({ mcpServers: { 'awesomate-hosting': { command: 'npx', args: ['-y', '@awesomate/hosting-mcp'], env: { AWESOMATE_PAT: redeemed.pat, AWESOMATE_API_BASE: apiBase } } } }, null, 2));
159
+ console.log(JSON.stringify({ mcpServers: { 'awesomate-hosting': { command: 'npx', args: ['-y', '-p', '@awesomate/hosting-mcp', 'awesomate-hosting-mcp'], env: { AWESOMATE_PAT: redeemed.pat, AWESOMATE_API_BASE: apiBase } } } }, null, 2));
160
160
  }
161
161
 
162
162
  // SSH key (Support Plus+): best-effort. If it fails (e.g. hosting not fully
@@ -186,7 +186,7 @@ async function main() {
186
186
  }
187
187
 
188
188
  console.log('\nSetup complete. Next: ask me to read your plan, list your sites, and tell you what we can do.');
189
- if (!registered) console.log('(Restart Claude Code first so it picks up the new MCP server.)');
189
+ if (!registered) console.log('(The skill works in your current Claude session right away via its REST fallback — restart Claude Code when convenient to load the MCP tools.)');
190
190
  }
191
191
 
192
192
  main().catch((err) => {