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

# Connect ChatGPT 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 class="active" aria-current="page" 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>
</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-openai.md" target="_blank" rel="noopener">View as Markdown</a></div>
<ul>
<li><a class="mcp-toc-page" href="#">Connect ChatGPT 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-allow-custom-mcp-plugins">1. Allow custom MCP plugins</a></li>
<li><a href="#2-open-the-plugin-browser">2. Open the plugin browser</a></li>
<li><a href="#3-enter-the-scisure-mcp-connection">3. Enter the SciSure MCP connection</a></li>
<li><a href="#4-copy-the-chatgpt-callback-url">4. Copy the ChatGPT callback URL</a></li>
<li><a href="#5-register-chatgpt-in-scisure-research">5. Register ChatGPT in SciSure Research</a></li>
<li><a href="#6-authorize-chatgpt-in-scisure-research">6. Authorize ChatGPT in SciSure Research</a></li>
<li><a href="#7-verify-that-scisure-mcp-is-installed">7. Verify that SciSure MCP is installed</a></li>
<li><a href="#8-use-scisure-mcp-in-a-new-chat">8. Use SciSure MCP in a new 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>

Add SciSure Research as a custom MCP plugin in ChatGPT, authenticate with a SciSure OAuth client, and use authorized research tools in a conversation.

## 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.

ChatGPT connects to the public SciSure MCP endpoint and signs each user in through a SciSure OAuth client.

* **ChatGPT plugin access** — Your account and workspace policy must allow Developer mode and custom plugins.
* **SciSure group settings** — You need permission to create an OAuth2 client and select its scopes.
* **Reachable HTTPS endpoint** — OpenAI’s service must be able to reach your SciSure Research MCP endpoint over public HTTPS.

> 📘 Availability of Developer mode
>
> Developer mode availability can depend on your account and workspace policy. OpenAI also requires a reachable HTTPS MCP endpoint for this direct setup. See the [official OpenAI connection and testing guide](https://developers.openai.com/plugins/deploy/connect-chatgpt).

**How the connection works:** ChatGPT → SciSure OAuth → SciSure MCP

## 1. Allow custom MCP plugins

In ChatGPT, open **Settings → Security and login**, then turn on **Developer mode**.

> ❗️ Only connect to servers you trust
>
> Developer mode allows unverified connections that can access or modify data. Only connect to an MCP server you trust and review its requested access before continuing.

<Image align="center" src="https://files.readme.io/e043cfc5c023e5d85eb6f36e91b4bf022d416e2bf5b7f95bf287739ad8c27a18-openai-01.png" alt="ChatGPT Security and login settings with Developer mode enabled" caption="Settings → Security and login → Developer mode." />

## 2. Open the plugin browser

Go to **Settings → Plugins**, select **Browse plugins**, and use the **+** button to start a new plugin.

<Image align="center" src="https://files.readme.io/c78ed1e9bb1da44e3bed9239c4232eba7b15a461629aed8d3a15844396baa6b8-openai-02.png" alt="ChatGPT Plugins settings with Browse plugins highlighted" caption="Open Browse plugins from ChatGPT Settings." />

<Image align="center" src="https://files.readme.io/a8ca3bb874d4892d55ef55f0605b55388f185be97cd1b6a6fdb4e8a32aa180ea-openai-03.png" alt="ChatGPT plugin browser with the plus button highlighted" caption="Select + to add a custom plugin." />

## 3. Enter the SciSure MCP connection

Name the plugin, select the server URL connection method, and enter your SciSure Research MCP endpoint.

**SciSure Research MCP endpoint**

```text
https://<your-instance>/api/v1/mcp
```

* Set **Name** to **SciSure MCP**.
* Keep **Server URL** selected and replace `<your-instance>` with the base URL you use to sign in to your SciSure Research environment (for example `acme.elabnext.com`). Your instance also publishes its configuration at `<your-instance>/.well-known/oauth-authorization-server`.
* Set **Authentication** to **OAuth**.
* Review the custom-server warning and select **I understand and want to continue**.
* Do not select **Create** yet; configure OAuth first.

<Image align="center" src="https://files.readme.io/2077beb300e61d7abcce20a58da9d1c4c2bf70ddb25527a42fca7e54b8e71b47-openai-04.png" alt="ChatGPT New Plugin dialog configured for the SciSure MCP server URL and OAuth" caption="The screenshot usesmy-tenant-nameas an example. Use your own instance base URL." />

## 4. Copy the ChatGPT callback URL

Open **Advanced OAuth settings**, let ChatGPT discover the SciSure OAuth configuration, and choose **User-Defined OAuth Client**.

* Wait for ChatGPT to finish loading the discovered OAuth settings.
* Set **Registration method** to **User-Defined OAuth Client**.
* Copy the unique **Callback URL** shown by ChatGPT. You will register it in SciSure Research in step 5.
* Review the discovered default scopes, such as `experiment_read`, `protocol_read`, `sample_read`, `task_read`, and `profile_read`.

<Image align="center" src="https://files.readme.io/7bf4e63f787dccc21a7e8a245f1df628bb9783754064fa656afde5349a86afb9-openai-05.png" alt="ChatGPT OAuth advanced settings using a user-defined OAuth client, callback URL, masked secret, and SciSure scopes" caption="Copy your unique callback URL, then use the Client ID and Client Secret created in SciSure Research. The callback identifier and credentials shown are randomized examples." />

> 📘 Notices about automatic registration
>
> ChatGPT may show notices about automatic OAuth client registration in this view. They do not block this procedure, which deliberately uses a user-defined OAuth client.

## 5. Register ChatGPT in SciSure Research

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

* Set **Application name** to a recognizable value, such as **ChatGPT SciSure MCP**.
* Set a unique **Client ID**, such as **ChatGPT-SciSure-MCP**.
* Paste the unique Callback URL copied from ChatGPT into **Redirect URIs**.
* Select the scopes shown in ChatGPT. Use **Read only** when ChatGPT only needs to retrieve data.
* Create the application and retain its **Client ID** and **Client Secret**.

<Image align="center" src="https://files.readme.io/6abac0239c34c5a3e4fa34497d55d041f3f8b7ca546e7ba4743ef88b753b160b-openai-06.png" alt="SciSure Research Add application dialog configured for ChatGPT with a ChatGPT callback URL and read-only scopes" caption="The callback URL in the screenshot uses a randomized example identifier. Copy the unique URL shown in your own plugin settings." />

> ❗️ Copy the callback URL exactly
>
> A redirect URI mismatch stops authentication. Copy the Callback URL from ChatGPT exactly, without adding or removing any characters.

### Return to ChatGPT

Enter the credentials SciSure Research generated, confirm the selected scopes, and finish creating the plugin.

* Enter the SciSure OAuth **Client ID** and **Client Secret**.
* Keep **Token endpoint auth method** set to `client_secret_post`.
* Confirm the default scopes and select **Create**.

> ❗️ Keep the Client Secret private
>
> The Client Secret is sensitive. Never publish it in documentation, screenshots, messages, or source control.

## 6. Authorize ChatGPT in SciSure Research

After the plugin is created, ChatGPT prompts you to connect the SciSure account.

* Select **Sign in with SciSure MCP**.
* Sign in to your SciSure Research tenant if prompted.
* Review the application name and requested scopes.
* Approve the connection and return to ChatGPT.

<Image align="center" src="https://files.readme.io/bffdbec81d9cb5abd43fe8355b9afbdb9ac37347f9a981d137efd65492c3dd11-openai-07.png" alt="ChatGPT prompt to add SciSure MCP and sign in with SciSure MCP" caption="Select Sign in with SciSure MCP to start the OAuth authorization flow." />

## 7. Verify that SciSure MCP is installed

Return to the SciSure MCP plugin details and confirm that it lists your tenant URL and OAuth under the connection information.

<Image align="center" src="https://files.readme.io/b7ca5c378928dea1759751c07d822766d2b5ed69fa433ac11623591422e3bdf3-openai-08.png" alt="Installed SciSure MCP plugin showing the tenant MCP URL and OAuth connection information" caption="The connected plugin shows the tenant MCP URL and OAuth authorization information." />

> 👍 Plugin installed
>
> SciSure MCP is installed and authenticated. You can now enable it in a ChatGPT conversation.

## 8. Use SciSure MCP in a new chat

Start a new chat, open the tools menu with **+**, and select **SciSure MCP**.

> ❗️ Don’t see SciSure MCP?
>
> Refresh the ChatGPT page, start a new chat, and open the **+** tools menu again.

<Image align="center" src="https://files.readme.io/2ced35afc03745faaa37894cd0037f5f378a7ae0103dcec2d139e649d3016ea3-openai-09.png" alt="ChatGPT tools menu with SciSure MCP available to select" caption="Select SciSure MCP from the tools menu." />

### Ask a test question

**Example prompt**

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

<Image align="center" src="https://files.readme.io/773c35dbf4927b56b210953fe7dd489cf751eae24fa2b0e62e5091ac55d5f9ef-openai-10.png" alt="ChatGPT prompt with SciSure MCP active and a question about experiments" caption="SciSure MCP appears beside the prompt when it is active for the conversation." />

<Image align="center" src="https://files.readme.io/3cbdd55e64da276c5902676f0d7fdcc61b2cd4c06fdd5c880bdff36a224b7940-openai-11.png" alt="ChatGPT response after calling a SciSure MCP tool and returning an experiment" caption="A successful response shows the SciSure MCP tool call and returns authorized SciSure Research data." />

> 👍 Connected
>
> You are connected. ChatGPT can now use the SciSure tools permitted by the OAuth scopes and the authenticated user’s SciSure Research access.

## Common connection issues

Check these items before recreating the plugin.

<details>
<summary>Developer mode or the + button is not available</summary>

Confirm your ChatGPT account and workspace policy allow Developer mode and custom plugins. If settings are managed centrally, contact the workspace administrator.

</details>

<details>
<summary>ChatGPT cannot reach the SciSure endpoint</summary>

Confirm the configured URL is exactly `https://<your-instance>/api/v1/mcp`, uses HTTPS, and is publicly reachable from OpenAI’s service.

</details>

<details>
<summary>OAuth settings do not load</summary>

Wait for discovery to finish, then recheck the tenant URL and the SciSure authorization-server metadata. The endpoint must be reachable before ChatGPT can discover OAuth.

</details>

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

Copy the unique Callback URL from ChatGPT again and make sure the SciSure OAuth client uses it exactly, with no added or missing characters.

</details>

<details>
<summary>Sign-in fails or repeats</summary>

Recheck the SciSure OAuth Client ID, Client Secret, selected scopes, redirect URI, and `client_secret_post` token authentication method.

</details>

<details>
<summary>SciSure MCP is missing from a new chat</summary>

Refresh the ChatGPT browser tab, start a new conversation, open the + menu, and select SciSure MCP.

</details>

<details>
<summary>A SciSure tool is missing</summary>

Confirm the corresponding scope is enabled on the SciSure OAuth client, then refresh or reconnect the plugin so ChatGPT receives the updated authorization.

</details>