2026-09-22 • Updated 2026-09-26 • 6 min read • Connect
How to Give Cursor Access to Your Private Documentation With MCP
Put private docs on a private MCP Studio server, create an mcps_live_ access token, and send it from Cursor in the Authorization header.
To give Cursor access to private documentation, put the documents on a private
MCP server and send an access token from Cursor. In
Context MCP Studio, deploy the server, set it to
private, and create a token that starts with mcps_live_ in the Access
panel. Add the token to Cursor's MCP settings as an Authorization: Bearer
header and restart Cursor. It can then search the private docs the same way it
searches public ones.
By the end of this guide, Cursor will answer from an internal runbook, and you will have a one-line test that tells you whether the token works before you spend time debugging the editor.
What a private server and its token do
A private server refuses every request that does not carry a valid token. That includes the very first request Cursor sends when it connects, so without the token Cursor never even sees which tools the server offers. With it, Cursor asks the runbook the same way it asks a public docs site.
The token is a password for one server. It starts with mcps_live_ and
works only on the server that issued it. MCP Studio shows it once and stores
only a fingerprint of it, so a lost token is revoked and replaced rather than
displayed again.
Whether a server should be private at all is covered in Who can reach your MCP server. This guide is the Cursor half of a decision you have already made.
Why keep the runbook private
The public site does not know the paging rule. This guide follows one example: an on-call runbook that says payments incidents page the billing channel, not the general on-call channel. A public docs server cannot answer that, which is the point of a separate, private server.
One token per laptop is easier to revoke. When someone leaves the team, you revoke their token and everyone else keeps working. A server can hold up to 10 active tokens, and revocation takes effect on the next request.
A private GitHub repository belongs here too. Adding one locks the server private until that source is disconnected, and a handbook PDF can sit on the same server. See Build an MCP for your internal knowledge base.
How to build the private server in MCP Studio
Open the wizard. You do not write any code.
- Name it for the audience.
On-call runbookis obvious in Cursor's server list.Internalis not. - Add the internal source and set the server to private. Use a URL the indexer is allowed to read, a private GitHub repository, or an uploaded file. A private GitHub source sets the server to private for you.
- Choose search and question answering. Add code example lookup only if the runbook's questions are about the repository.
- Deploy, then open Access and create a token. Copy the
mcps_live_value immediately, and never commit it.

The URL you will put in Cursor looks like this:
https://appatools.com/mcp-studio/api/mcp/your-server-name
How to add the token in Cursor
Open Settings → MCP Servers and add the server with a headers field:
{
"mcpServers": {
"internal-docs": {
"url": "https://appatools.com/mcp-studio/api/mcp/your-server",
"headers": {
"Authorization": "Bearer mcps_live_your_token_here"
}
}
}
}
Restart Cursor, because it reads this configuration at startup. A project config can override the global one, so check which MCP settings Cursor reports as active for the window you are in.
The same token works in other clients. In Codex, for example, you store the
token in an environment variable and put that variable's name in
bearer_token_env_var, as described in
Connect an MCP server to Codex.
How to check that it works
Prove the token with curl first. A tool list in the response means the token is accepted. A 401 means it is missing, revoked, or issued for a different server, since tokens do not transfer between servers.
curl -X POST https://appatools.com/mcp-studio/api/mcp/your-server \
-H "Authorization: Bearer mcps_live_your_token_here" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Then ask Cursor the paging question. Ask which channel to page for a payments incident. The answer should name the billing channel and cite the runbook.
Finally, ask something the runbook does not contain.
You: What is the office wifi password?
Assistant: Nothing in this server's content covers an office wifi password. The closest material is the payments paging rule, which is a different subject. You would need to add that document as a source.
If the reply is not what you expected
Change one thing at a time. If curl returns 401, create a new token on this server and replace the header. If curl lists tools and Cursor stays silent, the header is not in the file Cursor loaded or the window was not restarted; Fix an MCP server that isn't showing up in Cursor has the full checklist. Keep the token out of prompts and committed files.
Frequently asked questions
Is my private documentation safe on an MCP server?
A private MCP Studio server refuses every request that does not carry a valid access token, including requests that only ask which tools exist. Each token works on one server only, is shown once, and can be revoked immediately from the Access panel.
Why does Cursor not show my private MCP server's tools?
Usually the token is not being sent. Check that the Authorization header is
in the MCP settings file Cursor actually loaded, then restart Cursor. If a
curl request with the same token also returns 401, the token is missing,
revoked, or belongs to a different server.
What should I do if I lose my MCP access token?
Revoke it in the server's Access panel and create a new one. MCP Studio keeps only a fingerprint of each token, so it cannot display a token again or recover it. Update the header in Cursor with the new token and restart.
Can my whole team share one access token?
It works, but one token per person or machine is easier to manage. A server can hold up to 10 active tokens, so when someone leaves you revoke only theirs and everyone else keeps working.
Can I use the same private server in Claude or Codex?
Yes. Every client connects to the same server URL and sends the same kind of
token. In Claude you add it in the custom connector settings, and in Codex you
name the environment variable that holds it in bearer_token_env_var.
Connect Cursor to private docs with MCP Studio
Open MCP Studio, deploy the runbook as a private server, and paste the token into Cursor's MCP settings. It takes no code, and after a restart the paging question tells you straight away whether Cursor is reading the runbook. Start building.