Skip to main content
Glama

gitbook-mcp

MCP Server for full GitBook API automation. Exposes 39 tools that allow AI agents (Claude Code, Cursor, etc.) to manage documentation, change requests, reviews, and Git Sync programmatically.

Quickstart

# 1. Clone
git clone <your-repo-url>
cd gitbook-mcp

# 2. Install and build
npm install
npm run build

# 3. Configure
cp .env.example .env
# Edit .env with your token (see "Configuration" below)

# 4. Run
npm start

Related MCP server: jt-mcp-server

Configuration

Environment variables

Variable

Required

Description

GITBOOK_API_TOKEN

Yes

GitBook API token

GITBOOK_DEFAULT_ORG_ID

No

Default organization ID

GITBOOK_DEFAULT_SPACE_ID

No

Default space ID

GITBOOK_API_BASE_URL

No

API base URL (default: https://api.gitbook.com/v1)

Get your token

  1. Go to GitBook Developer Settings

  2. Create a new API Token

  3. Copy the token to your .env

.env example

GITBOOK_API_TOKEN=gb_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GITBOOK_DEFAULT_SPACE_ID=
GITBOOK_DEFAULT_ORG_ID=

AI Agent Integration

Claude Code

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "gitbook": {
      "command": "node",
      "args": ["/path/to/gitbook-mcp/dist/index.js"],
      "env": {
        "GITBOOK_API_TOKEN": "${GITBOOK_API_TOKEN}",
        "GITBOOK_DEFAULT_ORG_ID": ""
      }
    }
  }
}

Claude Code resolves ${GITBOOK_API_TOKEN} from shell environment variables. Add to your ~/.bashrc or ~/.zshrc:

export GITBOOK_API_TOKEN="your-token-here"

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{
  "mcpServers": {
    "gitbook": {
      "command": "node",
      "args": ["/path/to/gitbook-mcp/dist/index.js"],
      "env": {
        "GITBOOK_API_TOKEN": "your-token-here",
        "GITBOOK_DEFAULT_ORG_ID": ""
      }
    }
  }
}

In Cursor, ${VAR} interpolation is not supported. Place the token directly in the JSON.

Other MCP clients

Any client compatible with MCP via stdio transport will work. The server reads stdin/stdout following the MCP protocol.

Tools

Spaces (6)

Tool

Description

get_space

Get space details

update_space

Update title, visibility

create_space

Create new space in an org

duplicate_space

Duplicate an existing space

list_spaces

List spaces in an org

search_space_content

Search content within a space

Pages (8)

Tool

Description

get_space_revision

Full page tree of a space

list_pages

List pages (with pagination)

get_page_by_id

Read page by ID

get_page_by_path

Read page by URL path (e.g., getting-started/install)

get_page_links

Outgoing links from a page

get_page_backlinks

Pages linking to a page (backlinks)

list_files

List files (images, attachments)

get_file

File details and download URL

Change Requests (6)

Tool

Description

create_change_request

Create new CR (similar to PR/draft)

list_change_requests

List CRs of a space

get_change_request

CR details

update_change_request

Update CR title/status

merge_change_request

Merge CR into main content

sync_change_request

Sync CR with latest content

Reviews (5)

Tool

Description

list_reviews

List reviews of a CR

submit_review

Approve, request changes, or comment

list_requested_reviewers

List requested reviewers

request_reviewers

Request review from specific users

remove_reviewer

Remove reviewer from a CR

Comments (6)

Tool

Description

list_comments

List comments (space or CR)

post_comment

Post comment (supports markdown)

update_comment

Edit existing comment

delete_comment

Delete comment

list_comment_replies

List replies to a comment

post_comment_reply

Reply to a comment

Git Sync (3)

Tool

Description

git_import

Import content from a Git repo to a space

git_export

Export content from a space to a Git repo

get_git_info

Git Sync status and configuration

Organizations (4)

Tool

Description

get_organization

Organization details

list_collections

List collections in an org

get_collection

Collection details

ask_ai

Ask GitBook AI about the documentation

Content Import (1)

Tool

Description

import_content

Import content from a URL into the org

Architecture

src/
├── index.ts                 # Entrypoint — stdio transport
├── server.ts                # McpServer creation
├── config.ts                # Environment variable loading
├── client/
│   ├── gitbook-client.ts    # HTTP client for GitBook API v1
│   └── types.ts             # API response types
├── tools/
│   ├── index.ts             # Registration of all 39 tools
│   ├── spaces.ts            # 6 tools
│   ├── pages.ts             # 8 tools
│   ├── change-requests.ts   # 6 tools
│   ├── reviews.ts           # 5 tools
│   ├── comments.ts          # 6 tools
│   ├── git-sync.ts          # 3 tools
│   ├── organizations.ts     # 4 tools
│   └── content-import.ts    # 1 tool
├── schemas/
│   └── index.ts             # Reusable Zod schemas
└── utils/
    ├── errors.ts            # API error handling
    └── pagination.ts        # Pagination helpers

Scripts

Command

Description

npm run build

Compile TypeScript to dist/

npm start

Start MCP server via stdio

npm run dev

Compile in watch mode (development)

npm run inspect

Open MCP Inspector for debugging

Requirements

  • Node.js >= 18.0.0

  • npm

Dependencies

Package

Version

Usage

@modelcontextprotocol/sdk

^1.12.0

Official MCP SDK

zod

^3.24.0

Schema validation

typescript

^5.7.0

(dev) Compilation

Debug

MCP Inspector

npm run inspect

Opens a web interface to test tools interactively.

Error logs

The server sends formatted errors back to the MCP client. GitBook API errors include:

  • HTTP status code

  • Failed endpoint

  • GitBook error message

Common issues

Problem

Solution

GITBOOK_API_TOKEN is required

Set the environment variable or create the .env file

GitBook API error 401

Invalid or expired token — generate a new one

GitBook API error 403

Token lacks permission for the resource

GitBook API error 404

Incorrect space/page/org ID

Cannot find module dist/index.js

Run npm run build first

Update

cd ~/gitbook-mcp
git pull
npm install
npm run build

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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/lucasbenevinuto/gitbook-mcp'

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