How to set up a remote MCP server and connect it to ChatGPT deep research

11 Likes

Is it available to Plus users?

1 Like

Topic overview:

  • requires coding
  • is with ChatGPT
  • for use which is private and not published, for ChatGPT customers

To see if it is available for you:

  • ChatGPT settings (your avatar menu)
  • “Connectors” in the settings sidebar
  • “Create” at the top
  • to the proceed to a “New Connector” dialog

Here is connectors help: https://help.openai.com/en/articles/11487775-connectors-in-chatgpt

For “Custom Connectors (MCP)” there is a + footnote marker now. This refers to “+ Not currently available for Plus plans”.

3 Likes

I have Pro, but I’m not seeing the option to add custom MCP servers in my settings.

1 Like

@edwinarbus Thanks for posting this .. it seems to be throwing a This MCP Server violates our guidelines. Learn more error ..

To confirm the MCP server endpoint works perfectly in the Responses API and also in Claude – but ChatGPT is throwing that error.

Any thoughts?

@alden I get the same error for any MCP server. I did some digging on discord and it seems that only tools named ‘search’ and ‘retrieve’ work.

1 Like

Awesome – good find – will add those tools and see if that works. Thanks much.

1 Like

Yes. It is available for plus, pro, team and enterprise

Go to your ChatGPT, Settings and then you will see connector

There Is no “Create” button on the connectors page, I’m a plus user.

1 Like

Don’t think it is for Plus yet: https://help.openai.com/en/articles/11487775-connectors-in-chatgpt

So, doing a custom connector and it’s working in Playground. I’ve got the two endpoints that are supported, search and fetch. When I try it in ChatGPT though, the model gets no results. I can see in my server logs that it is hitting the endpoints and getting data but the CoT says stuff like ‘no results’ and ‘trying this other way since I got no results’.

Any ideas on where to start debugging this? I’ve been tweaking the tool descriptions to no avail (are they cached?)

Since the Deep Research CoT is summarized, I can’t tell what is actually going wrong.

1 Like

Hi there! I’m having a terrible time getting the MCP server to give a valid response to the connection request from ChatGPT. I keep getting an unspecified error connecting to the MCP server no matter what I send back. Could you share the source code for the working MCP server? The official repo seems to be missing or private.

1 Like

@edwinarbus Thank you for sharing the update. I believe the link to the OpenAI sample MCP server repo found on docs page is broken. Would it be possible to make this repo public? Thank you.

2 Likes
📥 MCP request:
{'id': 1,
 'jsonrpc': '2.0',
 'method': 'initialize',
 'params': {'capabilities': {},
            'clientInfo': {'name': 'openai-mcp', 'version': '1.0.0'},
            'protocolVersion': '2025-03-26'}}
📤 MCP response:
{'id': 1,
 'jsonrpc': '2.0',
 'result': {'capabilities': {'tools': {'allowedTools': ['search', 'fetch']}},
            'serverInfo': {'name': 'Wooden Robot MCP Server',
                           'version': '0.1.0'}}}
INFO:     172.18.0.2:52562 - "POST /sse HTTP/1.1" 200 OK

This is as far as I’ve gotten. It still errors in the UI though. Anyone have any ideas what it’s expecting the response to be for the initialize method?

1 Like

I’ve tried it with and without tools, allowed tools and the two allowed tools.

I’ve also tried various headers, with and without "Content-Type": "application/json;" and with and without CORS. Nothing works. Please help?

I spoke to someone in the support chat asking about the MCP server functionality and they advised me to reach out to a certain email with the information and they would be able to provide guidance. I got an automated reply the next day from that email saying my unban request was denied after review. I’m not entirely sure what they ‘reviewed’, but i don’t think I got directed to the right location!

Hi again everyone!

It took waaay too much effort to reverse engineer this without the full example script, but I’ve got it working!

import json
from fastmcp import FastMCP

# Load your cupcake order records
with open("records.json", "r", encoding="utf-8") as f:
    RECORDS = json.load(f)

LOOKUP = {r["id"]: r for r in RECORDS}

def create_server():
    mcp = FastMCP(name="Cupcake MCP", instructions="Search cupcake orders")

    @mcp.tool()
    async def search(query: str):
        """
        Search for cupcake orders – keyword match.
        """
        toks = query.lower().split()
        ids = []
        for r in RECORDS:
            hay = " ".join([
                r.get("title", ""),
                r.get("text", ""),
                " ".join(r.get("metadata", {}).values()),
            ]).lower()
            if any(t in hay for t in toks):
                ids.append(r["id"])
        return {"ids": ids}

    @mcp.tool()
    async def fetch(id: str):
        """
        Fetch a cupcake order by ID.
        """
        if id not in LOOKUP:
            raise ValueError("Unknown ID")
        return LOOKUP[id]

    return mcp

if __name__ == "__main__":
    # Start FastMCP server using SSE transport at /sse endpoint
    create_server().run(
        transport="sse",
        host="0.0.0.0",
        port=8000,
        path="/sse"
    )
2 Likes

I am VERY disappointed. Here I am reverse engineering MCP to share with the community only to find out that Team subscription has a limited number of Deep Research requests per month and I’ve already run through them!!!

Seriously, @OpenAI we’re paying for this to be your beta testers, please have mercy!

My findings for the day:

Only the fetch tool seems to work. I can’t get a response of any kind from the server on the search tool, even though in my logs I can see the reponse being sent. I even tried sending a simple JSON encapsulated string!

Meanwhile I cries appear to have been heard by at least one of our AI overlords. The sample repository is finally online!

That said, it doesn’t work for me but the example I gave earlier does work, (at least for the fetch tool). The sample code fails to create the connector, I never even see the initialize request hit the server. Changing the host to "0.0.0.0" fixes it for me.

I guess there’s nothing more I can do unless OpenAI wants to give me more Deep Research requests (please?!) or is there a Beta signup somewhere so I can develop without running out? Otherwise I’ll see you guys in a month.

P.S. If you need help getting MCP running please feel free to send me a message here or on Discord (I’m Kris there).

Wanted to share a repo I put together (typescript, next.js) with an example of a working custom connector with OAuth. Hopefully it can help a few folks here get started quicker.

GitHub:

obannon37/chatgpt-deep-research-connector-example

(posting repo/project as links seem to get blocked)