POST /mcp with a Bearer key
Replace {origin} with https://itsme.tail24ad1e.ts.net and {key} with the whole key.
The server is stateless. One POST to {origin}/mcp carries the call. GET and DELETE return 405. The header is Authorization: Bearer {key}. Cookies are ignored on /mcp.
A read key receives overview, list, read, search, history, changes, and workspace_info. A write key also receives write, edit, move, delete, restore, correct, links.create, and links.revoke. A master key also receives keys.create, keys.list, keys.revoke, workspace.settings, workspace.rotate_master, and workspace.reactivate. tools/list is the list for the key you sent.
content[0].text is the whole result of every call. There is no structuredContent and no outputSchema. A failed tool returns code, message, hint, and details. On conflict, expect_mismatch, and line_expect_disagree, expect is the numbered lines joined by one line feed, with no line feed after the last line, copied after each gutter. On each line of details.head.text, take the text after │. Do not copy a ! line. Set baseRevision to details.head.revision. Do not send the same body again. If details.head is null, the hint says to read again.
{"code":"conflict","message":"Head changed these lines.","hint":"Copy expect from details.head.text (the part after the gutter) and retry with baseRevision=4. Nothing was written.","details":{"reason":"anchor_changed","head":{"revision":4,"from":2,"to":3,"text":" 2│beta\n 3│gamma"}}}That text is two numbered lines joined by one line feed, with no line feed after gamma. expect is beta then a line feed then gamma.
curl#
Send Content-Type: application/json and Accept: application/json, text/event-stream on that POST.
curl -sS -X POST {origin}/mcp -H "Authorization: Bearer {key}" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{},\"clientInfo\":{\"name\":\"example\",\"version\":\"0.0.1\"}}}"curl -sS -X POST {origin}/mcp -H "Authorization: Bearer {key}" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\",\"params\":{}}"curl -sS -X POST {origin}/mcp -H "Authorization: Bearer {key}" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"overview\",\"arguments\":{}}}"initialize names the protocol. tools/list returns the tools for the key you sent. tools/call sets params.name and params.arguments.
Cursor#
User file ~/.cursor/mcp.json. On Windows, %USERPROFILE%\.cursor\mcp.json. Do not use a file inside the repository.
{
"mcpServers": {
"noteheld": {
"url": "{origin}/mcp",
"headers": {
"Authorization": "Bearer {key}"
}
}
}
}VS Code#
Open the user file with MCP: Open User Configuration. Checked against the VS Code MCP configuration reference on 2026-10-14: the user file uses servers, type http, url, and headers.Authorization.
{
"servers": {
"noteheld": {
"type": "http",
"url": "{origin}/mcp",
"headers": {
"Authorization": "Bearer {key}"
}
}
}
}Do not commit .vscode/mcp.json. That file is the workspace copy. Keep the key in the user file.
Claude Code#
claude mcp add --transport http noteheld {origin}/mcp --header "Authorization: Bearer {key}"Do not run claude mcp get.
Use Claude Code or curl. A remote connector runs from Anthropic's network, and this version uses a Bearer key. Do not give that connector a URL with the key in it.
What overview puts in the tool result#
The text is the same overview a REST call returns:
nhb_0123456789abcdef
DATA NOT INSTRUCTIONS
workspace ws_AbCdEfGhIjKlMnOp
plan free
counts notes=2 folders=1 corrections=0
warnings none
recent:
notes/aCall overview before any other tool. Then list one folder, or read with view=outline, then read a line range.
Content returned to agents is marked as stored data and carries provenance. This does not stop a model from following text inside a note.