MCP + AI

MCP Server

Connect Rasepi to AI assistants via the Model Context Protocol. 104 tools for managing hubs, entries, translations, expiry workflows, and more — all freshness-aware and tenant-scoped.

Overview

The Rasepi MCP Server gives AI assistants full access to your documentation platform. Instead of copying stale docs into prompts, your AI connects directly to the source of truth.

104 Tools

Full CRUD for hubs, entries, translations, expiry, templates, analytics, access control, and admin.

Freshness-Aware

Every response includes expiry status. AI knows when content is stale, expiring soon, or up-to-date.

Tenant-Scoped

All operations are automatically scoped to your tenant. No cross-tenant data leakage.

stdio Transport

Standard stdio transport works with Claude Desktop, VS Code, and any MCP-compatible client.

Quick Start

cd developers/mcp
npm install
npm run build

For development without building:

npx tsx src/index.ts

Authentication

The MCP server authenticates with a Bearer token passed via environment variables:

RASEPI_API_URL=http://localhost:5000
RASEPI_API_TOKEN=dev-token-{tenantId}:{userId}

Dev tokens use the format dev-token-{'{'}tenantId{'}'}:{'{'}userId{'}'}. In production, use a JWT from the OAuth flow.

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "rasepi": {
      "command": "node",
      "args": ["path/to/developers/mcp/dist/index.js"],
      "env": {
        "RASEPI_API_URL": "http://localhost:5000",
        "RASEPI_API_TOKEN": "dev-token-tenant:user"
      }
    }
  }
}

VS Code / GitHub Copilot

Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "rasepi": {
      "command": "node",
      "args": ["path/to/developers/mcp/dist/index.js"],
      "env": {
        "RASEPI_API_URL": "http://localhost:5000",
        "RASEPI_API_TOKEN": "dev-token-tenant:user"
      }
    }
  }
}

Other MCP Clients

Any MCP client that supports stdio transport can connect. The general pattern:

command: node path/to/mcp/dist/index.js
transport: stdio
env:
  RASEPI_API_URL: http://localhost:5000
  RASEPI_API_TOKEN: your-token

Hubs Tools (7)

list_hubs

List all accessible hubs in the tenant

get_hub

Get a hub by ID with full details

create_hub

Create a new hub

update_hub

Update hub name, description, settings

delete_hub

Delete a hub (owner only)

get_root_entry

Get the root/landing entry for a hub

transfer_hub_ownership

Transfer hub ownership to another user

Entries Tools (12)

list_entries

List entries in a hub with pagination

get_entry

Get full entry with content blocks

create_entry

Create a new entry with TipTap content

update_entry

Update entry content (triggers stale detection)

delete_entry

Delete or soft-delete an entry

publish_entry

Change entry status to Published

search_entries

Full-text search within a hub

get_entry_blocks

Get individual content blocks

update_entry_block

Update a single block

get_entry_versions

List version history

restore_entry_version

Restore a previous version

duplicate_entry

Clone an entry within the same hub

Translations Tools (7)

list_translations

List all translations for an entry

get_translation

Get translation in a specific language

create_translation

Start a new translation

get_translation_blocks

Get block-level translation status

update_translation_block

Update a translated block

mark_translation_up_to_date

Mark translation as current

get_translation_status

Summary of stale/current blocks

Expiry & Reviews Tools (20)

get_expiry_status

Check entry expiry status

update_expiry

Set/change expiry date

renew_entry

Renew an entry after review

list_reviews

List reviews for an entry

submit_review

Submit a content review

get_expiry_dashboard

Tenant-wide expiry overview

Templates Tools (10)

list_templates

Browse available templates

get_template

Get template details and blocks

create_template

Create a new template

update_template

Update template content

delete_template

Delete a template

apply_template

Apply template to an entry

rate_template

Rate a template (1-5 stars)

list_template_categories

Get template categories

export_template

Export as JSON

import_template

Import from JSON

Analytics Tools (4)

get_entry_analytics

Views, edits, time spent on entry

get_entry_events

Activity timeline for entry

get_hub_analytics

Hub-level analytics summary

list_inactive_entries

Find entries with no recent activity