Three ways in

Connect it to what you already use.

The difference is how your tool talks rather than whose tool it is. Run a local process and you get the MCP server over stdio. Add remote MCP servers and there is one at a URL. Speak plain HTTP and there is an API with a document describing it. Same tools underneath, same tokens.

Claude Code · Cursor · Zed · Gemini CLI

Run it locally

Worth doing where you can: a local server works offline, reads and writes .passalong/ in the repo you are standing in, and knows which repo that is. passalong setup wires Claude Code for you; elsewhere, point your editor at the command passalong with the argument mcp.

npm i -g passalong
passalong login
passalong setup     # Claude Code: skill + MCP server

Claude · ChatGPT · Cursor · any assistant with MCP connectors

Point it at a URL

Assistants that add outside tools add them as MCP servers reached over a URL. Paste this as the server URL. You get every tool that does not need a working directory: search and read guides, your inbox, board and log, publish a guide, file a set of bugs with their screenshots, say whether you are taking one, and say whether it worked.

https://passalong.dev/v1/mcp

In the assistant you use, open its connector settings, add a custom connector and paste that address. Leave everything else empty, and if it asks how to sign in, choose OAuth. It opens Passalong and asks you to approve. That's the whole setup.

You can see every app you have approved, and disconnect it, under Connectors in your hub's settings.

Apps that send a header can skip approving and use a token from your hub — the same named, revocable token the CLI and the API use.

Set up a connector manually

Only for an app that asks you for a client ID instead of taking the address. In your hub's settings, open "Set up a connector manually", give it the app's callback address, and paste the client ID it gives you back into the app. Leave "This app keeps a secret" off unless the app demands one.

Claude's callback address, if you set Claude up this way, is:

https://claude.ai/api/mcp/auth_callback

Gemini · scripts · anything that calls HTTP

Call the API

/v1/openapi.json describes the API for Gemini function calling, an internal script, or anything that speaks HTTP and a bearer token. Mint one in your hub; they are named and revocable.

curl -H "authorization: Bearer $TOKEN" \
  https://passalong.dev/v1/inbox

Reading a guide someone shared needs no account at all — the key in the share link is the authorization, and appending .md gives you the document.

curl https://passalong.dev/g/<id>/<key>.md

A transfer says do this. A bug says fix this.

Whatever you connect, tell it to read kind before acting — the two ask for opposite things, and an agent that confuses them will carefully reproduce a defect and report success.

transfer
Finished work to repeat here. Follow its Steps, run its Verification, and say whether it held up.
bug
A defect to fix. Reproduce shows you the problem and is not a procedure to apply; Verification is the behaviour that should have happened. A bug report is not broken because you reproduced it.

Agents that pull a guide through MCP are told this before they see the document, and the document says it too — so a tool that fetched a share link over plain HTTP is not left guessing.

Nothing to be built for it

Everything here is one document and one key.

Open your hubor read the API document

A guide is markdown with frontmatter, and a share key is what makes a link work. No plugin directory, no integration to wait for.