Skip to main content
Glama
h4sht

@h4sht/bookstack-mcp

by h4sht

@h4sht/bookstack-mcp


πŸš€ Claude Code

claude mcp add bookstack -- npx github:h4sht/bookstack-mcp

Claude Code will prompt you for:

  • BOOKSTACK_BASE_URL β€” your BookStack API URL (e.g. https://wiki.example.com/api)

  • BOOKSTACK_API_TOKEN β€” your API token (token_id:token_secret)

Or pass them directly:

claude mcp add bookstack \
  --env BOOKSTACK_BASE_URL=https://wiki.example.com/api \
  --env BOOKSTACK_API_TOKEN=token_id:token_secret \
  -- npx github:h4sht/bookstack-mcp

Then use /mcp inside Claude Code to verify it's connected βœ”


Related MCP server: BookStack MCP Server

πŸ› οΈ What you get (25 tools)

Category

Tools

πŸ“š Books (6)

list, get, create, update, delete, export

πŸ“‘ Chapters (6)

list, get, create, update, delete, export

πŸ“„ Pages (6)

list, get, create, update, delete, export

πŸ“š Shelves (5)

list, get, create, update, delete

πŸ” Search (1)

search across all content

βš™οΈ System (1)

instance info

All export_* tools support markdown, html, pdf, plaintext.


✍️ Markdown-powered

BookStack stores pages as HTML but accepts Markdown input through its API. This means Claude can create and edit wiki pages in its native format:

"Create a page about async Python in book 3"

β†’ bookstack_create_page({
    book_id: 3,
    name: "Async Python Guide",
    markdown: "# Async Python\n\n`asyncio` is Python's standard library..."
  })

Pages are also exported as Markdown, so Claude can read, analyze, and improve existing content.


πŸ“¦ Setup for other AI assistants

OpenAI Codex

codex mcp add bookstack \
  --env BOOKSTACK_BASE_URL=https://wiki.example.com/api \
  --env BOOKSTACK_API_TOKEN=id:secret \
  -- npx github:h4sht/bookstack-mcp

Or add this to ~/.codex/config.toml:

[mcp_servers.bookstack]
command = "npx"
args = ["github:h4sht/bookstack-mcp"]

[mcp_servers.bookstack.env]
BOOKSTACK_BASE_URL = "https://wiki.example.com/api"
BOOKSTACK_API_TOKEN = "id:secret"

Verify with: codex mcp list

OpenCode

opencode mcp add
# Select "local", then enter: npx github:h4sht/bookstack-mcp

Or add to opencode.json:

{
  "mcp": {
    "bookstack": {
      "type": "local",
      "command": ["npx", "github:h4sht/bookstack-mcp"],
      "enabled": true,
      "environment": {
        "BOOKSTACK_BASE_URL": "https://wiki.example.com/api",
        "BOOKSTACK_API_TOKEN": "id:secret"
      }
    }
  }
}

Cline (VS Code)

Add to Cline MCP settings file:

{
  "mcpServers": {
    "bookstack": {
      "command": "npx",
      "args": ["github:h4sht/bookstack-mcp"],
      "env": {
        "BOOKSTACK_BASE_URL": "https://wiki.example.com/api",
        "BOOKSTACK_API_TOKEN": "id:secret"
      }
    }
  }
}

Any MCP-compatible assistant (stdio)

The server command is always the same:

npx github:h4sht/bookstack-mcp

Set BOOKSTACK_BASE_URL and BOOKSTACK_API_TOKEN as environment variables.


πŸ”§ Config reference

Variable

Required

Description

BOOKSTACK_BASE_URL

Yes

Full URL including /api

BOOKSTACK_API_TOKEN

Yes

Format: token_id:token_secret

BOOKSTACK_TIMEOUT

No

Request timeout ms (default: 30000)


πŸ”’ Security

  • 4 auditable files β€” read the whole source in 10 minutes

  • One dependency β€” only @modelcontextprotocol/sdk (official Anthropic)

  • Native fetch() β€” no HTTP libraries, no hidden requests

  • Stdio only β€” no open ports, no network surface

  • Zero telemetry β€” no analytics, no tracking, no calls home

  • Stderr logging β€” never writes to stdout (MCP protocol integrity)


πŸ§ͺ Tests

npm test   # 32 tests, all passing βœ…

πŸ“ Structure

@h4sht/bookstack-mcp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts      # MCP server, stdio transport, config
β”‚   β”œβ”€β”€ client.ts     # BookStack REST client (native fetch)
β”‚   β”œβ”€β”€ tools.ts      # 25 MCP tool definitions + handlers
β”‚   └── types.ts      # TypeScript types
β”œβ”€β”€ dist/             # Compiled JS (ready to run)
β”œβ”€β”€ tests/            # 32 unit + integration tests
β”œβ”€β”€ package.json
└── README.md

πŸ“ License

MIT Β© h4sht

F
license - not found
-
quality - not tested
A
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/h4sht/bookstack-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server