Lynkarr Support
Contact us Sign in

Support / MCP and AI assistants

Connect Claude, ChatGPT, Copilot or Cursor over MCP

The MCP setup for the four assistants people ask about most, and what to do with any other client.

The same two things, every time

Every MCP client needs the same pair: the server URL, which is https://lynkarr.com/mcp, and a Lynkarr API token sent as a bearer credential. Make the token first — Settings, then API tokens — and give it only the scopes you want the assistant to have.

What differs between clients is only where you type those two things. The wording of the menus moves between releases faster than we can keep a screenshot honest, so what follows describes the route rather than the pixels.

Start with a read-only token: codes:read, links:read, analytics:read. You can always make a second one with write access.

Claude

Claude supports remote MCP servers directly, so there is nothing to install. The one thing worth knowing before you start: its connector dialog is built around OAuth, and there is no field labelled “API token”. Ours uses a token, so the token goes in as a request header instead.

Claude will pre-select “Always required” under Authentication and mark it Detected. That is a guess made from our server answering an unauthenticated request with a 401, and it is the wrong setting for us — leaving it there sends Claude looking for an OAuth flow that does not exist, and the connector will not finish.

Set Authentication to None. Claude describes that option as being for open servers “or for servers that use an API key instead of OAuth”, which is exactly this. Then add the token under Additional request headers — as X-API-Key, not as Authorization.

That last detail matters. Claude keeps the Authorization header for its own OAuth token and describes custom headers as being sent alongside it, so a custom Authorization is not reliably passed on. When it is dropped, the connector still connects and then reports that it has no tools available, which explains nothing. X-API-Key is claimed by nobody and arrives untouched.

  1. Create an API token in Lynkarr: Settings, API tokens.
  2. In Claude, go to Settings, then Connectors, and choose Add custom connector.
  3. Give it a name and the URL https://lynkarr.com/mcp.
  4. Under Authentication, choose None — not the pre-selected “Always required”.
  5. Under Additional request headers, choose Add header.
  6. Name the header X-API-Key, and set the value to your token: lyn1_...
  7. Click Add, then ask “list my Lynkarr QR codes” to confirm.
Header name:   X-API-Key
Header value:  lyn1_your_token_here
No “Bearer” prefix on this one — just the token. Claude stores header values securely and will not show them again, so keep the token somewhere you can find it.

If a client insists on OAuth

Claude is not the only one that assumes an MCP server speaks OAuth. Any client that does will usually also let you send custom headers, and that is the way through: turn its authentication off, and add X-API-Key set to your token.

Use X-API-Key rather than Authorization for this. A client that manages OAuth itself tends to treat Authorization as its own, and a custom one is quietly dropped — leaving a connector that connects and then has no tools. We accept either header, so the choice is only about which one survives the client.

We do not run an OAuth authorization server today. A Lynkarr API token is the credential, it is scoped when you create it, and you revoke it in Settings, API tokens.

ChatGPT

ChatGPT connects to remote MCP servers through its connectors settings. Availability depends on your plan and on whether the workspace allows custom connectors, so if you cannot see the option it is usually an account setting rather than anything to do with us.

Add a connector pointing at https://lynkarr.com/mcp and authenticate with the API token as a bearer credential. The tools appear under the connector once it is saved.

  1. Create an API token in Lynkarr: Settings, API tokens.
  2. In ChatGPT, open settings and find connectors.
  3. Add a custom or developer connector with the URL https://lynkarr.com/mcp.
  4. Authenticate with a bearer token and paste the token in.
  5. Ask it to list your QR codes to confirm.
If ChatGPT offers only OAuth, use a custom header instead: X-API-Key, set to your token. And if custom connectors are not available on your plan at all, the REST API does the same job from a script.

Microsoft Copilot

Copilot reaches MCP servers through Copilot Studio rather than through the Copilot chat settings. In Copilot Studio, add a tool or connector of the MCP kind, give it https://lynkarr.com/mcp, and store the API token as the connection's bearer credential.

Because this route goes through Copilot Studio, an administrator may have to publish the agent to the people who will use it. That is a Microsoft permission rather than a Lynkarr one, and nothing on our side needs changing for it.

  1. Create an API token in Lynkarr: Settings, API tokens.
  2. In Copilot Studio, open the agent you want to extend and add a tool.
  3. Choose the MCP option and give it https://lynkarr.com/mcp.
  4. Set the connection to use a bearer token and paste the token in.
  5. Publish the agent to whoever needs it.

Cursor

Cursor reads MCP servers from a JSON file: ~/.cursor/mcp.json for every project, or .cursor/mcp.json inside one project when the connection should not follow you elsewhere.

Add the server with the token in an Authorization header. Restart Cursor afterwards and the tools appear in its MCP settings.

{
  "mcpServers": {
    "lynkarr": {
      "url": "https://lynkarr.com/mcp",
      "headers": {
        "Authorization": "Bearer lyn1_your_token_here"
      }
    }
  }
}
This file holds a live credential. Keep it out of version control — a token in a repository is a token somebody else has.

VS Code

VS Code takes MCP servers in .vscode/mcp.json inside a workspace, or in your user settings for every workspace. The shape is close to Cursor's but names the transport explicitly.

{
  "servers": {
    "lynkarr": {
      "type": "http",
      "url": "https://lynkarr.com/mcp",
      "headers": {
        "Authorization": "Bearer lyn1_your_token_here"
      }
    }
  }
}
Use an input or an environment variable for the token rather than committing the file with the value in it.

Anything else that speaks MCP

MCP is a standard, so a client we have never heard of works without us doing anything. It needs to support remote servers over HTTP — sometimes called streamable HTTP — and to let you set an Authorization header. That second requirement is the one to check first: several clients present OAuth as the only option in their dialog, and hide custom headers a step further down.

Give it https://lynkarr.com/mcp and the token in a header: either Authorization set to Bearer followed by the token, or X-API-Key set to the token on its own. Prefer X-API-Key wherever the client also does OAuth, because that is the case where Authorization tends to be overwritten. If the client only supports local servers that it launches itself, there are proxy tools that present a remote server as a local one; that is a workaround on the client side and nothing changes here.

When it does not connect

A 401 means the token is missing, mistyped, expired or revoked. Check it starts with lyn1_. With Authorization the value is the word Bearer, one space, then the token; with X-API-Key it is the token alone.

Connecting but showing fewer tools than you expected is not a fault: tools are filtered to what the token's scopes allow. A read-only token is shown the reading tools and not the others, deliberately, so the assistant cannot try something it may not do.

Connecting and then failing on every call, with the tools listed, means the token is not arriving. That is the shape of a dropped header, and the fix is usually to send it as X-API-Key rather than Authorization.

Ask the assistant to run the whoami tool. It answers with the account, the plan, the scopes and what is left of your limits, which settles most of this in one go.
Connect an AI assistant with MCP →MCP tools: what an assistant can do →
Still stuck? Tell us what happened — we read every message. lynkarr.com