Restora

Restora

Read-only MCP server that exposes your local Notion backups to AI agents — query databases, read pages, search a backed-up workspace. Offline by default: no LLM calls, no telemetry, no cloud.

Category
Visit Server

README

Restora MCP Server

A read-only Model Context Protocol server that exposes your local Notion backups to any MCP-capable AI agent — Claude Desktop, Cursor, Cline, Continue, Zed, and others. Ask questions about your backed-up workspace, query databases, and read pages, all from backup files sitting on your own machine.

It's the MCP component of Restora — a Notion backup & restore tool — packaged here as a standalone, source-available server. The ready-to-run version ships inside @restora/cli as restora mcp.

Why it's safe

  • Offline by default. The server makes zero outbound network calls in its default mode — every answer is read from local backup .json files. The only tool that touches the network is run_drift_audit, and it is not even registered unless you pass --allow-live. When enabled, it talks only to your own Notion — never to an LLM, never to Restora's servers.
  • The AI's own model does the reasoning. This server makes no LLM calls, holds no API key, and sends no telemetry.
  • Read-only, structurally. Every tool is side-effect-free. Because no tool can write, delete, or take action in Notion, backup content is treated strictly as data, not instructions — a malicious string in a backup can at worst mislead output, never cause an action.
  • Path-traversal guarded. A tool's path argument must resolve inside your configured backup folder.

Tools

Tool What it does
list_backups List your local Restora backup files (path, date, size, database/page counts).
describe_backup Workspace map of a backup: databases → data sources → property schema, the relations graph, and views. Start here.
query_database Rows of one database with readable values — relations resolved to linked page titles.
get_page One page's properties and content, rendered to Markdown or plain text.
search Find pages by case-insensitive substring across titles, property values, and block text.
read_id_map Summarize a restore id-map (restore-map-*.json): old → new ids, to repoint integrations after a restore.
run_drift_audit (requires --allow-live) Compare a backup against your current Notion to find deleted/emptied databases, removed properties, and type changes. Reads your own Notion only.

Quick start (recommended)

The published package is the fastest path — no clone or build. Add this to your agent's MCP config:

{
  "mcpServers": {
    "restora": {
      "command": "npx",
      "args": ["-y", "@restora/cli", "mcp"],
      "env": {}
    }
  }
}

Config file locations:

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude Desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json
  • Cursor: ~/.cursor/mcp.json (or .cursor/mcp.json in a project)

To enable the live drift-audit tool, add "--allow-live" to args. Run npx @restora/cli mcp --print-config to print a ready-to-paste config.

Build from source (this repo)

npm install
npm run build      # → dist/restora-mcp.js (single self-contained bundle, zero runtime deps)
node dist/restora-mcp.js --print-config

Point an agent at the built binary:

{
  "mcpServers": {
    "restora": { "command": "node", "args": ["/absolute/path/to/dist/restora-mcp.js"], "env": {} }
  }
}

Flags: --file <path> (a specific backup), --dir <path> (a backups folder), --allow-live (enable run_drift_audit), --print-config (print an MCP config and exit).

Getting backups to read

This server reads Restora backup files. Create some for free with the CLI:

npx @restora/cli backup --to local

or from restora.cc. Backups are plain .json — your data stays on your machine.

License

MIT © Taha Bakri

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured