1. Conduid
  2. Search
  3. io.github.jannks/handbook
MCP server · Search

io.github.jannks/handbook

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

Unclaimed last commit 7 months ago search
37Low

Scored 6 months ago · breakdown

About io.github.jannks/handbook

io.github.jannks/handbook is an MCP server published by ah-oh in the Search category: mCP server for the Handbook API – manage handbook entries via CRUD, overview and tag search.

Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

Claude Code
claude mcp add io-github-jannks-handbook -- npx -y @ah-oh/handbook-mcp-server
npx
npx -y @ah-oh/handbook-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (7)

handbook_create_entryCreate a new entry

Parameters not published.

handbook_delete_entryDelete an entry

Parameters not published.

handbook_get_entryRetrieve a single entry by ID (including markdown content)

Parameters not published.

handbook_get_overviewCompact overview of all entries per app

Parameters not published.

handbook_list_entriesList all handbook entries

Parameters not published.

handbook_search_tagsSearch tags across all entries

Parameters not published.

handbook_update_entryUpdate an existing entry

Parameters not published.

Ask AI

✦

Ask AI about io.github.jannks/handbook

Powered by Claude · Grounded in docs

I know everything about io.github.jannks/handbook. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

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

Tool Description
handbook_list_entries List all handbook entries
handbook_get_entry Retrieve a single entry by ID (including markdown content)
handbook_create_entry Create a new entry
handbook_update_entry Update an existing entry
handbook_delete_entry Delete an entry
handbook_get_overview Compact overview of all entries per app
handbook_search_tags Search tags across all entries

Prerequisites

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

Installation

Option A: Install from npm

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

Option B: Build from source

git clone https://github.com/ah-oh/handbook-mcp-server.git
cd handbook-mcp-server
npm install
npm run build

Configuration

Environment Variables

Variable Required Default Description
HANDBOOK_API_TOKEN Yes – Bearer token for the Handbook API
HANDBOOK_API_URL No https://handbook.ah-oh.com/handbook-api Base URL of the API
TRANSPORT No stdio Transport mode: stdio or http
PORT No 3000 Port 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

{
  "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:

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

Claude Code

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:

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

HTTP Mode (Remote)

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:

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

# Linux
find . -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

# Log in to npm (one-time)
npm login

# Publish the package
npm 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

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/

# Verify
mcp-publisher --help

Step 4: Log in to the registry

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/*):

# Generate an Ed25519 keypair
openssl 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

# Dry run first
mcp-publisher publish --dry-run

# Publish for real
mcp-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:
git tag v1.0.0
git 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:
npm version patch   # or minor / major
git 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

# Install dependencies
npm install

# Build TypeScript (one-time)
npm run build

# TypeScript watch mode
npm 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 copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.jannks/handbook

How do I install io.github.jannks/handbook?

Run claude mcp add io-github-jannks-handbook -- npx -y @ah-oh/handbook-mcp-server, then add the server to your MCP client's configuration.

Is io.github.jannks/handbook safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.jannks/handbook still maintained?

The last commit was 7 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.