Handbook

io.github.jannks由 GitHub 帳號 jannks 發布v1.0.1更新於 Nov 3, 2026

MCP server for the Handbook API – manage handbook entries via CRUD, overview and tag search.

已驗證STDIO僅桌面效率與工作流知識與記憶

概覽

AI 產生的概覽

針對 ah-oh Handbook API 的 MCP 伺服器,讓助理列出、讀取、建立、更新、刪除手冊條目並依標籤搜尋。

可以做什麼
  • 列出並讀取手冊條目,可依 ID 取得單一條目的 Markdown 內容
  • 建立與更新條目,並依 ID 刪除條目
  • 取得依應用程式分組的所有條目精簡概覽
  • 在所有條目中搜尋標籤
適用情境
當你的文件或筆記存放在 ah-oh Handbook,並希望助理在 Claude Desktop、Claude Code 或 VS Code 等用戶端中查詢條目、草擬新條目或維護既有條目時使用。
執行需求
以本機 Node.js(18 以上)程序執行,可從 npm 套件安裝或從原始碼建置。需在 HANDBOOK_API_TOKEN 提供 Handbook API 的 Bearer 權杖;可用 HANDBOOK_API_URL 覆寫預設 API 位址。需要能連線至 Handbook API 的網路。
安裝前請注意
HANDBOOK_API_TOKEN 中的權杖可存取你的 Handbook 資料,並會存放在用戶端設定檔中。此伺服器可建立、更新與刪除條目,助理的操作可能變更或刪除文件,送出寫入與刪除前請先確認。條目內容會傳送至所設定的 Handbook API 位址。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Handbook,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

handbook-mcp-server

An MCP (Model Context Protocol) server for the Handbook API by ah-oh.com. Enables full management of handbook entries directly from Claude Desktop, Claude Code, VS Code Copilot, and other MCP-compatible clients.


Features

ToolDescription
handbook_list_entriesList all handbook entries
handbook_get_entryRetrieve a single entry by ID (including markdown content)
handbook_create_entryCreate a new entry
handbook_update_entryUpdate an existing entry
handbook_delete_entryDelete an entry
handbook_get_overviewCompact overview of all entries per app
handbook_search_tagsSearch tags across all entries

Prerequisites

  • Node.js >= 18
  • Bearer Token for the Handbook API

Installation

Option A: Install from npm

bash
npm install -g @ah-oh/handbook-mcp-server

Option B: Build from source

bash
git clone https://github.com/ah-oh/handbook-mcp-server.gitcd handbook-mcp-servernpm installnpm run build

Configuration

Environment Variables

VariableRequiredDefaultDescription
HANDBOOK_API_TOKENYes–Bearer token for the Handbook API
HANDBOOK_API_URLNohttps://handbook.ah-oh.com/handbook-apiBase URL of the API
TRANSPORTNostdioTransport mode: stdio or http
PORTNo3000Port for HTTP transport

Usage

Claude Desktop

Add the following to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

json
{  "mcpServers": {    "handbook": {      "command": "node",      "args": ["/absolute/path/to/handbook-mcp-server/dist/index.js"],      "env": {        "HANDBOOK_API_TOKEN": "your-bearer-token"      }    }  }}

If installed globally via npm:

json
{  "mcpServers": {    "handbook": {      "command": "handbook-mcp-server",      "env": {        "HANDBOOK_API_TOKEN": "your-bearer-token"      }    }  }}

Claude Code

bash
claude mcp add handbook -- node /path/to/handbook-mcp-server/dist/index.js \  --env HANDBOOK_API_TOKEN=your-bearer-token

VS Code (Copilot / Continue)

In .vscode/mcp.json:

json
{  "servers": {    "handbook": {      "command": "node",      "args": ["/path/to/handbook-mcp-server/dist/index.js"],      "env": {        "HANDBOOK_API_TOKEN": "your-bearer-token"      }    }  }}

HTTP Mode (Remote)

bash
TRANSPORT=http HANDBOOK_API_TOKEN=your-token PORT=3000 npm start

The server will listen on http://localhost:3000/mcp.


Examples

Once the MCP server is connected, you can ask Claude things like:

  • "Show me all handbook entries"
  • "Create a new entry titled 'Onboarding Guide' for the app szales"
  • "Update the entry with ID 65c4e1f5... – set the content to ..."
  • "Which tags start with 'meet'?"
  • "Give me an overview of all entries for the app sethub"
  • "Delete entry 65c4e1f5..."

Publishing to the MCP Registry

The official MCP Registry makes your server discoverable by all MCP clients. Here's the step-by-step guide:

Step 1: Replace placeholders

Replace ah-oh everywhere in the project with your GitHub username:

bash
# macOSfind . -type f \( -name "*.json" -o -name "*.md" \) \  -exec sed -i '' 's/ah-oh/my-github-user/g' {} +
# Linuxfind . -type f \( -name "*.json" -o -name "*.md" \) \  -exec sed -i 's/ah-oh/my-github-user/g' {} +

This affects the following files:

  • package.json – fields name, mcpName, repository, homepage, bugs
  • server.json – fields name, repository, packages[0].identifier
  • README.md – links and install command

Step 2: Publish to npm

bash
# Log in to npm (one-time)npm login
# Publish the packagenpm publish --access public

Note: The MCP Registry only hosts metadata, not the code itself. Your package must first be available on npm (or PyPI, Docker Hub, etc.).

Step 3: Install the mcp-publisher CLI

bash
curl -L \  "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" \  | tar xz mcp-publisher && sudo mv mcp-publisher /usr/local/bin/
# Verifymcp-publisher --help

Step 4: Log in to the registry

bash
mcp-publisher login github

This opens the browser for GitHub OAuth. You'll get access to the namespace io.github.ah-oh/*.

Alternative (custom domain, e.g. com.ah-oh/*):

bash
# Generate an Ed25519 keypairopenssl genpkey -algorithm Ed25519 -out key.pem
# Host the public key at https://ah-oh.com/.well-known/mcp-registry-auth# Then:mcp-publisher login http --domain=ah-oh.com --private-key=HEX_KEY

Step 5: Publish

bash
# Dry run firstmcp-publisher publish --dry-run
# Publish for realmcp-publisher publish

Your server will then be discoverable at registry.modelcontextprotocol.io and automatically picked up by downstream registries (GitHub, VS Code, etc.).

Step 6 (Optional): Automation via GitHub Actions

The project includes a ready-made workflow file at .github/workflows/publish.yml. It automatically publishes to npm and the MCP Registry on every git tag (v*).

Setup:

  1. Go to npmjs.com → Access Tokens → Create a new token
  2. In GitHub → Repository → Settings → Secrets and Variables → Actions → Add NPM_TOKEN as a secret
  3. Tag a release and push:
bash
git tag v1.0.0git push origin v1.0.0

The pipeline takes care of the rest.

Updating the version

For new versions:

  1. Bump the version in package.json and server.json
  2. Create and push a new tag:
bash
npm version patch   # or minor / majorgit push origin v$(node -p "require('./package.json').version")

Project Structure

handbook-mcp-server/├── .github/workflows/│   └── publish.yml          # CI/CD: npm + MCP Registry├── src/│   ├── index.ts             # Entry point (stdio + HTTP)│   ├── constants.ts         # API URL, limits│   ├── types.ts             # TypeScript interfaces│   ├── schemas/│   │   └── handbook-entry.ts # Zod validation schemas│   ├── services/│   │   ├── api-client.ts    # HTTP client for the Handbook API│   │   └── formatting.ts    # Markdown formatting│   └── tools/│       └── handbook-entry.ts # Tool registrations├── dist/                    # Compiled JS files├── package.json├── tsconfig.json├── server.json              # MCP Registry metadata└── README.md

Development

bash
# Install dependenciesnpm install
# Build TypeScript (one-time)npm run build
# TypeScript watch modenpm run dev
# Start server (stdio)npm start
# Start server (HTTP)TRANSPORT=http npm start

API Reference

Based on the Handbook OpenAPI specification.

All endpoints require Bearer token authentication. The MCP server handles auth headers automatically – you only need to set HANDBOOK_API_TOKEN.


License

MIT

來源:README.md,提交 f5bd345

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分