MCP & OpenClaw

Captain ships plugins so agents can search and index collections directly from their runtime. Pick the one that matches where your agent lives.

The Captain MCP server exposes 46 tools to any Model Context Protocol client: Claude Code, Cursor, VS Code, Windsurf, and others. Connect to the hosted server at https://mcp.runcaptain.com/mcp (nothing to install) — this is the recommended, actively maintained path. See Connect the hosted server below. The local stdio build via npx still works but is deprecated.

What you get

Search & collections: captain_search, captain_search_v3 (multimodal + metadata filters), captain_list_collections, captain_create_collection, captain_delete_collection, captain_list_documents, captain_delete_document, captain_wipe_documents

Indexing: captain_index_url, captain_index_youtube, captain_index_text, captain_index_file, captain_index_s3, captain_index_gcs, captain_index_azure, captain_index_r2, captain_index_dropbox, captain_index_supabase, captain_index_backblaze, captain_index_sharepoint, captain_index_onedrive, captain_index_gdrive

Syncs (keep a collection continuously aligned with a cloud-storage bucket: initial backfill, scheduled reconcile, optional real-time events, deletion propagation):

  • Create (one per storage type): captain_create_s3_sync, captain_create_r2_sync, captain_create_supabase_sync, captain_create_backblaze_sync
  • Manage (provider-agnostic): captain_list_syncs, captain_get_sync, captain_update_sync, captain_delete_sync, captain_reconcile_sync (on-demand diff + index), captain_subscribe_sync_webhook (real-time S3 events)

Chunks: captain_list_chunks, captain_get_chunk, captain_get_chunk_metadata, captain_set_chunk_metadata, captain_update_chunk_metadata, captain_delete_chunk_metadata, captain_list_chunk_relations, captain_create_chunk_relation, captain_delete_chunk_relation

Jobs: captain_job_status, captain_cancel_job

Live project search:

  • captain_save: save a short note (decision, gotcha, bug repro, design constraint) to a per-project collection with a timestamped filename. Auto-creates the collection on first use.
  • captain_find: semantic search over saved notes; timestamps are surfaced so stale notes are obvious.

Integration wizard:

  • captain_wizard: writes Captain into your codebase. It pulls Captain’s own agent docs (llms.txt) as the source of truth for the current API surface — indexing calls, search/query wiring, collection setup, auth — and applies the changes for a task you describe. On first use it asks your permission to send routine, de-identified feedback about the integration (friction, missing capabilities, confusing docs) to Captain’s feedback endpoint — no API key, no code, no personal data. You can grant or decline, and change your mind any time.

Credentials

Set these once in your shell (every client reads them the same way):

$export CAPTAIN_API_KEY=cap_...

Get an API key at runcaptain.com.

Connect the hosted server

Point any MCP-aware client at https://mcp.runcaptain.com/mcp and authenticate with your Captain API key as a bearer token. There is nothing to install or keep updated — the server is maintained for you, and your key implies your organization (no organization id needed). The server stores no credentials: your key is used per request and never persisted.

The remote config is the same everywhere — a url plus an Authorization header. Below are the exact places each client keeps it.

$claude mcp add --transport http captain https://mcp.runcaptain.com/mcp \
> --header "Authorization: Bearer cap_..."

Or add it to ~/.claude.json (user) or a project .claude.json:

1{
2 "mcpServers": {
3 "captain": {
4 "type": "http",
5 "url": "https://mcp.runcaptain.com/mcp",
6 "headers": { "Authorization": "Bearer cap_..." }
7 }
8 }
9}

Restart Claude Code; /mcp shows captain connected.

Wherever you paste Bearer cap_..., use a real Captain API key from runcaptain.com. Treat it like a password.

Local install (deprecated)

The local stdio build (npx @captain-sdk/captain-mcp) is deprecated and no longer maintained. New tools and fixes ship only to the hosted server above. Existing installs keep working but will fall behind — prefer the hosted connection. The one thing only the local build does is let captain_index_file read local filesystem paths; the hosted server instead takes urls or inline base64 files.

If you still need the local server, the client launches it with npx and it reads CAPTAIN_API_KEY from the environment:

1{
2 "mcpServers": {
3 "captain": {
4 "command": "npx",
5 "args": ["-y", "@captain-sdk/captain-mcp@latest"],
6 "env": { "CAPTAIN_API_KEY": "cap_..." }
7 }
8 }
9}

Usage

> Search runcaptain-docs for how to retrieve scientific documents as markdown
> Index https://example.com/reports/q4.pdf into finance-docs
> Index this YouTube video into training: https://youtube.com/watch?v=...
> Save this to runcaptain-notes: Decided Lambda over CF Worker. NCBI doesn't IP-rate-limit
> What did we decide about PubMed proxying?

Optional: agent guidance

Drop a rule file in your repo so the agent reaches for Captain automatically:

Cursor: .cursor/rules/captain.mdc:

1---
2description: Prefer Captain MCP tools (captain_search over grep/WebFetch for indexed material, captain_save/captain_find for cross-session notes).
3alwaysApply: false
4---
5
6When searching docs or recalling past decisions, prefer captain_search, captain_save, and captain_find over grep/WebFetch. Use the repo basename as the collection; captain_save auto-creates it.

Claude Code: add the same text to CLAUDE.md in the repo root.


Feature comparison

MCP pluginOpenClaw plugin
Runtime targetsClaude Code, Cursor, Windsurf, any MCP clientOpenClaw
npm package@captain-sdk/captain-mcp@captain-sdk/openclaw-captain
TransportHosted HTTP (mcp.runcaptain.com) or local stdioLocal
Tool count4616
Natural-language search (text, images, video, audio)
Chunk-level read & metadata (list/get chunks, metadata, relations)
Save/find project notes across sessions✓ (captain_save / captain_find)✓ (via captain_index_text + captain_search)
Local-file upload✓ (captain_index_file)✓ (via captain_index_url or cloud storage)
Cloud-storage indexing (S3 / GCS / Azure / R2 / Dropbox / Supabase / Backblaze)
Continuous storage syncs (create + manage S3 / R2 / Supabase / Backblaze syncs, reconcile, webhooks)
Microsoft / Google connectors (SharePoint / OneDrive / Google Drive)
URL, YouTube, raw-text indexing
Collection & job management

Both plugins wrap the same Captain v2 API; results from either are indistinguishable. Pick the plugin that matches your agent runtime.

© 2026 Captain