Harbor

How do I add Harbor to Claude or ChatGPT with MCP?

Paste this URL into your assistant as a custom connector:

https://app.harbor.my/mcp

That’s the whole setup. There’s no token to create, no config file to edit, and nothing to switch on in Harbor. Your assistant reads that one string, finds its own way to Harbor’s login, and asks you to approve it.

First, make sure MCP is the right path

Harbor has two ways in, and picking the wrong one is the most common way to get stuck.

  • Chat assistants — Claude on the web, desktop or mobile, and ChatGPT. These speak MCP. Use this page.
  • Coding agents — Claude Code, Codex, Cursor. These get more out of the harbor CLI and its agent skill. Install the CLI, run harbor skill install, and you’re done — that path is here.

Both end up in the same place: an AI that works on your notes. The CLI path goes further, because it runs on your own machine and can therefore decrypt your encrypted notes. MCP can’t. More on that below.

In Claude

  1. Go to Settings → Connectors → Add custom connector.
  2. Paste https://app.harbor.my/mcp and add it.
  3. Claude sends you to Harbor’s login. Sign in.
  4. Approve the consent screen. Claude appears in your connectors, ready to use.

In ChatGPT

Same URL, same idea — add it as a custom connector and paste https://app.harbor.my/mcp. OpenAI moves this around between plans and releases, but it lives under Connectors in settings, and custom connectors aren’t available on every plan.

Any other MCP client works too, as long as it speaks the Streamable HTTP transport with OAuth. Point it at the same URL.

What you’re approving

The consent screen names the assistant, flags it as an AI connection, and lists what it’s asking for: your notes, notebooks, tags, files and search. Approve it and the assistant can:

  • Search and read — full-text search across your notes, including text pulled out of scanned images by OCR, plus reading any note by ID and opening its attachments.
  • Write — create notes from Markdown, append to a note, replace a note’s body, file it into a notebook, tag it.
  • Organize — list and create notebooks, move them between stacks, list tags.
  • Tasks — list, create and complete them.

Two things worth knowing, because they’re the reason this is safe to hand to an AI.

The access is stamped for MCP only. The token your assistant holds works at /mcp and is refused everywhere else in Harbor’s API. If it ever leaked, it couldn’t be turned around and used to read your account another way.

An AI’s edits are labeled. Every write it makes is recorded against the device mcp, so you can always tell what the assistant changed and what you changed yourself.

Your assistant also can’t use MCP to dodge your plan’s limits. If your account is at its note cap, or your email isn’t verified yet, the AI hits the same wall you would.

Encrypted notes stay dark

An encrypted note isn’t part of this. The assistant doesn’t get the note, and it doesn’t get the scrambled text either — just a short marker saying the note is locked and can’t be shown.

That’s not a setting you can loosen. Our servers only hold ciphertext, so ciphertext is the most they could ever hand over, and over MCP we don’t hand over even that.

If you want an AI that can read your encrypted notes, use the CLI instead. It runs on your machine, so given your passphrase it decrypts locally. Your key never leaves your computer. That’s your call to make — just make it knowingly.

Check it worked, or cut it off

Open Settings → Developer → Connected apps in Harbor. Your assistant is listed there with the access it holds and when you first authorized it.

Disconnect revokes everything it holds, immediately. A conversation already in progress gets nothing out of being mid-session — the very next message it sends is refused.

If your client can’t do OAuth

Some minimal clients and scripts can’t run the login flow. For those, create a Personal Access Token with the scopes you want and have the client send it as a bearer token. Choosing the scopes yourself is the consent step.

For anything else, use OAuth. Pasting a token you have to remember to revoke is worse in every way than a connection you can see and cut in the app.

Then just ask

Once it’s connected, you don’t call anything. You talk:

Search my notes for the contractor quotes from last spring and summarize what each one included.

Take this thread, write it up, and file it in my Projects notebook tagged follow-up.

Whatever your assistant sends to its own provider is governed by their policies, not ours. Connect the AI you actually trust.

Need more help?

Still stuck? Send us a message and a real person will get back to you.

Get help →