Model Context Protocol

MCP server

Connect a compatible AI client to Orbb using the remote MCP server and Firebase Authentication.

Server URL

https://mcp.orbb.app/mcp

Add this URL as a remote HTTP MCP server. On first connection, your client will open Orbb in the browser so you can sign in with Firebase and approve the requested scopes.

No API key is needed for MCP. MCP clients use Authorization Code with PKCE. Access tokens are short-lived, bound to the MCP resource, and refresh tokens rotate.

Example configuration

Clients use different configuration formats. When a client asks for a remote MCP URL, use:

{
  "mcpServers": {
    "orbb": {
      "url": "https://mcp.orbb.app/mcp"
    }
  }
}

Access and safety

  • The consent page shows the exact read, write, and AI scopes requested by the client.
  • Destructive tools keep their confirmation requirements.
  • Tokens issued for MCP cannot be replayed against the REST API.
  • You can revoke a connection from your Orbb account.
  • The MCP server and REST API both execute against the V2 backend.

Reference

28 available tools

TOOLsearch_bookmarks

Search Bookmarks

Search the user's Orbb saves by keyword, category, type, platform, or saved date.

Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 500
    },
    "category": {
      "type": "string",
      "maxLength": 120
    },
    "type": {
      "type": "string",
      "maxLength": 120
    },
    "platform": {
      "type": "string",
      "maxLength": 120
    },
    "dateFrom": {
      "type": "string",
      "maxLength": 32
    },
    "dateTo": {
      "type": "string",
      "maxLength": 32
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "includeMedia": {
      "default": false,
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLsearch_evidence_chunks

Search Evidence Chunks

Search exact saved passages, transcript segments, recipes, itineraries, locations, and other grounded evidence.

Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "category": {
      "type": "string",
      "maxLength": 120
    },
    "type": {
      "type": "string",
      "maxLength": 120
    },
    "dateFrom": {
      "type": "string",
      "maxLength": 32
    },
    "limit": {
      "default": 12,
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "includeMedia": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_bookmark

Get Bookmark

Get one owned bookmark with its saved details and extracted context.

Input schema
{
  "type": "object",
  "properties": {
    "bookmarkId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "includeMedia": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "bookmarkId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_plans

Get Plans

List the user's Orbb plans, including their source bookmarks and generated content.

Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_picks

Get Picks

List the user's curated Orbb picks and their saved bookmark IDs.

Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_insights

Get Insights

Get counts, streaks, categories, resources, locations, and entities derived from the user's saves.

Input schema
{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_resources

Get Resources

Get the actual extracted movies, TV shows, books, songs, places, products, recipes, albums, apps, and other resource entities mentioned in saves. Use these resource IDs—not source bookmark IDs—when the user wants a collection of the things themselves.

Input schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 120
    },
    "limit": {
      "default": 30,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_bookmarks_by_entity

Get Bookmarks by Entity

Find saves mentioning a specific person, organization, place, or topic.

Input schema
{
  "type": "object",
  "properties": {
    "entityType": {
      "type": "string",
      "enum": [
        "people",
        "organizations",
        "places",
        "topics"
      ]
    },
    "entityName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "includeMedia": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "entityType",
    "entityName"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_constellation

Get Constellation

Build a compact knowledge graph of saved categories connected by shared topics.

Input schema
{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_memories

Get Orbb Memories

Get durable preferences and context Orbb has learned from prior conversations.

Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_recent_bookmarks

Get Recent Bookmarks

Browse the user's newest saves without needing a search query.

Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 249
    },
    "category": {
      "type": "string",
      "maxLength": 120
    },
    "type": {
      "type": "string",
      "maxLength": 120
    },
    "platform": {
      "type": "string",
      "maxLength": 120
    },
    "includeMedia": {
      "default": false,
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_categories

Get Categories

List saved categories with counts and their most common tags.

Input schema
{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_bookmarks_batch

Get Bookmarks Batch

Retrieve up to 50 owned bookmarks by ID in one call.

Input schema
{
  "type": "object",
  "properties": {
    "bookmarkIds": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      }
    },
    "includeMedia": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "bookmarkIds"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_related_bookmarks

Get Related Bookmarks

Find current related saves using live evidence, canonical resources, entities, tags, and semantic similarity.

Input schema
{
  "type": "object",
  "properties": {
    "bookmarkId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    },
    "includeMedia": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "bookmarkId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_user_profile

Get User Profile

Get the user's Orbb profile plus derived interests, platforms, topics, locations, and collection counts.

Input schema
{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLsynthesize_bookmarks

Synthesize Bookmarks

Reason across grounded saved evidence to find themes, knowledge gaps, comparisons, or surprising connections.

Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "bookmarkIds": {
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      }
    },
    "category": {
      "type": "string",
      "maxLength": 120
    },
    "synthesisType": {
      "default": "themes",
      "type": "string",
      "enum": [
        "themes",
        "knowledge_gaps",
        "connections",
        "comparison"
      ]
    },
    "limit": {
      "default": 15,
      "type": "integer",
      "minimum": 2,
      "maximum": 30
    },
    "operationKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLrediscover_bookmarks

Rediscover Bookmarks

Surface older saves that are relevant to a current interest or to the user's strongest saved topics.

Input schema
{
  "type": "object",
  "properties": {
    "context": {
      "type": "string",
      "maxLength": 500
    },
    "limit": {
      "default": 5,
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "includeMedia": {
      "default": false,
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_today_day_dump

Get Today's Day Dump

Read only the user's Day Dump for today in their current IANA timezone. This tool cannot access historical dates.

Input schema
{
  "type": "object",
  "properties": {
    "timezone": {
      "default": "UTC",
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLadd_to_today_day_dump

Add to Today's Day Dump

Add a text note or URL to today's Day Dump only. Set confirmed=true only after the user approves the write.

Input schema
{
  "type": "object",
  "properties": {
    "timezone": {
      "default": "UTC",
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "kind": {
      "type": "string",
      "enum": [
        "text",
        "url"
      ]
    },
    "title": {
      "type": "string",
      "maxLength": 240
    },
    "subtitle": {
      "type": "string",
      "maxLength": 120
    },
    "text": {
      "type": "string",
      "maxLength": 20000
    },
    "url": {
      "type": "string",
      "maxLength": 2000,
      "format": "uri"
    },
    "confirmed": {
      "type": "boolean"
    },
    "operationKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120
    }
  },
  "required": [
    "kind",
    "confirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLremove_from_today_day_dump

Remove from Today's Day Dump

Remove one entry from today's Day Dump only. The underlying bookmark or media is not deleted. Requires explicit user confirmation.

Input schema
{
  "type": "object",
  "properties": {
    "timezone": {
      "default": "UTC",
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "entryId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "confirmed": {
      "type": "boolean"
    }
  },
  "required": [
    "entryId",
    "confirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLlist_collections

List Custom Collections

List the user's custom collections and current optimistic versions before organizing them.

Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLget_collection

Get Custom Collection

Get one custom collection and all of its bookmark and extracted-resource memberships.

Input schema
{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "itemLimit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "collectionId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLcreate_collection

Create Custom Collection

Create a manual custom collection. Set confirmed=true only after the user approves the write.

Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "description": {
      "type": "string",
      "maxLength": 2000
    },
    "icon": {
      "type": "string",
      "maxLength": 80
    },
    "color": {
      "type": "string",
      "maxLength": 80
    },
    "confirmed": {
      "type": "boolean"
    },
    "operationKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120
    }
  },
  "required": [
    "name",
    "confirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLadd_bookmarks_to_collection

Add Bookmarks to Collection

Add source bookmark posts or saved pages to a manual collection. Do not use this when the user asks for a collection of movies, shows, books, songs, places, recipes, products, or other extracted things; use add_resources_to_collection instead.

Input schema
{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedVersion": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "bookmarkIds": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      }
    },
    "reason": {
      "type": "string",
      "maxLength": 1000
    },
    "confirmed": {
      "type": "boolean"
    },
    "operationKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120
    }
  },
  "required": [
    "collectionId",
    "expectedVersion",
    "bookmarkIds",
    "confirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLadd_resources_to_collection

Add Resources to Collection

Add actual extracted resource entities—such as movies, TV shows, books, songs, places, recipes, or products—to a manual collection. Obtain IDs from get_resources, use the collection's current version, and set confirmed=true only after approval.

Input schema
{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedVersion": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "resourceItemIds": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      }
    },
    "reason": {
      "type": "string",
      "maxLength": 1000
    },
    "confirmed": {
      "type": "boolean"
    },
    "operationKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120
    }
  },
  "required": [
    "collectionId",
    "expectedVersion",
    "resourceItemIds",
    "confirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLremove_bookmarks_from_collection

Remove Bookmarks from Collection

Remove memberships from a collection without deleting the underlying bookmarks. Requires confirmation and the current version.

Input schema
{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedVersion": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "bookmarkIds": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      }
    },
    "reason": {
      "type": "string",
      "maxLength": 1000
    },
    "confirmed": {
      "type": "boolean"
    },
    "operationKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120
    }
  },
  "required": [
    "collectionId",
    "expectedVersion",
    "bookmarkIds",
    "confirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLremove_resources_from_collection

Remove Resources from Collection

Remove extracted resource memberships from a collection without deleting either the resource or its source bookmarks. Requires confirmation and the collection's current version.

Input schema
{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedVersion": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "resourceItemIds": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      }
    },
    "reason": {
      "type": "string",
      "maxLength": 1000
    },
    "confirmed": {
      "type": "boolean"
    },
    "operationKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120
    }
  },
  "required": [
    "collectionId",
    "expectedVersion",
    "resourceItemIds",
    "confirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
TOOLmove_bookmarks_between_collections

Move Bookmarks Between Collections

Atomically add bookmarks to a target collection and remove them from the source. Requires confirmation and both current versions.

Input schema
{
  "type": "object",
  "properties": {
    "sourceCollectionId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "targetCollectionId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedSourceVersion": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "expectedTargetVersion": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "bookmarkIds": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      }
    },
    "reason": {
      "type": "string",
      "maxLength": 1000
    },
    "confirmed": {
      "type": "boolean"
    },
    "operationKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120
    }
  },
  "required": [
    "sourceCollectionId",
    "targetCollectionId",
    "expectedSourceVersion",
    "expectedTargetVersion",
    "bookmarkIds",
    "confirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}