Give the agent more tools with hosted MCP servers, or local ones that run inside every session.
An MCP server is a plug-in that hands the agent a set of tools, such as “search Linear issues” or “fetch the current docs for this library”. Alpha runs two kinds. A remote server is hosted on the web and reached through Alpha. A local server is a command that starts inside every session’s machine. Both live in Integrations, on the MCPs tab, and whatever you add there works in every session you own. To sign in to an app such as Gmail or Slack instead, see Connect an app. To call your remote servers from the app the agent builds, see Use integrations in your app.
MCPs → Remote lists the hosted servers your Alpha offers, and Add server at the right adds your own.
The two kinds differ in where the server runs and who holds its credentials. That decides what can reach it.
Remote
Local
Where it runs
On its maker’s servers. Alpha calls it for you.
As a command inside each session’s machine, started by the agent.
How it signs in
OAuth, an API key or nothing. The credential stays on Alpha’s server, and machines never see it or the server’s address.
It reads your secrets and integration variables from the session’s environment.
How the agent sees its tools
With your connected apps, under the built-in alpha_tools server (“Alpha connected tools”).
Under the server key you choose, such as context7. Claude Code names them mcp__context7__….
Can your app use it?
Yes, through the session’s key, in the Preview and in published apps.
No. Only the agent in the session can call it.
Add your own
Any public Streamable HTTP address
Any command, such as npx, uvx, node or python
Not sure? If the vendor gives you an address ending in /mcp, add it as a remote server. If its README tells you to run npx … or uvx …, add it as a local one.
Open Integrations in the sidebar, then the MCPs tab. Every catalog server carries a blue Verified check, because Alpha curated it. What you click depends on the sub-tab.
Sub-tab
Click
What happens
Remote, OAuth server
Sign in
The server’s consent page opens in a popup, as for connecting an app. There is no client ID to paste: “One consent on your account; the gateway registers its own client, nothing to paste.” Once you approve, Alpha lists the server’s tools and the card turns Active.
Remote, no-auth server such as Exa
Connect
Alpha adds the server and lists its tools at once.
Local
Install
Alpha adds the server to every session you own: “Installing puts it in every session on this Alpha; its tools join the agent’s list from the next message.”
The Local catalog has three servers. None needs a key.
Server
What it gives the agent
Context7
”Current, version-specific docs for any library”, fetched for the libraries the project uses, so the agent works from current APIs. A CONTEXT7_API_KEY secret raises its rate limit.
Memory
”A knowledge graph the agent keeps between turns”, stored in a file inside the session’s machine, so facts about the project survive compaction. Each session keeps its own graph.
Sequential thinking
”A scratchpad for step-by-step problem solving”, for working through a hard problem in revisable steps before acting.
New tools reach a session with its next message. If the agent is in the middle of a turn, they arrive when that turn ends, and a session that’s asleep picks up local servers when it wakes.
If you don’t see a hosted server you expected under Remote, or the tab is empty, it isn’t turned on for your Alpha. An admin chooses which hosted servers the catalog offers.
Use this for a hosted server that isn’t in the catalog, such as your company’s internal tools. Alpha’s server calls it, so the address must be reachable from the public internet.
1
Open the form
On MCPs, click Add server. The panel “Add an MCP server” opens. Under Where it runs, pick Remote · hosted.
2
Name it and give its address
Type a Server name, such as “Harbor tools”. In Streamable HTTP URL, paste the server’s MCP endpoint in full, such as https://tools.example.com/mcp. It is “usually …/mcp — not the site’s root”.
3
Choose how it signs in
Pick one option under Authentication.
Option
What you fill in
None
Nothing.
API key
The API key, which is “Not returned after save”. Header defaults to Authorization and Prefix to Bearer . Change them if the server expects something else, such as X-API-Key with no prefix.
OAuth 2.0
Usually nothing: with Custom OAuth client off, Alpha uses “the server’s own sign-in, from its URL alone (Linear, Notion…)”. Switch it on only if the vendor gave you a registered client. Then fill in Client ID, Client secret, Authorization URL, Token URL and space-separated Scopes.
Authentication starts on None; pick API key or OAuth 2.0 when the server needs a sign-in.
4
Add it, then sign in
Click Add remote server. With None or API key, Alpha lists the server’s tools straight away. With OAuth 2.0, the server’s panel opens on “Sign in”: click Connect OAuth and approve in the popup.
Addresses on localhost or a private network are refused, so an app running in a session’s Preview can’t be added this way.
Use this for a server that its README starts with a command. Node, npx, Python and uvx are already in every session’s machine.
1
Open the form
On MCPs, click Add server. Where it runs opens on Local · in the sandbox.
2
Name the server
Type a Server key, such as context7: up to 40 lowercase letters, digits, - and _, starting with a letter. “The agent’s tools are named after it.” Title and Description are optional, but the description is “Named to the agent, so keep it about what the tools do.”
3
Enter the command
Split the README’s command into Command, the first word, and Arguments, one per line. For example, this command:
npx -y @upstash/context7-mcp
becomes Commandnpx, with -y and @upstash/context7-mcp on two lines under Arguments.
A local server is a command and its arguments; a key goes in by its secret's name, never its value.
4
Add environment settings, if any
The server already gets every secret and integration variable in the session. Use Environment settings only to set plain options, or to hand a secret over under the name the server expects, one NAME=VALUE per line:
LOG_LEVEL=infoNOTION_TOKEN=${NOTION_API_KEY}
Alpha fills in ${NOTION_API_KEY} from your secrets when the server starts, so the key itself is never stored with the server.
5
Add it
Leave Startup timeout (s) at 180 unless the server is slow to start. The first start on a new machine downloads the package. Click Add local server. Its tools reach every session you own from that session’s next message.
A local server runs inside every session you own, with the same rights as the agent. It can read your project, run commands and see every secret in the environment. Install only servers you trust, from their publisher’s own package name.
You can also ask the agent. It installs a local server for your account, never only for its own machine, so every session you own gets it.Alpha will:
Install the server under your account. It appears under MCPs → Local, owned by you, with a startup timeout of 180 seconds.
Tell you its tools arrive with your next message, in this session and every other, with nothing to restart.
If a server needs a key, hand it over by the name of a secret rather than its value, and ask you to add that secret. It never asks you to paste the key into a message.
A remote server needs your sign-in, so the agent posts a card instead: “The agent wants to use Harbor tools”. Connect Harbor tools opens the remote form filled with the name and address. Choose the sign-in, add it, then click Tell the agent to continue. See When the agent asks you to connect.The agent can add servers, but only you can edit or remove them.
The panel’s first card shows the server’s status, and its buttons change with it.
Status
Meaning
What to do
Active
Signed in. The agent can call its tools.
Test connection reports how many tools it found and refreshes the Tools list, so use it after the vendor adds tools.
Sign in
Added but not signed in yet.
Click Connect OAuth.
Sign in again
”Its sign-in expired and could not be refreshed.”
Click Sign in again and approve in the popup.
Disconnected
You revoked it. “The agent can no longer call it.”
Click Delete, then add it again to reconnect.
Revoke cuts the agent off at once and leaves the server listed as Disconnected. There is no way to switch it back on. Delete removes it after you confirm “Delete Linear? The agent loses its tools on its next message.”
Turn it off to keep the server but give it to no session: “Kept here, handed to no sandbox until it is switched on.” The panel then reads Installed, switched off, and its card shows Off.
How it runs
Shows the command the agent starts. Catalog servers add a Documentation link.
Variable chips
Appear when a server declares variables it needs. Green is set and amber isn’t. Click an amber chip to connect the integration that provides it, or to open the vendor’s page to get a key you then add under Secrets.
Edit command and environment
Opens the same form as Add local server, with Save and Cancel.
Remove from every session
Deletes the server after you confirm “Remove Context7? Every session loses its tools on its next message.”
A server whose key is missing still starts; its tools fail to authenticate. The agent says so and carries on without them.
Type /mcp on the home screen to see the servers every new session starts with, without starting one.browser and alpha_tools are built in and can’t be removed. Remote servers have no rows of their own, because their tools reach the agent through alpha_tools. Manage servers opens the catalog.Inside a session, /mcp posts a card listing each server the agent has loaded, with its number of tools and the first few by name. With Claude Code, /mcp reconnect, /mcp enable and /mcp disable manage a server for that session. See Slash commands.
These limits are fixed in Alpha. For every other limit, see Limits.
Limit or message
What it means
What to do
”at most 32 MCP servers”
Your account already has 32 local servers, counting the ones you installed from the catalog and the ones the agent added.
Remove one you no longer use.
”a server named context7 already exists”
You already have a server with that key. browser and alpha_tools are taken too.
Pick another key, or edit the existing server.
”workspace is a server name Claude Code keeps for itself — pick another name”
workspace, claude-in-chrome and computer-use are reserved.
Pick another key.
”MCP URL must be a public http or https URL” or “remote MCP address is not allowed”
The address isn’t a full http(s):// URL, or points at localhost or a private network.
Use the server’s public endpoint.
”the MCP server publishes no OAuth authorization server metadata — register a custom OAuth client”
The server’s own sign-in can’t be found from its address.
Switch on Custom OAuth client and enter the vendor’s client and endpoints. The same fix applies when the message says the server “does not register clients”.
”MCP sign-in expired and the server issued no refresh token — sign in again under Integrations”
The agent hit an expired sign-in mid-turn.
Click Sign in again on the server’s panel.
”MCP server returned too many tools”
The server listed more than 500 tools.
Use a narrower endpoint from the vendor, if it offers one.
More than 100 connected tools
Past 100 tools from your apps and remote servers, they no longer appear in the agent’s own tool list.
Remote servers reach your app through two variables. Local ones stay with the agent.
Secrets
Store the keys your local servers read, once for every session or for one only.
Connect an app
Gmail, Slack and other apps without an MCP server connect as ready-made connectors.
Skills
Tools give the agent new abilities. A skill teaches it how your team uses them.
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Alpha","colors":{"primary":"#1A54F0","light":"#749FF9","dark":"#1A54F0"},"logo":{"light":"https://mintcdn.com/lyzr-15a99e0f/peFm_Sv4KgaR4cun/images/logo/light.png?fit=max\u0026auto=format\u0026n=peFm_Sv4KgaR4cun\u0026q=85\u0026s=633788f52e3e9a8128bdaf2d7a62fff6","dark":"https://mintcdn.com/lyzr-15a99e0f/peFm_Sv4KgaR4cun/images/logo/dark.png?fit=max\u0026auto=format\u0026n=peFm_Sv4KgaR4cun\u0026q=85\u0026s=cca4899a3c056f427f80610ac85d1170","href":"https://alpha.new"},"favicon":"https://mintcdn.com/lyzr-15a99e0f/peFm_Sv4KgaR4cun/images/favicon.png?fit=max\u0026auto=format\u0026n=peFm_Sv4KgaR4cun\u0026q=85\u0026s=606bf8d8b1dd77e7fc7d13b52bd06f85","appearance":{"default":"system","strict":false},"background":{"color":{"light":"#FAFAF9","dark":"#0E0E0D"}},"navbar":{"primary":{"type":"button","label":"Open Alpha","href":"https://alpha.new"}},"footer":{"socials":{"github":"https://github.com/suyash-lyzr/alpha-documentation"}},"search":{"prompt":"Search docs"},"seo":{"metatags":{"og:site_name":"Alpha docs"}},"fonts":{"family":"Geist"},"icons":{"library":"fontawesome"},"styling":{"eyebrows":"section","codeblocks":"system","latex":false},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lyzr-15a99e0f","hasAudioNarration":false,"actualSubdomain":"lyzr-15a99e0f","customDomains":[],"gitSource":{"type":"github","owner":"suyash-lyzr","repo":"alpha-documentation","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6ae0b4f093d54c7ebe38e84c"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae13e48963c9b68664e663c","collectionId":"6f6abaac-a319-483c-b30d-6356d4f82504","liveDeploymentHistoryId":"6ae13e48963c9b68664e663c","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae13f861208be8074bfe6ae","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Build","count":22},{"language":"default","tag":"Get started","count":17},{"language":"default","tag":"Reference","count":12},{"language":"default","tag":"Workspace","count":10},{"language":"default","tag":"Ship","count":8},{"language":"default","tag":"Agents","count":7},{"language":"default","tag":"Connect","count":7},{"language":"default","tag":"Chat with the agent","count":6},{"language":"default","tag":"Sessions","count":6},{"language":"default","tag":"Guides","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--a-canvas:#f0f0ef;--a-bg:#fafaf9;--a-card:#ffffff;--a-fill:#f2f2f1;--a-fg:#161614;--a-soft:#3c3c39;--a-muted:#636361;--a-border:rgb(22 22 20 / 9%);--a-signal:#1a54f0;--a-signal-soft:rgb(26 84 240 / 8%);--a-radius:0.7rem;--a-shadow-card:0 0 0 1px var(--a-border), 0 1px 2px rgb(22 22 20 / 4%), 0 2px 6px rgb(22 22 20 / 4%);--a-shadow-raised:0 0 0 1px var(--a-border), 0 2px 10px rgb(22 22 20 / 7%)}.dark{--a-canvas:#0e0e0d;--a-bg:#0e0e0d;--a-card:#181817;--a-fill:#20201f;--a-fg:#f5f5f4;--a-soft:#d6d6d3;--a-muted:#9f9f9a;--a-border:rgb(255 255 255 / 8%);--a-signal:#749ff9;--a-signal-soft:rgb(116 159 249 / 10%);--a-shadow-card:0 0 0 1px var(--a-border), inset 0 1px 0 rgb(255 255 255 / 4%), 0 1px 2px rgb(0 0 0 / 25%);--a-shadow-raised:0 0 0 1px var(--a-border), inset 0 1px 0 rgb(255 255 255 / 5%), 0 2px 12px rgb(0 0 0 / 30%)}code,kbd,pre{font-family:\"Geist Mono\",ui-monospace,\"SF Mono\",Menlo,monospace!important}#page-title{font-size:1.75rem!important;line-height:1.2!important;font-weight:600!important;letter-spacing:-.025em!important}#header .eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.01em}#content-area .prose{font-size:.9375rem;line-height:1.7}#content-area .prose h2{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;margin-top:2.5rem}#content-area .prose h3{font-size:1rem;font-weight:600;letter-spacing:-.01em}#content-area .prose li,#content-area .prose p{color:var(--a-soft)}#content-area .prose strong{color:var(--a-fg);font-weight:560}#content-area .prose a{text-decoration-color:color-mix(in oklab,var(--a-signal) 45%,transparent);text-underline-offset:3px}::selection{background:var(--a-signal-soft)}#sidebar-content{font-size:.875rem}#content-area .prose table,#table-of-contents{font-size:.8125rem}.callout,.card{border-radius:var(--a-radius)!important;box-shadow:var(--a-shadow-card)}.card{border-color:transparent!important;background:var(--a-card);transition:box-shadow 150ms ease}.card[role=link]:hover,a.card:hover{box-shadow:0 0 0 1px color-mix(in oklab,var(--a-signal) 55%,transparent),0 2px 10px rgb(22 22 20/6%)}.card [data-component-part=card-content-container]{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem!important}.card [data-component-part=card-icon]{flex:none;width:1.75rem!important;height:1.75rem!important;margin:0!important;display:grid;place-items:center;border-radius:.45rem;background:var(--a-fill);box-shadow:0 0 0 1px var(--a-border)}.card [data-component-part=card-icon] svg{width:.875rem!important;height:.875rem!important;background-color:var(--a-soft)!important}.card [data-component-part=card-title],.card [data-component-part=card-title] *{margin-top:0!important;padding-top:.25rem;font-size:.875rem!important;line-height:1.3!important;font-weight:600;letter-spacing:-.01em}.card [data-component-part=card-content]{margin-top:0!important;font-size:.8125rem!important;line-height:1.5!important;color:var(--a-muted)}.card [data-component-part=card-content] *{font-size:inherit!important;line-height:inherit!important}.callout{border:0!important;background:var(--a-card)!important;font-size:.875rem}.callout [data-component-part=callout-icon] svg{color:var(--a-muted)!important}.callout[data-callout-type=warning] [data-component-part=callout-icon] svg{color:#c27c0e!important}.callout[data-callout-type=check] [data-component-part=callout-icon] svg{color:#1f8a5b!important}.callout [data-component-part=callout-content],.callout [data-component-part=callout-content] p{color:var(--a-soft)!important}[data-component-part=frame]{border-radius:calc(var(--a-radius)*1.4)!important;background:var(--a-fill)!important;border:0!important;box-shadow:0 0 0 1px var(--a-border);padding:.5rem!important}[data-component-part=frame] img,[data-component-part=frame] video{border-radius:var(--a-radius)!important;box-shadow:var(--a-shadow-raised)}[data-component-part=frame-caption]{font-size:.8125rem;color:var(--a-muted)}[data-component-part=step-number]{font-family:\"Geist Mono\",ui-monospace,monospace;font-size:.75rem!important}[data-component-part=step-title]{font-weight:600;letter-spacing:-.01em}#content-area .prose th{font-weight:560;color:var(--a-muted)}.prose :not(pre)>code{font-size:.8125rem;border-radius:.35rem}kbd{display:inline-block;min-width:1.4em;padding:.05em .4em;font-size:.75rem;line-height:1.5;text-align:center;color:var(--a-fg);background:var(--a-card);border-radius:.35rem;box-shadow:0 0 0 1px var(--a-border),0 1px 0 var(--a-border)}.prompt-card{margin:1.5rem 0;padding:.25rem .75rem .5rem;border-radius:calc(var(--a-radius)*1.4);background:var(--a-fill);box-shadow:0 0 0 1px var(--a-border)}.prompt-card-label{margin:.6rem .25rem -.25rem;font-size:.75rem;font-weight:500;color:var(--a-muted)}@media (max-width:640px){#page-title{font-size:1.5rem!important}#content-area .prose table{display:block;overflow-x:auto}}#content-area .prose table{width:100%;table-layout:fixed}#content-area .prose td,#content-area .prose th{overflow-wrap:anywhere;vertical-align:top}#alpha-top-actions{position:fixed;top:.5rem;right:1.5rem;z-index:40;display:flex;align-items:center;gap:1rem}#alpha-top-actions[hidden]{display:none}#alpha-changelog-link{font-size:.8125rem;font-weight:500;color:var(--a-muted);text-decoration:none;transition:color 150ms ease}#alpha-changelog-link:hover{color:var(--a-fg)}#alpha-ask-ai{display:inline-flex;align-items:center;gap:.4rem;height:2rem;padding:0 .5rem 0 .75rem;border-radius:999px;font-size:.8125rem;font-weight:560;color:var(--a-signal);background:var(--a-signal-soft);box-shadow:0 0 0 1px color-mix(in oklab,var(--a-signal) 35%,transparent);cursor:pointer;transition:background 150ms ease,box-shadow 150ms ease}#alpha-ask-ai:hover{background:color-mix(in oklab,var(--a-signal) 18%,transparent);box-shadow:0 0 0 1px color-mix(in oklab,var(--a-signal) 60%,transparent)}#alpha-ask-ai[hidden]{display:none}#alpha-ask-ai kbd{padding:0 .35em;font-size:.6875rem;color:inherit;background:0 0;box-shadow:0 0 0 1px color-mix(in oklab,var(--a-signal) 30%,transparent)}@media (max-width:1023px){#alpha-top-actions{display:none}}.card-group:is([style*=\"--cols:3\"], [style*=\"--cols: 3\"], [style*=\"--cols:4\"], [style*=\"--cols: 4\"]) .card [data-component-part=card-content-container]{display:block;padding:1rem!important}.card-group:is([style*=\"--cols:3\"], [style*=\"--cols: 3\"], [style*=\"--cols:4\"], [style*=\"--cols: 4\"]) .card [data-component-part=card-icon]{margin-bottom:.75rem!important}.card-group:is([style*=\"--cols:3\"], [style*=\"--cols: 3\"], [style*=\"--cols:4\"], [style*=\"--cols: 4\"]) .card [data-component-part=card-title]{padding-top:0}.card-group:is([style*=\"--cols:3\"], [style*=\"--cols: 3\"], [style*=\"--cols:4\"], [style*=\"--cols: 4\"]) .card [data-component-part=card-content]{margin-top:.25rem!important}:root{--content-width:46rem}html.alpha-sidebar-collapsed{--sidebar-width:0px;--content-width:54rem}html.alpha-sidebar-collapsed #sidebar{display:none!important}#alpha-sidebar-toggle{position:fixed;top:.6875rem;left:calc(var(--sidebar-width, 19rem) + .5rem);z-index:40;display:grid;place-items:center;width:1.625rem;height:1.625rem;border-radius:.45rem;color:var(--a-muted);cursor:pointer;transition:color 150ms ease,background 150ms ease}#alpha-sidebar-toggle:hover{color:var(--a-fg);background:var(--a-fill)}html.alpha-sidebar-collapsed #alpha-sidebar-toggle{color:var(--a-signal)}@media (max-width:1023px){#alpha-sidebar-toggle{display:none}}.update-container{flex-direction:column!important;gap:1rem!important}.update-container>div:first-child{position:static!important;width:100%!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--a-border)}.update-container [data-component-part=update-description]{order:-1;flex-basis:100%;max-width:none!important;margin:0 0 .125rem!important;font-size:1.25rem!important;line-height:1.3!important;font-weight:600!important;letter-spacing:-.015em;color:var(--a-fg)!important}.update-container [data-component-part=update-label]{padding:0!important;background:0 0!important;font-size:.8125rem!important;font-weight:500!important;color:var(--a-muted)!important}.update-container [data-component-part=update-label]::after{content:\"·\";margin-left:.5rem;color:var(--a-muted)}.update-container [data-component-part=update-tag-list]{display:flex;flex-wrap:wrap;gap:.375rem;margin:0!important}.update-container [data-component-part=update-tag]{margin:0!important;padding:.0625rem .5rem!important;border-radius:999px;font-size:.75rem!important;font-weight:500!important;line-height:1.5!important;color:var(--a-soft)!important;background:var(--a-fill)!important;box-shadow:0 0 0 1px var(--a-border)}.update-container [data-component-part=update-content]{width:100%}.update-container [data-component-part=update-content],.update-container [data-component-part=update-description]{padding-left:0!important;padding-right:0!important}.update-container [data-component-part=update-content]>:first-child{margin-left:0!important}#pagination [data-component-part=pagination-next]>div{justify-content:space-between!important}#pagination [data-component-part=pagination-next]>div>div:first-child{flex:1;align-items:flex-start!important;gap:.125rem}#pagination [data-component-part=pagination-description],#pagination [data-component-part=pagination-title]{width:100%!important;max-width:none!important;text-align:left!important}#pagination [data-component-part=pagination-description]{font-size:.8125rem}"}],"page":{"pagePath":"integrations/mcp-servers","slug":"/integrations/mcp-servers","pageMetadata":{"title":"MCP servers","sidebarTitle":"MCP servers","description":"Give the agent more tools with hosted MCP servers, or local ones that run inside every session.","href":"/integrations/mcp-servers"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Give the agent more tools with hosted MCP servers, or local ones that run inside every session.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const PromptCard=({label=`Prompt`,children})=>_jsxs(`div`,{className:`prompt-card not-prose`,children:[_jsx(`div`,{className:`prompt-card-label`,children:label}),children]});function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Tip,Warning,_MdxComponentBoundary}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`An MCP server is a plug-in that hands the agent a set of tools, such as “search Linear issues” or “fetch the current docs for this library”. Alpha runs two kinds. A `,_jsx(_components.strong,{children:`remote`}),` server is hosted on the web and reached through Alpha. A `,_jsx(_components.strong,{children:`local`}),` server is a command that starts inside every session’s machine. Both live in `,_jsx(_components.strong,{children:`Integrations`}),`, on the `,_jsx(_components.strong,{children:`MCPs`}),` tab, and whatever you add there works in every session you own. To sign in to an app such as Gmail or Slack instead, see `,_jsx(_components.a,{href:`/integrations/connect-apps`,children:`Connect an app`}),`. To call your remote servers from the app the agent builds, see `,_jsx(_components.a,{href:`/integrations/in-your-app`,children:`Use integrations in your app`}),`.`]}),`\n`,_jsx(Frame,{caption:`MCPs → Remote lists the hosted servers your Alpha offers, and Add server at the right adds your own.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/integrations-page-mcps-remote.png?fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=bbaa7a45e0a9118ea2b3600fdc0dd271`,alt:`The Integrations dialog with the MCPs tab selected. Under the title and its lede are the tabs Connectors, MCPs (selected) and Connected, a search box with the placeholder Search — Gmail, Stripe, Notion, maps…, and the dropdowns All auth and All categories. Under them are the sub-tabs Remote 17 (selected), Local 3 and Connected 0, then a Refresh button and an outlined Add server button with a plus icon at the right. A three-column grid of cards follows, sorted A to Z: Apollo, Calendly, Clay, ElevenLabs, Exa, Firecrawl, HubSpot, Linear, Miro, Notion, PostHog, Sentry, Stripe, Supabase and Tally, with Tavily and Wispr Flow cut off at the bottom. Each card shows its logo, a blue Verified check, a violet Remote MCP badge, an auth badge and a one-line tagline, such as Linear's Issues, projects, cycles and comments. Exa carries No auth and a Connect button; every other card carries OAuth and a Sign in button.`,\"data-og-width\":`2360`,width:`2360`,\"data-og-height\":`1436`,height:`1436`,\"data-path\":`images/integrations/integrations-page-mcps-remote.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/integrations-page-mcps-remote.png?w=280\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=35c0a6ee72a7c9bc2b7d92bd833434b6 280w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/integrations-page-mcps-remote.png?w=560\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=06ad296300e2ed4965cd18142592d4a2 560w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/integrations-page-mcps-remote.png?w=840\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=3f447742030b2c295b9e073b4febf38b 840w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/integrations-page-mcps-remote.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=f1386b7ded00aacc5acd3a091565f8be 1100w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/integrations-page-mcps-remote.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=7655a8983416719376b53522436c932d 1650w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/integrations-page-mcps-remote.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=2a7f7ad405081f142c18f01ce915a69f 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`remote-or-local`,children:`Remote or local?`}),`\n`,_jsx(_components.p,{children:`The two kinds differ in where the server runs and who holds its credentials. That decides what can reach it.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Remote`}),_jsx(_components.th,{children:`Local`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Where it runs`}),_jsx(_components.td,{children:`On its maker’s servers. Alpha calls it for you.`}),_jsx(_components.td,{children:`As a command inside each session’s machine, started by the agent.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`How it signs in`}),_jsx(_components.td,{children:`OAuth, an API key or nothing. The credential stays on Alpha’s server, and machines never see it or the server’s address.`}),_jsxs(_components.td,{children:[`It reads your `,_jsx(_components.a,{href:`/secrets`,children:`secrets`}),` and integration variables from the session’s environment.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`How the agent sees its tools`}),_jsxs(_components.td,{children:[`With your connected apps, under the built-in `,_jsx(_components.code,{children:`alpha_tools`}),` server (“Alpha connected tools”).`]}),_jsxs(_components.td,{children:[`Under the server key you choose, such as `,_jsx(_components.code,{children:`context7`}),`. Claude Code names them `,_jsx(_components.code,{children:`mcp__context7__…`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Can your app use it?`}),_jsxs(_components.td,{children:[`Yes, through the `,_jsx(_components.a,{href:`/integrations/in-your-app`,children:`session’s key`}),`, in the Preview and in published apps.`]}),_jsx(_components.td,{children:`No. Only the agent in the session can call it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Add your own`}),_jsx(_components.td,{children:`Any public Streamable HTTP address`}),_jsxs(_components.td,{children:[`Any command, such as `,_jsx(_components.code,{children:`npx`}),`, `,_jsx(_components.code,{children:`uvx`}),`, `,_jsx(_components.code,{children:`node`}),` or `,_jsx(_components.code,{children:`python`})]})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Not sure? If the vendor gives you an address ending in `,_jsx(_components.code,{children:`/mcp`}),`, add it as a remote server. If its README tells you to run `,_jsx(_components.code,{children:`npx …`}),` or `,_jsx(_components.code,{children:`uvx …`}),`, add it as a local one.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`connect-a-server-from-the-catalog`,children:`Connect a server from the catalog`}),`\n`,_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Integrations`}),` in the sidebar, then the `,_jsx(_components.strong,{children:`MCPs`}),` tab. Every catalog server carries a blue Verified check, because Alpha curated it. What you click depends on the sub-tab.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Sub-tab`}),_jsx(_components.th,{children:`Click`}),_jsx(_components.th,{children:`What happens`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Remote`}),`, OAuth server`]}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign in`})}),_jsxs(_components.td,{children:[`The server’s consent page opens in a popup, as for `,_jsx(_components.a,{href:`/integrations/connect-apps#sign-in-to-an-app`,children:`connecting an app`}),`. There is no client ID to paste: “One consent on your account; the gateway registers its own client, nothing to paste.” Once you approve, Alpha lists the server’s tools and the card turns `,_jsx(_components.strong,{children:`Active`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Remote`}),`, no-auth server such as Exa`]}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Connect`})}),_jsx(_components.td,{children:`Alpha adds the server and lists its tools at once.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Local`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Install`})}),_jsx(_components.td,{children:`Alpha adds the server to every session you own: “Installing puts it in every session on this Alpha; its tools join the agent’s list from the next message.”`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Local`}),` catalog has three servers. None needs a key.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Server`}),_jsx(_components.th,{children:`What it gives the agent`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Context7`})}),_jsxs(_components.td,{children:[`”Current, version-specific docs for any library”, fetched for the libraries the project uses, so the agent works from current APIs. A `,_jsx(_components.code,{children:`CONTEXT7_API_KEY`}),` secret raises its rate limit.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Memory`})}),_jsx(_components.td,{children:`”A knowledge graph the agent keeps between turns”, stored in a file inside the session’s machine, so facts about the project survive compaction. Each session keeps its own graph.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sequential thinking`})}),_jsx(_components.td,{children:`”A scratchpad for step-by-step problem solving”, for working through a hard problem in revisable steps before acting.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`New tools reach a session with its next message. If the agent is in the middle of a turn, they arrive when that turn ends, and a session that’s asleep picks up local servers when it `,_jsx(_components.a,{href:`/sessions/machines`,children:`wakes`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If you don’t see a hosted server you expected under `,_jsx(_components.strong,{children:`Remote`}),`, or the tab is empty, it isn’t turned on for your Alpha. An `,_jsx(_components.a,{href:`/admin`,children:`admin`}),` chooses which hosted servers the catalog offers.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`add-your-own-remote-server`,children:`Add your own remote server`}),`\n`,_jsx(_components.p,{children:`Use this for a hosted server that isn’t in the catalog, such as your company’s internal tools. Alpha’s server calls it, so the address must be reachable from the public internet.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the form`,children:_jsxs(_components.p,{children:[`On `,_jsx(_components.strong,{children:`MCPs`}),`, click `,_jsx(_components.strong,{children:`Add server`}),`. The panel “Add an MCP server” opens. Under `,_jsx(_components.strong,{children:`Where it runs`}),`, pick `,_jsx(_components.strong,{children:`Remote · hosted`}),`.`]})}),_jsx(Step,{title:`Name it and give its address`,children:_jsxs(_components.p,{children:[`Type a `,_jsx(_components.strong,{children:`Server name`}),`, such as “Harbor tools”. In `,_jsx(_components.strong,{children:`Streamable HTTP URL`}),`, paste the server’s MCP endpoint in full, such as `,_jsx(_components.code,{children:`https://tools.example.com/mcp`}),`. It is “usually …/mcp — not the site’s root”.`]})}),_jsxs(Step,{title:`Choose how it signs in`,children:[_jsxs(_components.p,{children:[`Pick one option under `,_jsx(_components.strong,{children:`Authentication`}),`.`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Option`}),_jsx(_components.th,{children:`What you fill in`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`None`})}),_jsx(_components.td,{children:`Nothing.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`API key`})}),_jsxs(_components.td,{children:[`The `,_jsx(_components.strong,{children:`API key`}),`, which is “Not returned after save”. `,_jsx(_components.strong,{children:`Header`}),` defaults to `,_jsx(_components.code,{children:`Authorization`}),` and `,_jsx(_components.strong,{children:`Prefix`}),` to `,_jsx(_components.code,{children:`Bearer `}),`. Change them if the server expects something else, such as `,_jsx(_components.code,{children:`X-API-Key`}),` with no prefix.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`OAuth 2.0`})}),_jsxs(_components.td,{children:[`Usually nothing: with `,_jsx(_components.strong,{children:`Custom OAuth client`}),` off, Alpha uses “the server’s own sign-in, from its URL alone (Linear, Notion…)”. Switch it on only if the vendor gave you a registered client. Then fill in `,_jsx(_components.strong,{children:`Client ID`}),`, `,_jsx(_components.strong,{children:`Client secret`}),`, `,_jsx(_components.strong,{children:`Authorization URL`}),`, `,_jsx(_components.strong,{children:`Token URL`}),` and space-separated `,_jsx(_components.strong,{children:`Scopes`}),`.`]})]})]})]}),_jsx(Frame,{caption:`Authentication starts on None; pick API key or OAuth 2.0 when the server needs a sign-in.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-remote-form.png?fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=4983d5b5e81a9a8dca980b2a0342b3cd`,alt:`The Add an MCP server panel open at the right of the Integrations dialog, which stays on MCPs → Remote 17 behind it, with the cards Apollo, Calendly, Clay, ElevenLabs, Exa, Firecrawl, HubSpot, Linear, Miro, Notion, PostHog and Sentry. The panel reads: An MCP server of your own: a command started inside every session's sandbox, or a hosted one reached through Alpha's Tools Gateway. Under Where it runs, Remote · hosted is selected, beside Local · in the sandbox. A card headed REMOTE MCP · GATEWAY-MANAGED holds a Server name field with the placeholder Company tools and a Streamable HTTP URL field with the placeholder https://, with the hint The server's MCP endpoint, usually …/mcp — not the site's root. The gateway calls it; sandboxes never see it. The Authentication toggle shows None (selected), API key and OAuth 2.0. Below the card, a grey note reads Once added (and signed in, for OAuth) the agent may call its tools. Credentials stay on the server; sandboxes only ever hold the session key. An Add remote server button sits under the note.`,\"data-og-width\":`2360`,width:`2360`,\"data-og-height\":`1538`,height:`1538`,\"data-path\":`images/integrations/add-server-remote-form.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-remote-form.png?w=280\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=35ddaa3317b8ba2672016a34527a0e84 280w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-remote-form.png?w=560\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=543d55d9139f6ca6ec92bf134a20b4ee 560w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-remote-form.png?w=840\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=033022d91e3cbb28db9fc54d5006e40f 840w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-remote-form.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=73a6714e75c307ddac2346c3c82f4092 1100w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-remote-form.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=0a3d59cabdb591f1bd284641b419a9e4 1650w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-remote-form.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=3a9612d8db727047901d802e60ce0100 2500w`})})]}),_jsx(Step,{title:`Add it, then sign in`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add remote server`}),`. With `,_jsx(_components.strong,{children:`None`}),` or `,_jsx(_components.strong,{children:`API key`}),`, Alpha lists the server’s tools straight away. With `,_jsx(_components.strong,{children:`OAuth 2.0`}),`, the server’s panel opens on “Sign in”: click `,_jsx(_components.strong,{children:`Connect OAuth`}),` and approve in the popup.`]})})]}),`\n`,_jsxs(_components.p,{children:[`Addresses on `,_jsx(_components.code,{children:`localhost`}),` or a private network are refused, so an app running in a session’s Preview can’t be added this way.`]}),`\n`,_jsx(Heading,{level:`2`,id:`add-your-own-local-server`,children:`Add your own local server`}),`\n`,_jsxs(_components.p,{children:[`Use this for a server that its README starts with a command. Node, `,_jsx(_components.code,{children:`npx`}),`, Python and `,_jsx(_components.code,{children:`uvx`}),` are already in every session’s machine.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the form`,children:_jsxs(_components.p,{children:[`On `,_jsx(_components.strong,{children:`MCPs`}),`, click `,_jsx(_components.strong,{children:`Add server`}),`. `,_jsx(_components.strong,{children:`Where it runs`}),` opens on `,_jsx(_components.strong,{children:`Local · in the sandbox`}),`.`]})}),_jsx(Step,{title:`Name the server`,children:_jsxs(_components.p,{children:[`Type a `,_jsx(_components.strong,{children:`Server key`}),`, such as `,_jsx(_components.code,{children:`context7`}),`: up to 40 lowercase letters, digits, `,_jsx(_components.code,{children:`-`}),` and `,_jsx(_components.code,{children:`_`}),`, starting with a letter. “The agent’s tools are named after it.” `,_jsx(_components.strong,{children:`Title`}),` and `,_jsx(_components.strong,{children:`Description`}),` are optional, but the description is “Named to the agent, so keep it about what the tools do.”`]})}),_jsxs(Step,{title:`Enter the command`,children:[_jsxs(_components.p,{children:[`Split the README’s command into `,_jsx(_components.strong,{children:`Command`}),`, the first word, and `,_jsx(_components.strong,{children:`Arguments`}),`, one per line. For example, this command:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`npx -y @upstash/context7-mcp`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`becomes `,_jsx(_components.strong,{children:`Command`}),` `,_jsx(_components.code,{children:`npx`}),`, with `,_jsx(_components.code,{children:`-y`}),` and `,_jsx(_components.code,{children:`@upstash/context7-mcp`}),` on two lines under `,_jsx(_components.strong,{children:`Arguments`}),`.`]}),_jsx(Frame,{caption:`A local server is a command and its arguments; a key goes in by its secret's name, never its value.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-local-form.png?fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=e70dad99ed9e11e59862180d8582b64b`,alt:\"The Integrations dialog on MCPs → Remote 17, with the Add an MCP server panel open at its right and a close X at the top. Behind the panel, on the left, sit Refresh, Add server and the Remote cards Apollo, Calendly, Clay, ElevenLabs, Exa, Firecrawl, HubSpot, Linear, Miro and Notion. The panel reads An MCP server of your own: a command started inside every session's sandbox, or a hosted one reached through Alpha's Tools Gateway. Under Where it runs, Local · in the sandbox is selected, beside Remote · hosted. A card headed LOCAL MCP · RUNS IN EVERY SESSION'S SANDBOX holds empty fields showing their placeholders: Server key my-server, with the hint The agent's tools are named after it.; Title My server; Description Searches our internal wiki, with the hint Named to the agent, so keep it about what the tools do.; Command npx, with the hint Node, Python and npx are in the sandbox.; Arguments -y, @scope/package and --flag on three lines, with the hint One per line.; and Environment settings LOG_LEVEL=info and SERVICE_TOKEN=${MY_SECRET} on two lines, with a hint that begins NAME=VALUE, one per line. The server already gets every. The rest of the form is cut off at the bottom.\",\"data-og-width\":`2360`,width:`2360`,\"data-og-height\":`1436`,height:`1436`,\"data-path\":`images/integrations/add-server-local-form.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-local-form.png?w=280\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=ddfb68526a5d3833c0492366da10017c 280w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-local-form.png?w=560\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=caedf8880df278bad3f6eac2c10d9fed 560w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-local-form.png?w=840\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=49a9601ddf76847591825c56d6d396dd 840w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-local-form.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=47038c819b934e3787df7cafdefd52dc 1100w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-local-form.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=a56eeef6df10251ed264e94845aaa47b 1650w, https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/integrations/add-server-local-form.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ObBpayiae_4aNgzN\u0026q=85\u0026s=9a89b125d64ca37ebaef8af49900d359 2500w`})})]}),_jsxs(Step,{title:`Add environment settings, if any`,children:[_jsxs(_components.p,{children:[`The server already gets every secret and integration variable in the session. Use `,_jsx(_components.strong,{children:`Environment settings`}),` only to set plain options, or to hand a secret over under the name the server expects, one `,_jsx(_components.code,{children:`NAME=VALUE`}),` per line:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`LOG_LEVEL=info`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:\"NOTION_TOKEN=${NOTION_API_KEY}\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`Alpha fills in `,_jsx(_components.code,{children:\"${NOTION_API_KEY}\"}),` from your secrets when the server starts, so the key itself is never stored with the server.`]})]}),_jsx(Step,{title:`Add it`,children:_jsxs(_components.p,{children:[`Leave `,_jsx(_components.strong,{children:`Startup timeout (s)`}),` at 180 unless the server is slow to start. The first start on a new machine downloads the package. Click `,_jsx(_components.strong,{children:`Add local server`}),`. Its tools reach every session you own from that session’s next message.`]})})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`A local server runs inside every session you own, with the same rights as the agent. It can read your project, run commands and see every secret in the environment. Install only servers you trust, from their publisher’s own package name.`})}),`\n`,_jsx(Heading,{level:`2`,id:`let-the-agent-add-one`,children:`Let the agent add one`}),`\n`,_jsx(_components.p,{children:`You can also ask the agent. It installs a local server for your account, never only for its own machine, so every session you own gets it.`}),`\n`,_jsx(_MdxComponentBoundary,{name:`PromptCard`,children:_jsx(PromptCard,{label:`Try this`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Add the MCP time server (uvx mcp-server-time) so you can convert Harbor class times between time zones.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})})}),`\n`,_jsx(_components.p,{children:`Alpha will:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Install the server under your account. It appears under `,_jsx(_components.strong,{children:`MCPs → Local`}),`, owned by you, with a startup timeout of 180 seconds.`]}),`\n`,_jsx(_components.li,{children:`Tell you its tools arrive with your next message, in this session and every other, with nothing to restart.`}),`\n`,_jsxs(_components.li,{children:[`If a server needs a key, hand it over by the name of a `,_jsx(_components.a,{href:`/secrets`,children:`secret`}),` rather than its value, and ask you to add that secret. It never asks you to paste the key into a message.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`A remote server needs your sign-in, so the agent posts a card instead: “The agent wants to use Harbor tools”. `,_jsx(_components.strong,{children:`Connect Harbor tools`}),` opens the remote form filled with the name and address. Choose the sign-in, add it, then click `,_jsx(_components.strong,{children:`Tell the agent to continue`}),`. See `,_jsx(_components.a,{href:`/integrations/connect-apps#when-the-agent-asks-you-to-connect`,children:`When the agent asks you to connect`}),`.`]}),`\n`,_jsx(_components.p,{children:`The agent can add servers, but only you can edit or remove them.`}),`\n`,_jsx(Heading,{level:`2`,id:`manage-your-servers`,children:`Manage your servers`}),`\n`,_jsx(_components.p,{children:`Click any server’s card to open its panel. Changes reach every session with its next message.`}),`\n`,_jsx(Heading,{level:`3`,id:`a-remote-server`,children:`A remote server`}),`\n`,_jsx(_components.p,{children:`The panel’s first card shows the server’s status, and its buttons change with it.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Active`})}),_jsx(_components.td,{children:`Signed in. The agent can call its tools.`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Test connection`}),` reports how many tools it found and refreshes the `,_jsx(_components.strong,{children:`Tools`}),` list, so use it after the vendor adds tools.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign in`})}),_jsx(_components.td,{children:`Added but not signed in yet.`}),_jsxs(_components.td,{children:[`Click `,_jsx(_components.strong,{children:`Connect OAuth`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign in again`})}),_jsx(_components.td,{children:`”Its sign-in expired and could not be refreshed.”`}),_jsxs(_components.td,{children:[`Click `,_jsx(_components.strong,{children:`Sign in again`}),` and approve in the popup.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Disconnected`})}),_jsx(_components.td,{children:`You revoked it. “The agent can no longer call it.”`}),_jsxs(_components.td,{children:[`Click `,_jsx(_components.strong,{children:`Delete`}),`, then add it again to reconnect.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Revoke`}),` cuts the agent off at once and leaves the server listed as `,_jsx(_components.strong,{children:`Disconnected`}),`. There is no way to switch it back on. `,_jsx(_components.strong,{children:`Delete`}),` removes it after you confirm “Delete Linear? The agent loses its tools on its next message.”`]}),`\n`,_jsx(Heading,{level:`3`,id:`a-local-server`,children:`A local server`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Control`}),_jsx(_components.th,{children:`What it does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`On in every session`}),` switch`]}),_jsxs(_components.td,{children:[`Turn it off to keep the server but give it to no session: “Kept here, handed to no sandbox until it is switched on.” The panel then reads `,_jsx(_components.strong,{children:`Installed, switched off`}),`, and its card shows `,_jsx(_components.strong,{children:`Off`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`How it runs`})}),_jsxs(_components.td,{children:[`Shows the command the agent starts. Catalog servers add a `,_jsx(_components.strong,{children:`Documentation`}),` link.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Variable chips`}),_jsxs(_components.td,{children:[`Appear when a server declares variables it needs. Green is set and amber isn’t. Click an amber chip to connect the integration that provides it, or to open the vendor’s page to get a key you then add under `,_jsx(_components.a,{href:`/secrets`,children:`Secrets`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Edit command and environment`})}),_jsxs(_components.td,{children:[`Opens the same form as `,_jsx(_components.strong,{children:`Add local server`}),`, with `,_jsx(_components.strong,{children:`Save`}),` and `,_jsx(_components.strong,{children:`Cancel`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Remove from every session`})}),_jsx(_components.td,{children:`Deletes the server after you confirm “Remove Context7? Every session loses its tools on its next message.”`})]})]})]}),`\n`,_jsx(_components.p,{children:`A server whose key is missing still starts; its tools fail to authenticate. The agent says so and carries on without them.`}),`\n`,_jsx(Heading,{level:`3`,id:`check-what-every-session-gets`,children:`Check what every session gets`}),`\n`,_jsxs(_components.p,{children:[`Type `,_jsx(_components.code,{children:`/mcp`}),` on the `,_jsx(_components.a,{href:`/sessions/home-screen`,children:`home screen`}),` to see the servers every new session starts with, without starting one.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`browser`}),` and `,_jsx(_components.code,{children:`alpha_tools`}),` are built in and can’t be removed. Remote servers have no rows of their own, because their tools reach the agent through `,_jsx(_components.code,{children:`alpha_tools`}),`. `,_jsx(_components.strong,{children:`Manage servers`}),` opens the catalog.`]}),`\n`,_jsxs(_components.p,{children:[`Inside a session, `,_jsx(_components.code,{children:`/mcp`}),` posts a card listing each server the agent has loaded, with its number of tools and the first few by name. With Claude Code, `,_jsx(_components.code,{children:`/mcp reconnect`}),`, `,_jsx(_components.code,{children:`/mcp enable`}),` and `,_jsx(_components.code,{children:`/mcp disable`}),` manage a server for that session. See `,_jsx(_components.a,{href:`/reference/slash-commands`,children:`Slash commands`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`limits-and-errors`,children:`Limits and errors`}),`\n`,_jsxs(_components.p,{children:[`These limits are fixed in Alpha. For every other limit, see `,_jsx(_components.a,{href:`/reference/limits`,children:`Limits`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Limit or message`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`”at most 32 MCP servers”`}),_jsx(_components.td,{children:`Your account already has 32 local servers, counting the ones you installed from the catalog and the ones the agent added.`}),_jsx(_components.td,{children:`Remove one you no longer use.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`”a server named context7 already exists”`}),_jsxs(_components.td,{children:[`You already have a server with that key. `,_jsx(_components.code,{children:`browser`}),` and `,_jsx(_components.code,{children:`alpha_tools`}),` are taken too.`]}),_jsx(_components.td,{children:`Pick another key, or edit the existing server.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`”workspace is a server name Claude Code keeps for itself — pick another name”`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`workspace`}),`, `,_jsx(_components.code,{children:`claude-in-chrome`}),` and `,_jsx(_components.code,{children:`computer-use`}),` are reserved.`]}),_jsx(_components.td,{children:`Pick another key.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`”MCP URL must be a public http or https URL” or “remote MCP address is not allowed”`}),_jsxs(_components.td,{children:[`The address isn’t a full `,_jsx(_components.code,{children:`http(s)://`}),` URL, or points at `,_jsx(_components.code,{children:`localhost`}),` or a private network.`]}),_jsx(_components.td,{children:`Use the server’s public endpoint.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`”the MCP server publishes no OAuth authorization server metadata — register a custom OAuth client”`}),_jsx(_components.td,{children:`The server’s own sign-in can’t be found from its address.`}),_jsxs(_components.td,{children:[`Switch on `,_jsx(_components.strong,{children:`Custom OAuth client`}),` and enter the vendor’s client and endpoints. The same fix applies when the message says the server “does not register clients”.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`”MCP sign-in expired and the server issued no refresh token — sign in again under Integrations”`}),_jsx(_components.td,{children:`The agent hit an expired sign-in mid-turn.`}),_jsxs(_components.td,{children:[`Click `,_jsx(_components.strong,{children:`Sign in again`}),` on the server’s panel.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`”MCP server returned too many tools”`}),_jsx(_components.td,{children:`The server listed more than 500 tools.`}),_jsx(_components.td,{children:`Use a narrower endpoint from the vendor, if it offers one.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`More than 100 connected tools`}),_jsx(_components.td,{children:`Past 100 tools from your apps and remote servers, they no longer appear in the agent’s own tool list.`}),_jsxs(_components.td,{children:[`Nothing. The agent looks up the tool it needs and runs it through Alpha instead. See `,_jsx(_components.a,{href:`/integrations/in-your-app#how-the-agent-calls-your-tools`,children:`How the agent calls your tools`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Use integrations in your app`,icon:`code`,href:`/integrations/in-your-app`,children:_jsx(_components.p,{children:`Remote servers reach your app through two variables. Local ones stay with the agent.`})}),_jsx(Card,{title:`Secrets`,icon:`key`,href:`/secrets`,children:_jsx(_components.p,{children:`Store the keys your local servers read, once for every session or for one only.`})}),_jsx(Card,{title:`Connect an app`,icon:`right-to-bracket`,href:`/integrations/connect-apps`,children:_jsx(_components.p,{children:`Gmail, Slack and other apps without an MCP server connect as ready-made connectors.`})}),_jsx(Card,{title:`Skills`,icon:`wand-magic-sparkles`,href:`/skills/overview`,children:_jsx(_components.p,{children:`Tools give the agent new abilities. A skill teaches it how your team uses them.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{PromptCard,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"MCP servers","sidebarTitle":"MCP servers","description":"Give the agent more tools with hosted MCP servers, or local ones that run inside every session.","href":"/integrations/mcp-servers"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[146,314,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"Remote or local?","slug":"remote-or-local","depth":2,"children":[]},{"title":"Connect a server from the catalog","slug":"connect-a-server-from-the-catalog","depth":2,"children":[]},{"title":"Add your own remote server","slug":"add-your-own-remote-server","depth":2,"children":[]},{"title":"Add your own local server","slug":"add-your-own-local-server","depth":2,"children":[]},{"title":"Let the agent add one","slug":"let-the-agent-add-one","depth":2,"children":[]},{"title":"Manage your servers","slug":"manage-your-servers","depth":2,"children":[{"title":"A remote server","slug":"a-remote-server","depth":3,"children":[]},{"title":"A local server","slug":"a-local-server","depth":3,"children":[]},{"title":"Check what every session gets","slug":"check-what-every-session-gets","depth":3,"children":[]}]},{"title":"Limits and errors","slug":"limits-and-errors","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/lyzr-15a99e0f/f9d02407465743f5/ask-ai.js","/_mintlify/custom/lyzr-15a99e0f/b625f5335bec8a53/sidebar-toggle.js"],"subdomain":"lyzr-15a99e0f","siteName":"Alpha","title":"MCP servers - Alpha","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T23:53:05.750Z","originalFileLocation":"integrations/mcp-servers.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Give the agent more tools with hosted MCP servers, or local ones that run inside every session.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Alpha\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"MCP servers - Alpha\">\u003cmeta data-mint-head property=\"og:description\" content=\"Give the agent more tools with hosted MCP servers, or local ones that run inside every session.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Alpha docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lyzr-15a99e0f.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=MCP+servers\u0026amp;description=Give+the+agent+more+tools+with+hosted+MCP+servers%2C+or+local+ones+that+run+inside+every+session.\u0026amp;theme=47e77850d1920921f207f882\u0026amp;signature=976db4b4e9ae377e0ff3c9d575ac5a2c28b20ac64c3c798fd34e56a151be01db\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"MCP servers - Alpha\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Give the agent more tools with hosted MCP servers, or local ones that run inside every session.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lyzr-15a99e0f.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=MCP+servers\u0026amp;description=Give+the+agent+more+tools+with+hosted+MCP+servers%2C+or+local+ones+that+run+inside+every+session.\u0026amp;theme=47e77850d1920921f207f882\u0026amp;signature=976db4b4e9ae377e0ff3c9d575ac5a2c28b20ac64c3c798fd34e56a151be01db\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lyzr-15a99e0f/O3mZitdsDDMzESr8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Alpha\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1A54F0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/mcp-servers.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://lyzr-15a99e0f.mintlify.app/#organization\",\"name\":\"Alpha\",\"url\":\"https://lyzr-15a99e0f.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lyzr-15a99e0f/peFm_Sv4KgaR4cun/images/logo/light.png?fit=max\u0026auto=format\u0026n=peFm_Sv4KgaR4cun\u0026q=85\u0026s=633788f52e3e9a8128bdaf2d7a62fff6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://lyzr-15a99e0f.mintlify.app#website\",\"name\":\"Alpha\",\"url\":\"https://lyzr-15a99e0f.mintlify.app\",\"publisher\":{\"@id\":\"https://lyzr-15a99e0f.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers#webpage\",\"url\":\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers\",\"name\":\"MCP servers\",\"description\":\"Give the agent more tools with hosted MCP servers, or local ones that run inside every session.\",\"dateModified\":\"2026-10-27T23:53:05.750Z\",\"isPartOf\":{\"@id\":\"https://lyzr-15a99e0f.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://lyzr-15a99e0f.mintlify.app/integrations/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MCP servers\",\"item\":\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers#article\",\"headline\":\"MCP servers\",\"name\":\"MCP servers\",\"description\":\"Give the agent more tools with hosted MCP servers, or local ones that run inside every session.\",\"url\":\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers\",\"mainEntityOfPage\":{\"@id\":\"https://lyzr-15a99e0f.mintlify.app/integrations/mcp-servers#webpage\"},\"dateModified\":\"2026-10-27T23:53:05.750Z\",\"publisher\":{\"@id\":\"https://lyzr-15a99e0f.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://lyzr-15a99e0f.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Alpha\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Alpha","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Build","pages":[{"title":"Build","href":"/sessions/home-screen"}]},{"tab":"Ship","pages":[{"title":"Ship","href":"/publish/publish-your-app"}]},{"tab":"Connect","groups":[{"group":"Integrations","pages":[{"title":"Integrations","sidebarTitle":"Integrations catalog","href":"/integrations/overview"},{"title":"Connect an app","sidebarTitle":"Connect apps","description":"Sign in to an app or paste its key once, and its tools work in every session you own, your previews and the apps you publish.","href":"/integrations/connect-apps"},{"title":"MCP servers","sidebarTitle":"MCP servers","href":"/integrations/mcp-servers"},{"title":"Use integrations in your app","sidebarTitle":"In your app","description":"Call your connected apps and MCP servers from the code the agent writes, in the Preview, in published apps and in exported copies.","href":"/integrations/in-your-app"}]},{"group":"Secrets","pages":[{"title":"Secrets","sidebarTitle":"Secrets","href":"/secrets"}]},{"group":"Skills","pages":[{"title":"Skills","sidebarTitle":"Skills","href":"/skills/overview"},{"title":"Skills that ship with Alpha","sidebarTitle":"Built-in skills","href":"/skills/built-in-skills"}]}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/agents/build-an-agent"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/reference/slash-commands"}]}]},"title":"MCP servers - Alpha","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BbYRHtLl.js","DynamicMarkdown-DN96a4Ur.js","zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}