Box MCP Server Cursor IDE Setup 2026: Admin-Issued OAuth App Config
Connect Box's official hosted MCP server to Cursor IDE. Admin console setup, Client ID/Secret OAuth, the mcp.json auth block, access scopes, and why this integration needs an admin before any user can connect.
Box's MCP server is hosted at https://mcp.box.com — there's no package to install and no local process to run. What makes this setup different from most others on this site is the order of operations: a Box admin has to create OAuth credentials in the Box Admin Console before any individual user can connect Cursor to it. You can't self-serve this one from a personal API key the way you can with most tools covered here.
Once that admin step is done, connecting Cursor is short: paste a box entry into mcp.json with the Client ID and Client Secret the admin gave you, click connect, and authorize in the browser. From there, Cursor can search Box content, run Box AI queries against documents, and work with folders — scoped to whatever that specific user already has access to in Box.
Admin-Gated by Design, Not by Accident
If you've set up Slack, Notion, or GitHub MCP servers before, the instinct is to look for a personal token you can generate yourself. Box doesn't offer that path for its MCP server. The integration has to be registered at the organization level first, which means the actual first step of this guide isn't something you do in Cursor at all — it's a message to whoever administers your Box account.
This is worth flagging up front because it changes who can act on this guide. If you're not a Box admin, jump to Step 1, read what the admin needs to do, and forward it rather than trying to work around it — there isn't a lower-privilege setup path documented for the hosted server.
What the Box MCP Server Can Do
Once connected, Cursor's agent can call Box tools including:
Access is enforced at the user level regardless of what the admin's scopes allow: the integration defines a ceiling, but each connected user can only see and act on content they already have permission to touch in Box. A broad admin scope doesn't grant any individual user access beyond their existing Box permissions.
Prerequisites
auth block in mcp.jsonStep 1 (Admin): Enable the Integration in the Box Admin Console
This step happens once per organization, not once per user.
1. Log into the Box Admin Console
2. Go to Integrations and find Custom Box MCP Server — filter by the MCP category or search directly, since it isn't always the first result
3. Under Configuration, select Add Integration Credentials to generate a new Client ID and Client Secret
4. Set the Redirect URIs according to Cursor's documented static redirect URL (see Cursor's MCP docs) — this has to match what Cursor expects or the OAuth handshake in Step 3 will fail with a redirect mismatch
5. Record the Client ID and Client Secret somewhere the users who need them can retrieve them securely — these are shared across everyone connecting through this integration, not issued per user
6. Choose the Access scopes for the integration, including Content Actions if you want Cursor able to act on content and not just read it. These scopes set the maximum permission ceiling for every user who connects — individual users are still bounded by their own existing Box permissions underneath that ceiling
7. Click Save
Because the Client ID and Client Secret are shared org-wide credentials rather than personal tokens, treat their distribution the way you'd treat any shared secret — Slack DM or a password manager entry, not a public wiki page.
Step 2 (User): Add Box to Cursor
With credentials in hand:
1. In Cursor, open Settings → Tools and MCPs → Add Custom MCP — this opens your mcp.json
2. Add the box entry:
{
"mcpServers": {
"box": {
"url": "https://mcp.box.com",
"auth": {
"CLIENT_ID": "your_client_id",
"CLIENT_SECRET": "your_client_secret"
}
}
}
}
3. Save the file, then return to Tools and MCPs in Cursor's settings and click connect next to the box entry to finish authorization
4. A browser window opens for you to sign into Box and approve the connection — this is your personal Box login, separate from the shared Client ID/Secret, which is how your individual permissions end up governing what the integration can actually see
Optionally, Box also publishes a Cursor plugin: Settings → Plugins → Browse Marketplace, search "Box", Add to Cursor — this layers a more guided UI on top of the same underlying MCP connection rather than replacing it.
Step 3: Verify the Connection
Box's own documentation doesn't publish a dedicated verification step beyond completing authorization, so confirm the practical way: ask Cursor something that requires a live Box call.
Search Box for any files related to "Q3 pricing" and list what you find
Real filenames and folder paths coming back confirm the connection is live and scoped correctly. An authorization prompt that reappears on every request usually means the token isn't persisting — check that Cursor completed the full OAuth redirect rather than being interrupted partway through.
Practical Workflows
Ground a spec in the actual source document
Find the Box file "2026 Product Requirements - Checkout Redesign"
and pull the acceptance criteria section so I can check my
implementation against it before opening a PR
Ask a question across documents instead of opening each one
Using Box AI, check our contract templates for any clause about
data retention periods, and tell me if they're consistent across
the enterprise and SMB versions
Cross-reference a shared asset while coding
Find the latest brand guidelines PDF in Box and tell me the
approved hex codes for our primary and secondary colors, so I can
check them against what's in our CSS variables file
When Not to Use This
If you're the only person who'll ever need Box content in Cursor and you have full admin access to your own personal Box account, this is still worth doing — but if you're on a team where getting Box Admin Console access for a single integration is a multi-week IT request, weigh that against just pasting the relevant document's content into chat manually for occasional use. The admin-gating exists because Box treats content access as an enterprise governance concern, not an oversight, and there's no shortcut around it for a hosted org-wide connection.
Be careful about which Access scopes an admin grants at setup time, especially Content Actions. Because that scope sets the ceiling for every user who connects — not just the admin who configured it — a generous scope combined with a user who has broad Box permissions of their own is a real write-capable path into your content, not a read-only convenience. If the actual need is "let Cursor read a handful of reference documents," scope the integration to match that, rather than defaulting to the widest available permissions because it's less back-and-forth during setup.
Troubleshooting
Can't find "Custom Box MCP Server" in the Admin Console
Filter the Integrations list by the MCP category rather than scrolling the full list, or search for it directly by name. It's a newer addition to Box's integration catalog and isn't always surfaced prominently in the default view.
OAuth fails with a redirect URI mismatch
The Redirect URIs configured in Step 1 have to exactly match what Cursor sends during the handshake. Re-check Cursor's documented static redirect URL and confirm it was entered without a trailing slash discrepancy or protocol mismatch in the Admin Console.
Connected, but searches return nothing for content you know exists
This is almost always a permissions issue, not a broken connection — the integration only surfaces content the authenticated user already has access to in Box directly. Confirm you can find the same file through Box's own web UI or search before assuming the MCP connection is at fault.
You're following an old tutorial that references running a Box MCP server locally
That path is deprecated. Box's current guidance is the hosted https://mcp.box.com endpoint — don't try to combine an older self-hosted box-mcp-server package's instructions with the hosted URL's auth block; they're different integration paths.
Client ID and Secret work for one teammate but not another
Confirm the second user completed their own browser-based Box login during the connect step. The Client ID/Secret pair is shared, but the authorization step still requires each individual user to sign into their own Box account — one person's completed OAuth flow doesn't cover a teammate using the same shared credentials.
Frequently Asked Questions
Q: Can I set up Box MCP in Cursor without admin access to my organization's Box account?
A: No — Box requires an admin to create Integration Credentials (Client ID and Client Secret) in the Box Admin Console before any user can connect. If you're not an admin, you'll need one to complete that one-time setup and share the credentials with you.
Q: Does every user need their own Client ID and Client Secret?
A: No. The Client ID and Client Secret are shared, org-level credentials configured once by an admin. What's individual is the browser-based OAuth login each user completes when they click "connect" in Cursor — that's what ties the integration to that person's actual Box permissions.
Q: Can Cursor access Box content I don't personally have permission to see?
A: No. The admin-configured Access scopes set a maximum ceiling for the integration, but each connected user is still bounded by their own existing Box permissions underneath that ceiling. Broad admin scopes don't grant any individual extra access.
Q: Is there a local, self-hosted version of the Box MCP server?
A: Box's current documentation points to the hosted https://mcp.box.com endpoint as the supported path. Older references to a self-hosted server are deprecated — use the hosted URL and the admin-issued OAuth credentials described here.
Q: What does the "Content Actions" scope actually control?
A: It's one of the Access scopes an admin selects when creating the integration credentials, and it governs whether the connection can act on content (not just search or read it). Because it applies org-wide to everyone who connects, scope it deliberately rather than enabling it by default.
Related Guides
Official docs cited
Related guides
- Canva MCP Server Cursor IDE Setup 2026: Remote Server via mcp-remote, OAuth Login
- Chroma MCP Server Cursor IDE Setup (2026): uvx Install, --client-type & Persistent Storage
- Chrome DevTools MCP Server Cursor IDE Setup (2026): Let Your AI See What DevTools Sees
- CircleCI MCP Server Cursor IDE Setup 2026: API Token Config for Pipelines & Build Failures