---
updatedAt: 2026-09-08T14:57:07.000Z
agentTools:
  projectIndex: https://developerdocs.elabnext.com/llms.txt
---

# Connect LM Studio to SciSure Research

<style>
@media (min-width:768px){.rm-CustomPage>div{max-width:none;margin:0 0 0 288px;padding:40px 32px}.rm-CustomPage .SuperHubCustomPage-content-header,.rm-CustomPage .markdown-body{max-width:800px}}
@media (min-width:1140px){.rm-CustomPage>div{padding-right:312px}}
@media (max-width:767px){.rm-CustomPage>div{padding-left:20px;padding-right:20px}}
.mcp-rail{position:sticky;top:150px;z-index:1;display:flow-root;height:0;width:288px;margin:0 0 0 -320px;padding:0;transform:translateY(-150px);font-size:14px;line-height:20px}
.mcp-rail-heading{margin:16px 22px 8px 15px;padding:0 0 0 10px;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.24px;text-transform:uppercase;color:rgb(102,107,121)}
.mcp-rail a{display:block;margin:1px 22px 0 15px;padding:6px 5px 6px 10px;border-radius:8px;color:rgb(72,76,88);text-decoration:none;font-weight:450}
.mcp-rail a:hover{background:rgba(0,161,162,.06)}
.mcp-rail a.active{background:rgba(0,161,162,.09);color:rgb(0,161,162)}
.mcp-rail::after{content:"";position:absolute;left:277px;top:0;width:1px;height:100vh;background:rgba(102,107,121,.6)}
.mcp-mobile-nav{display:none;margin:0 0 20px;font-size:13px;line-height:1.6}
.mcp-toc{position:sticky;top:0;z-index:1;display:flow-root;height:0;width:197px;margin:0 0 0 calc(100% + 61px);font-size:13px;line-height:19.5px}
.mcp-toc-actions{display:flex;flex-wrap:wrap;gap:6px;margin:30px 0 36px}
.mcp-toc .mcp-toc-actions a,.mcp-toc .mcp-toc-actions button{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border:1px solid rgba(0,0,0,.1);border-radius:6px;background:transparent;color:rgb(72,76,88);font:inherit;font-size:14px;font-weight:500;line-height:21px;white-space:nowrap;text-decoration:none;cursor:pointer;opacity:1;box-sizing:border-box}
.mcp-toc .mcp-toc-actions a:hover,.mcp-toc .mcp-toc-actions button:hover{background:rgba(0,0,0,.04)}
.mcp-toc .mcp-toc-actions svg{width:14px;height:14px;flex:none}
.mcp-toc ul{position:relative;list-style:none;margin:0;padding:0}
.mcp-toc ul::before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;border-radius:2px;background:rgba(0,0,0,.075)}
.mcp-toc ul::after{content:"";position:absolute;left:0;top:var(--mcp-toc-top,0px);width:2px;height:var(--mcp-toc-height,19.5px);border-radius:2px;background:rgb(0,161,162);transition:top .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1)}
.mcp-toc li{margin:0;padding:0}
.mcp-toc li+li{margin-top:8px}
.mcp-toc a{display:block;padding:0 0 0 12px;color:rgb(102,107,121);text-decoration:none;transition:color .3s}
.mcp-toc a:hover,.mcp-toc a.active,.mcp-toc:not(.mcp-toc-live) .mcp-toc-page{color:rgb(50,52,58)}
.rm-CustomPage .SuperHubCustomPage-content-header{padding-bottom:16px;border-bottom:1px solid rgba(128,128,128,.25);margin-bottom:24px}
.markdown-body .lightbox.closed img{max-width:50%}
[data-color-mode=dark] .mcp-rail-heading,[data-color-mode=dark] .mcp-rail a,[data-color-mode=dark] .mcp-toc a{color:rgb(174,178,189)}
[data-color-mode=dark] .mcp-rail a.active{color:rgb(0,161,162)}
[data-color-mode=dark] .mcp-rail::after{background:rgba(174,178,189,.6)}
[data-color-mode=dark] .mcp-toc ul::before{background:rgba(255,255,255,.075)}
[data-color-mode=dark] .mcp-toc a:hover,[data-color-mode=dark] .mcp-toc a.active,[data-color-mode=dark] .mcp-toc:not(.mcp-toc-live) .mcp-toc-page{color:rgb(255,255,255)}
[data-color-mode=dark] .mcp-toc .mcp-toc-actions a,[data-color-mode=dark] .mcp-toc .mcp-toc-actions button{border-color:rgba(255,255,255,.1);color:rgb(201,204,212)}
[data-color-mode=dark] .mcp-toc .mcp-toc-actions a:hover,[data-color-mode=dark] .mcp-toc .mcp-toc-actions button:hover{background:rgba(255,255,255,.06)}
@media (prefers-color-scheme:dark){
[data-color-mode=system] .mcp-rail-heading,[data-color-mode=system] .mcp-rail a,[data-color-mode=system] .mcp-toc a{color:rgb(174,178,189)}
[data-color-mode=system] .mcp-rail a.active{color:rgb(0,161,162)}
[data-color-mode=system] .mcp-rail::after{background:rgba(174,178,189,.6)}
[data-color-mode=system] .mcp-toc ul::before{background:rgba(255,255,255,.075)}
[data-color-mode=system] .mcp-toc a:hover,[data-color-mode=system] .mcp-toc a.active,[data-color-mode=system] .mcp-toc:not(.mcp-toc-live) .mcp-toc-page{color:rgb(255,255,255)}
[data-color-mode=system] .mcp-toc .mcp-toc-actions a,[data-color-mode=system] .mcp-toc .mcp-toc-actions button{border-color:rgba(255,255,255,.1);color:rgb(201,204,212)}
[data-color-mode=system] .mcp-toc .mcp-toc-actions a:hover,[data-color-mode=system] .mcp-toc .mcp-toc-actions button:hover{background:rgba(255,255,255,.06)}
}
@media (max-width:1139px){.mcp-toc{display:none}}
@media (max-width:767px){.mcp-rail{display:none}.mcp-mobile-nav{display:block}}
</style>

<nav class="mcp-rail" aria-label="MCP guides">
<div class="mcp-rail-heading" role="heading" aria-level="2">SciSure MCP</div>
<a href="/page/mcp">Overview</a>
<a href="/page/mcp-openai">ChatGPT (OpenAI)</a>
<a href="/page/mcp-anthropic-claude">Claude</a>
<a class="active" aria-current="page" href="/page/mcp-lm-studio">LM Studio</a>
<a href="/page/mcp-open-webui">Open WebUI</a>
<a href="/page/mcp-other-mcp-apps">Other MCP applications</a>
</nav>

<aside class="mcp-toc" aria-label="On this page">
<div class="mcp-toc-actions"><button type="button" class="mcp-copy"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg><span class="mcp-copy-label">Copy page</span></button><a href="/page/mcp-lm-studio.md" target="_blank" rel="noopener">View as Markdown</a></div>
<ul>
<li><a class="mcp-toc-page" href="#">Connect LM Studio to SciSure Research</a></li>
<li><a href="#requirements-for-connecting-to-scisure-mcp">Requirements for connecting to SciSure MCP</a></li>
<li><a href="#1-register-lm-studio-in-scisure-research">1. Register LM Studio in SciSure Research</a></li>
<li><a href="#2-find-lm-studios-mcp-configuration">2. Find LM Studio’s MCP configuration</a></li>
<li><a href="#3-configure-the-scisure-mcp-server">3. Configure the SciSure MCP server</a></li>
<li><a href="#4-activate-scisure-for-the-chat">4. Activate SciSure for the chat</a></li>
<li><a href="#5-authorize-lm-studio-and-review-the-tools">5. Authorize LM Studio and review the tools</a></li>
<li><a href="#6-use-scisure-data-in-the-chat">6. Use SciSure data in the chat</a></li>
<li><a href="#common-connection-issues">Common connection issues</a></li>
</ul>
</aside>

<p class="mcp-mobile-nav"><strong>SciSure MCP:</strong> <a href="/page/mcp">Overview</a> · <a href="/page/mcp-openai">ChatGPT (OpenAI)</a> · <a href="/page/mcp-anthropic-claude">Claude</a> · <a href="/page/mcp-lm-studio">LM Studio</a> · <a href="/page/mcp-open-webui">Open WebUI</a> · <a href="/page/mcp-other-mcp-apps">Other MCP applications</a></p>

Configure SciSure Research as an MCP server in LM Studio, authenticate with OAuth, and make SciSure tools available to a model running locally.

## Requirements for connecting to SciSure MCP

**SciSure MCP requires a Private Cloud or On-premises SciSure Research environment.** It is not available on the shared Cloud.

This setup connects an LM Studio chat to the SciSure MCP endpoint using credentials from a SciSure OAuth client.

* **LM Studio** — Open LM Studio, load a model, and start a chat so the right sidebar controls are visible.
* **SciSure group settings** — You need permission to create an OAuth2 client and select its scopes.

**How the connection works:** LM Studio → OAuth → SciSure MCP

## 1. Register LM Studio in SciSure Research

In SciSure Research, go to **Group Settings → OAuth2 Clients** and add a new application for LM Studio.

**LM Studio redirect URI**

```text
http://127.0.0.1:33389/mcp-oauth-callback
```

* Enter a recognizable application name, such as **LM Studio MCP**.
* Use the redirect URI shown above exactly.
* Select the required scopes. Choose **Read only** when LM Studio only needs to retrieve data.
* Create or update the application and retain its **Client ID** and **Client Secret**.

<Image align="center" src="https://files.readme.io/40c24dc2cb8ca4536a0a49732659016fbd10f0bcbb3c0b4c9eb0d5c5dfe641cc-lm-studio-01.png" alt="SciSure Research OAuth application configured with the LM Studio callback URL and read-only scopes" caption="Use the LM Studio callback URL and grant only the scopes the connection needs." />

## 2. Find LM Studio’s MCP configuration

Open an active chat in LM Studio. In the right sidebar, find **Integrations**, select **+ Install**, and then choose **Edit mcp.json**.

> ❗️ Open a chat first
>
> The right sidebar does not show the integration controls until an active chat is open.

<Image align="center" src="https://files.readme.io/d38a8afa70c9550f5241531fce459e681719aa003944d3c76438696ca2dc7a1a-lm-studio-02.png" alt="LM Studio right sidebar showing Integrations, Install, and Edit mcp.json" caption="Open Install under Integrations, then select Edit mcp.json." />

## 3. Configure the SciSure MCP server

Add the following server to `mcp.json`. Replace the credential placeholders with the Client ID and Client Secret created in step 1.

**Required MCP endpoint:** `https://<your-instance>/api/v1/mcp`

**Your MCP endpoint:** Replace `<your-instance>` with the base URL you use to sign in to your SciSure Research environment (for example `acme.elabnext.com`, `acme.elabjournal.com`, or a custom domain for self-hosted deployments). Your instance also publishes its configuration at `<your-instance>/.well-known/oauth-authorization-server`.

**mcp.json**

```json
{
  "mcpServers": {
    "scisure": {
      "url": "https://<your-instance>/api/v1/mcp",
      "auth": {
        "CLIENT_ID": "<your-client-id>",
        "CLIENT_SECRET": "<your-client-secret>"
      }
    }
  }
}
```

> ❗️ Keep the Client Secret private
>
> The Client Secret is sensitive. Do not paste a real secret into documentation, screenshots, chat, or source control.

Save `mcp.json` and return to the active chat. LM Studio should load the new integration as `mcp/scisure`.

## 4. Activate SciSure for the chat

Open **Integrations** from the chat prompt and switch **mcp/scisure** on. The **scisure** chip appears in the prompt when the integration is active.

<Image align="center" src="https://files.readme.io/02bda6da54f866b9db579067e4c1166810ec91eec141a20f944f4d007b87176d-lm-studio-03.png" alt="LM Studio Integrations menu with mcp/scisure enabled and the scisure chip visible in the prompt" caption="Enable mcp/scisure for the current LM Studio chat." />

## 5. Authorize LM Studio and review the tools

Complete the SciSure Research sign-in and authorization flow when it opens. Review the requested permissions before allowing access.

* Sign in to SciSure Research if prompted.
* Verify that you recognize the OAuth application and its permissions, then approve access.
* Wait for **Authentication Successful**, then return to LM Studio.
* Review the SciSure tools shown in the right sidebar.

<Image align="center" src="https://files.readme.io/339842f0177aceb14387ef7e708b584321a46b801d0444f2393345598c26e14a-lm-studio-04.png" alt="Browser message confirming Authentication Successful and asking the user to continue in LM Studio" caption="Return to LM Studio after authentication succeeds." />

<Image align="center" src="https://files.readme.io/3ff0194d0c75d055e3467b6fcd5f235f5fa5582cf003c0ea0bf525fff0bd37df-lm-studio-05.png" alt="LM Studio showing available SciSure MCP tools after authentication" caption="The tools granted by the OAuth scopes are now available." />

> 👍 Connection ready
>
> If the tool list appears under `mcp/scisure`, the connection is ready to use.

## 6. Use SciSure data in the chat

Ask a question that maps to one of the enabled SciSure tools. LM Studio shows the tool call in the conversation before presenting the result.

**Example prompt**

```text
How many experiments do I have?
```

<Image align="center" src="https://files.readme.io/3a8a48719560588facde7c04e222a18214e53e9dc68301f434928ea6bc525135-lm-studio-06.png" alt="LM Studio chat using the get_experiments tool from mcp/scisure and returning an experiment result" caption="A successful response shows the SciSure tool used to answer the question." />

> 👍 Connected
>
> You are connected. LM Studio can now use the SciSure tools permitted by your OAuth scopes and SciSure Research access.

## Common connection issues

Check these items before recreating the OAuth client or MCP configuration.

<details>
<summary>I cannot see Integrations in the right sidebar</summary>

Load a model and open an active chat first. LM Studio only shows the relevant right-sidebar controls when a chat is active.

</details>

<details>
<summary>mcp/scisure does not appear after saving mcp.json</summary>

Check that the JSON is valid, the server is nested under `mcpServers`, and the endpoint is exactly `https://<your-instance>/api/v1/mcp`.

</details>

<details>
<summary>The OAuth redirect is rejected</summary>

Confirm the SciSure OAuth client uses `http://127.0.0.1:33389/mcp-oauth-callback` exactly, including the protocol, IP address, port, and path.

</details>

<details>
<summary>Authentication does not complete</summary>

Recheck the Client ID and Client Secret in `mcp.json`. Confirm that the OAuth client is active and has at least one required scope.

</details>

<details>
<summary>The connection works, but a tool is missing</summary>

Check whether the corresponding read scope was selected for the SciSure OAuth client, then authenticate again so the updated permissions can take effect.

</details>