@awesomate/hosting-mcp

中文文档
0.172.11发布于 2026/11/06UNLICENSEDES Module近 30 天下载 9471

Awesomate MCP server — lets Claude manage your Awesomate WordPress hosting, plan, limits, n8n automations, and build Node/static apps + databases

原始使用文档
文档目录8 节
  1. Install (customers)
  2. What Claude can do with it
  3. Security posture
  4. Updates
  5. Manual registration (developers)
  6. Development
  7. Where a tool is registered
  8. Read tools and change tools

@awesomate/hosting-mcp

The MCP server that connects an Awesomate customer's own Claude Code to their Awesomate account: WordPress hosting, n8n automations, apps, and Knowledge Base. It authenticates to the Awesomate hub with a scoped Personal Access Token and ships the awesomate-* skills that teach Claude how to use it.

Docs: https://hub.awesomate.ai/docs/mcp/** (a quickstart, how it works, a guide per area, and a reference generated from this server's own tools/list). Its sister site documents the SDK: https://hub.awesomate.ai/docs/sdk/.

Install (customers)

Don't install this by hand. Open hub.awesomate.ai/claude (or the Sites page) and click Connect Claude Code. It gives you a one-time command that:

  1. redeems a short-lived setup code for a scoped access token, born on your machine (~/.awesomate/credentials.json, chmod 600; it never traverses the clipboard),
  2. installs the awesomate-* skills into ~/.claude/skills,
  3. registers this server in Claude Code (user scope, no token in the registration: see below).

Then restart Claude Code and run awesomate_whoami.

What Claude can do with it

Every tool, with its inputs and whether it reads, changes or can delete, is in the generated reference: https://hub.awesomate.ai/docs/mcp/reference/account/. The docs build fails if a tool is missing from it, so it cannot fall behind. Every response is stamped account: <slug> so a session talking to the wrong account is impossible to miss.

Security posture

  • No signup, no payment, no secrets through the model. Purchases and privacy toggles happen only in the hub UI. Secrets travel via the secret-drop flow (awesomate-credentials skill), never the chat.
  • Scopes ∩ live plan are re-derived per request server-side; consent toggles gate every read of instance data and every write is audited.
  • The registration is deliberately env-free: baking AWESOMATE_PAT into the MCP registration pins it to one stale account forever. The token lives in ~/.awesomate/credentials.json; a .awesomate.json folder pin selects the profile in multi-account setups.

Updates

The server self-updates: it's registered as unpinned npx -y, so every Claude Code restart runs the latest published version. The skill files update via the awesomate_skill_update tool. Claude notices the drift itself (it's stamped on every response) and offers the update with what's-new lines from skill/CHANGELOG.json, then hands over the exact restart step.

Manual registration (developers)

Keep --package= with the =: the claude CLI's global-argv pre-scan chokes on a bare -p, and the package must be explicit because this package ships two bins:

claude mcp add awesomate-hosting -- npx -y --package=@awesomate/hosting-mcp awesomate-hosting-mcp

Development

npm run typecheck
npm test                          # builds, then boot-smoke + resolution + skills + knowledge suites
node scripts/build-docs.mjs --check   # the docs checks (also in CI and the hub's web build)

A change to src/ or skill/ needs a new version and a skill/CHANGELOG.json entry at the top, and a new tool needs a place in docs/reference.json and, where it changes what someone can ask for, a line in the right guide under docs/.

test/tools-list.snapshot.json is what the built server's tools/list, resource list and prompt list return, byte for byte (each sorted by name), and npm test fails when it differs. A change meant to show (a new tool, a new argument, new wording) refreshes it in the same PR with npm run build && node scripts/tools-list-snapshot.mjs --write; a change that only moves code must leave it as it is. The snapshot also records what the MCP SDK adds to each tool, so a lockfile bump that changes it refreshes the snapshot too.

Where a tool is registered

Tools live in a shared registry, one file per group, so the same tools can serve Claude chat as well as this npx server (remote-mcp plan, Part B). src/tools/groups.json names every tool's group and the surfaces that offer it; a new tool needs a line there or npm test fails.

  • Each group except host lives in src/tools/<group>.ts (account, website, apps, automations, knowledge, contacts, help), inside register<Group>(r). Register through r: r.registerTool, r.readTool, r.registerResource, and r.config() for the account (never requireConfig(), which only index.ts has).
  • Titles, the annotation kinds and the result shapes (TITLES, annotate, READ_ONLY, textResult, errorResult and the rest) are in src/tools/kit.ts.
  • whoami, get_context, skill_update and design_system_package stay in index.ts (group host): they read the credentials file and the installed skills, or write files on the user's machine, which only the npx server can.
  • The chat connector (Claude on claude.ai, ChatGPT) serves the tools whose surface includes chat, from src/chat.ts: the hub's api bundles it (npm run build:chat) and makes one server per request over the caller's own token. A host tool it offers (get_context) has its chat variant there. To put a tool in chat, add chat to its surface; test/chat.test.mjs checks the chat server lists exactly that set, read-only, with titles and no confirm argument.

A group moves with node scripts/registry-slice.mjs --group <group>, which moves the code verbatim and checks it reads back byte for byte. Each move is merged inside an announced hold on src/index.ts; --check proves the committed move is exactly the script's output on fresh main.

Read tools and change tools

A tool that both reads and writes is split in two (remote-mcp plan, steps 25 to 29), because Claude's directory refuses a tool that does both, and a read-only tool runs without a permission prompt. The read tool keeps the old name and is READ_ONLY ("Read your ..."); the writes move to <name>_change, MUTATING ("Change your ..."). Each half's action is splitActions(own, moved, otherTool) from src/tools/kit.ts, so an action sent to the wrong half is refused with a sentence naming the right tool, and each half needs its own TITLES, groups.json, TOOL_SCOPE and TOOL_FEATURE entry.

Publishing is CI-only: any mcp/** change merged to main with a bumped version publishes via publish-mcp.yml. Never npm publish by hand.

版本与发布记录

@awesomate/hosting-mcp 共发布 138 个版本,首次发布于 2026/07/24;过去 12 个月发布了 138 个版本。

版本发布日期距今
0.172.11latest2026/11/061 天前
0.172.72026/11/061 天前
0.172.02026/11/052 天前
0.171.672026/11/043 天前
0.171.552026/11/043 天前
0.171.492026/11/034 天前

关于 @awesomate/hosting-mcp 的常见问题

@awesomate/hosting-mcp 是什么?

Awesomate MCP server — lets Claude manage your Awesomate WordPress hosting, plan, limits, n8n automations, and build Node/static apps + databases

如何安装 @awesomate/hosting-mcp?

在项目目录运行 npm install @awesomate/hosting-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 awesomate-hosting-mcp、awesomate-hosting-bootstrap,可以用 npx awesomate-hosting-mcp 直接运行。

@awesomate/hosting-mcp 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/awesomate__hosting-mcp 是否存在。

@awesomate/hosting-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@awesomate/hosting-mcp 可以商用吗?

@awesomate/hosting-mcp 使用 UNLICENSED 许可。作者声明为 UNLICENSED,即不授予公开使用许可(与公共领域的 Unlicense 不同)。使用前需获得作者授权。以上为概括,不构成法律意见,请以许可原文为准。

@awesomate/hosting-mcp 的下载量有多少?

根据 npm 官方下载统计,@awesomate/hosting-mcp 在 2026/10/07 – 2026/11/05 这 30 天内被下载 9,471 次,日均约 316 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@awesomate/hosting-mcp 还在维护吗?

最新版本 0.172.11 发布于 2026/11/06(1 天前);至今共发布 138 个版本,其中过去 12 个月发布了 138 个;首次发布于 2026/07/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。