Skip to content

Cursor, VS Code and other MCP clients ​

Clients that are configured with a file or a command, rather than an "add a connector" screen, connect to Subtext with an access key. The client sends the key as an HTTP header on every request.

  • Endpoint: https://mcp.subtext.wiki/mcp
  • Transport: streamable HTTP
  • Header: Authorization: Bearer <key>

If your client supports OAuth 2.1 for remote MCP servers, you can skip the key and point it at the endpoint alone; it will discover sign-in from https://mcp.subtext.wiki/.well-known/oauth-protected-resource/mcp and ask you to sign in with Google.

Create an access key ​

  1. Open the Connections page in the Subtext app.
  2. Choose Add a key.
  3. Give it a name for the tool or place you'll use it, such as Cursor or work laptop. The name is how you'll recognise it later.
  4. Choose How much can it see?
    • Just me: only your name and role.
    • Working context: you, your organisation and your active projects. The usual choice for a day-to-day work assistant.
    • Full context: everything in your graph, including people, tools and topics.
  5. Choose Can it make changes?: Read only or Read + write.
  6. Choose Add key, then pick your client from the tabs to see the exact setup for it.

The key is shown once. Copy it into your client straight away; Subtext stores only a hash of it and cannot show it again. If you lose it, make a new key and revoke the old one.

About keys ​

  • One key per connection. Make a separate key for each tool or machine, so you can see which one is reading and cut one off without affecting the others.
  • Each key has its own scope and write setting. You can change both later from the key's page, and the change applies to the next request.
  • Each key keeps a record of its reads. The key's page lists what it searched for and which pages it read, with times.
  • Pause and revoke. Pause stops the key from reading anything until you Resume it; the assistant is told briefing is paused. Revoke key deletes it permanently, and any client still using it is refused from then on.
  • Writing needs the right key. A Read only key can't change anything. Submitting new information with edit_page_body also needs Full context, because the update can touch any page it mentions. rename_page and link_pages work with a narrower Read + write key, as long as the pages are within its scope.

Treat a key like a password: keep it out of shared repositories and screenshots.

Cursor ​

On the Connections page, the Cursor tab has an Add to Cursor button that opens Cursor with the server filled in. To add it by hand, put this in .cursor/mcp.json in your project (or ~/.cursor/mcp.json for every project):

json
{
  "mcpServers": {
    "Subtext": {
      "url": "https://mcp.subtext.wiki/mcp",
      "headers": {
        "Authorization": "Bearer <key>"
      }
    }
  }
}

VS Code ​

On the Connections page, the VS Code tab has an Add to VS Code button that installs the server for you. To add it by hand, put this in .vscode/mcp.json in your workspace:

json
{
  "servers": {
    "Subtext": {
      "type": "http",
      "url": "https://mcp.subtext.wiki/mcp",
      "headers": {
        "Authorization": "Bearer <key>"
      }
    }
  }
}

Note that VS Code uses servers and needs "type": "http", where Cursor uses mcpServers.

Claude Code ​

bash
claude mcp add --transport http "Subtext" https://mcp.subtext.wiki/mcp --header "Authorization: Bearer <key>"

See Connect Claude for the OAuth alternative and for installing the skill.

Any other MCP client ​

Most clients that support remote MCP servers need the same three things:

SettingValue
URLhttps://mcp.subtext.wiki/mcp
TransportStreamable HTTP (sometimes labelled "HTTP")
HeaderAuthorization: Bearer <key>

If a client asks for an address and a key in separate fields, paste the endpoint as the address and the key on its own (without Bearer) as the key.

Keys created on the Connections page start with cek_.

The skill in other clients ​

Clients other than Claude generally don't use skills; they rely on the server instructions and tool descriptions Subtext sends when they connect. See The Subtext skill for what those cover.