MCP Server

Connect to the hosted server at https://mcp.captain.dev/mcp: nothing to install, nothing to keep updated.

Connect

Pick your coding agent below and paste in your API key. The command updates to match.

Stays in this browser tab, used only to fill in the command below. No key yet? Get one at captain.dev.

claude mcp add --transport http captain https://mcp.captain.dev/mcp \ --header "Authorization: Bearer cap_..."

Try it

Once the server is connected, talk to your agent normally:

> 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?

What you get

48 tools, grouped below by what they do. Every tool name is clickable in most MCP clients’ tool pickers; this table is the same information laid out for scanning.

Search and collections

ToolWhat it does
captain_searchDeterministic File Search over a collection.
captain_search_v3Multimodal search with metadata filters, regions, and relations.
captain_list_collectionsList collections in the organization.
captain_create_collectionCreate a collection.
captain_delete_collectionDelete a collection.
captain_copy_collectionClone a collection with its vectors branched server-side; returns immediately no matter how large the collection is.
captain_list_documentsList documents in a collection.
captain_delete_documentDelete a single document.
captain_wipe_documentsDelete every document in a collection.

Indexing

ToolSource
captain_index_urlA web URL
captain_index_youtubeA YouTube video’s captions (timestamped transcript, not frames or audio; a video without a caption track can’t be indexed this way, index the video file itself for picture and sound)
captain_index_textInline plain text
captain_index_fileAn uploaded file
captain_index_s3AWS S3
captain_index_gcsGoogle Cloud Storage
captain_index_azureAzure Blob Storage
captain_index_r2Cloudflare R2
captain_index_dropboxDropbox
captain_index_supabaseSupabase Storage
captain_index_backblazeBackblaze B2
captain_index_sharepointSharePoint
captain_index_onedriveOneDrive
captain_index_gdriveGoogle Drive

Syncs

A sync keeps a collection aligned with a cloud-storage bucket: it backfills, reconciles on a schedule, can listen for real-time events, and propagates deletions.

ToolWhat it does
captain_create_s3_syncCreate an S3 sync
captain_create_r2_syncCreate an R2 sync
captain_create_supabase_syncCreate a Supabase sync
captain_create_backblaze_syncCreate a Backblaze sync
captain_list_syncsList syncs, across all storage types
captain_get_syncGet one sync’s details
captain_update_syncUpdate a sync’s config
captain_delete_syncDelete a sync
captain_reconcile_syncRun an on-demand diff and index
captain_subscribe_sync_webhookSubscribe to real-time S3 events

Chunks

ToolWhat it does
captain_list_chunksList a document’s chunks
captain_get_chunkGet one chunk
captain_get_chunk_metadataRead a chunk’s custom metadata
captain_set_chunk_metadataOverwrite a chunk’s custom metadata
captain_update_chunk_metadataMerge into a chunk’s custom metadata
captain_delete_chunk_metadataDelete a chunk’s custom metadata
captain_list_chunk_relationsList relations between chunks
captain_create_chunk_relationCreate a relation between chunks
captain_delete_chunk_relationDelete a relation

Jobs

ToolWhat it does
captain_job_statusCheck an indexing job’s status
captain_cancel_jobCancel an in-progress job

Environments

ToolWhat it does
captain_change_environmentMove a collection between development, staging, and production

API keys are scoped to one environment (cap_dev_ keys see development, cap_stage_ staging, cap_prod_ production), so a moved collection leaves behind the keys of the environment it came from, and attached syncs do not follow it.

Project notes

ToolWhat it does
captain_saveWrite a short note (a decision, a gotcha, a bug repro, a design constraint) to a per-project collection under a timestamped filename, creating the collection on first use
captain_findSearch those notes; surfaces the timestamps, so a stale note is easy to spot

Integration wizard

captain_wizard writes Captain into your codebase. It reads Captain’s own agent docs at llms.txt as the source of truth for the current API surface, covering indexing calls, search wiring, collection setup, and auth, then applies the changes for a task you describe. The first time you run it, it asks permission to send de-identified feedback about the integration (friction, missing capabilities, confusing docs) to Captain’s feedback endpoint. No API key, no code, no personal data. Decline it if you prefer, and change the answer later at any time.

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, so local installs will fall behind. The one thing it still does that the hosted server cannot is let captain_index_file read local filesystem paths. The hosted server takes urls or inline base64 files instead.

If you still need it, your 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}
© 2026 Captain