Skip to main content
You connect a client to the Enterspeed Query MCP Server by signing in with your Enterspeed account. You give your client the server URL, it sends you to Enterspeed in a browser window, and you sign in with your normal Enterspeed credentials. Nothing goes into your client’s configuration except the URL.
The Management App gives you the same instructions. Go to Settings → Connect an agent, click Connect an agent and choose Query MCP. Once you are signed in, ask your client to select the tenant and environment you want to work in. Every signed in session needs this. See After you connect. If the connection is for an agent that runs unattended, or you want it fixed to one environment and one index scope, connect with a scoped key instead. See Using a scoped key instead.
Configure the root URL with the http transport type. There is no separate /sse endpoint. The server delivers its responses as a server sent event stream on the root URL itself.

Connect by signing in

Every client below opens the remote server directly and takes you through the sign in itself. None of them needs Node.js or a bridge program on your machine. The mcp-remote bridge is only for a client that cannot open a remote server, and for Claude Desktop’s config file when you connect with a scoped key.

Agent CLIs

Start a session, run /mcp, and pick enterspeed-query to sign in. A browser window opens. Authenticate with your Enterspeed credentials.
This installs the server for the current project only. Add --scope user to make it available in every project.

Web

On a Team or Enterprise plan only an Owner can add a custom connector. The Owner adds it under Organization settings, then Connectors. Everyone else finds it under Customize, then Connectors, and clicks Connect.
  1. Open Customize, then Connectors.
  2. Click + and then Add custom connector.
  3. Give it a name, for example Enterspeed Query, and paste https://mcp.query.enterspeed.com/ as the remote MCP server URL.
  4. Click Add, then sign in with your Enterspeed account when Claude asks.

Desktop apps

Claude Desktop uses the same Connectors steps as Claude.ai, including the note for Team and Enterprise plans. The only difference is that after you click Add, the sign-in opens in a browser window.
The Connectors screen cannot send an x-api-key header. To connect Claude Desktop with a scoped key, use its config file and the mcp-remote bridge, as shown under Using a scoped key instead.

IDEs

Cursor reads MCP servers from ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one.
A remote server is identified by url, and there is no type field to set. Cursor takes you through the Enterspeed sign in in your browser when it first connects.The Add to Cursor button in the Management App adds the same entry for you. It opens this link.

Other MCP clients

The server works with any MCP client that can open a remote Streamable HTTP server and follow an OAuth sign in. Point it at the root URL above. If a client cannot open a remote server, or does not complete the sign in, put mcp-remote in front of it. Configure it as a local command, npx -y mcp-remote "https://mcp.query.enterspeed.com/", and the bridge handles the remote connection and the sign in for the client.

After you connect

A signed in session starts without a tenant or environment, and no query tool works until you choose one. Signing in tells the server who you are. It does not say which environment you mean, so get_indices and the query_* tools have nothing to run against until the session is pointed somewhere. A signed in session is given three extra tools for this, list_available_contexts, select_context and current_context. You do not have to call them by hand. Just ask.
List my available Enterspeed contexts, then select the production environment.
If you belong to exactly one tenant with exactly one environment, asking your client to select your context is enough. It picks the only one available. The first selection in an environment asks your permission to create the environment client that signing in relies on, and the first query needs a short wait after it is created. A selection can also need repeating after a reconnect. See what to expect when you sign in.

Using a scoped key instead

A scoped environment client key is the other way to connect. Use one for an agent that runs unattended, because it cannot complete a browser sign in. Use one too when you want the connection fixed to one environment and the index scope you gave the key. Nobody has to select a context, and the agent cannot reach beyond what the key allows. The key needs the Query API and MCP Server scopes at minimum, and your client sends it in an x-api-key header. See Creating a scoped key.
VS Code’s GitHub Copilot reads MCP servers from an mcp.json file. For a single workspace, put the config at .vscode/mcp.json; for every workspace, use the MCP: Open User Configuration command from the command palette.
Reload the window (Developer: Reload Window from the command palette) and open the Copilot chat pane. The Enterspeed tools appear in the tool picker once Copilot connects.
Never commit .vscode/mcp.json with a real key. Use ${input:enterspeed-key} with a matching inputs entry so VS Code prompts for the key on first use, or put the config in your user profile instead of the workspace.

Other clients with a key

Any MCP client that can set a custom HTTP header can use a key. Point it at https://mcp.query.enterspeed.com/ with the http transport and set the x-api-key header. These are known to work.
  • Cursor — .cursor/mcp.json, under mcpServers, with url and headers (Cursor uses mcpServers where VS Code uses servers).
  • Windsurf — settings → Cascade → MCP Servers, using the URL + header form.
  • Continue — ~/.continue/config.json under experimental.modelContextProtocolServers.
  • Zed — settings under "context_servers".
If your client cannot set a header, sign in instead. As a last resort you can pass the key as an ?apiKey= query string parameter on the MCP URL. Avoid that in production, because the key ends up in request logs along the whole path.

Troubleshooting

Next steps