MCP connector and Snowflake managed MCP

Has anyone been able to get MCP connector working against Snowflake managed MCP servers? At first I was stuck at the OAuth configuration for the MCP connector in ChatGPT because it didn’t support specifying ClientID and ClientSecret, which Snowflake’s MCP servers require to use OAuth (they don’t support DCR). Then I noticed yesterday ChatGPT added the ability to specify Client ID and Secret. After trying that I get a little further. Setting up the MCP connector correctly forwards to the Snowflake login page. After authenticating on the Snowflake side (this required a work around because ChatGPT MCP connector does not allow you to specify a scope parameter), it redirects back to ChatGPT MCP connector setup and then errors out with a generic error. I tried several combinations and could not get it to work. I know this is all new on both sides, but I’m curious if anyone has gotten this to work.

2 Likes

Ran in to the same issues myself. Got through the Oauth config with the Snowflake docs but then when it gets passed back to chatGPT the error “Not all requested permissions were granted” shows up and the connector doesn’t work.

1 Like

I use Auth0. It works well til Monday. From Tue, i also got “Not all requested permissions were granted” error like you.

Maybe ChatGPT update something and broken the OAuth?

Hi @rletness Do you mind sharing the workaround for the scope parameter?
Did you also need to whitelist any chatgpt egress IPs in snowflake?

The workaround was just to change the authorization URL based on this:

Change the scope from session%3Arole%3Aall to session%3Arole%3Arole name you want to authenticate and resubmit the URL.

This was taken from the Snowflake managed MCP server docs. The downside is that this has to be done each time you authenticate, which is not really a workaround, rather a big pain.

I talked to both Snowflake and OpenAI and it seems like the two sides (MCP client and MCP server) don’t quite speak the same protocol quite yet. Hopefully this is resolved soon.

See Apps SDK - it is showing the UI for a tool call, but not actually calling the tool - #4 by gusdeoliveira. I believe there was an update today that broke MCP apps.

Thanks. Yeah I tried that but it failed at the callback since the connector expects the all role scope. I have submitted a feature request too.

Hey all, I was able to get the chatgpt MCP connector working with Snowflake Managed MCP today.
I think there have been some updates on both sides (no longer need to change the authorization URL mentioned above) and I wasn’t getting the usual anonymous error on ChatGPT’s side.
Key components are:

  1. Getting the security integration + MCP settings correct on Snowflake’s side with Oauth.
  2. Ensuring you’re not running into any network policies on your snowflake account that would block ChatGPT from connecting.
  3. Confirming that whatever default Snowflake role you auth in with has the right privileges for the MCP (in my case secondary roles were also being acknowledged)
  4. Dev access in chatgpt enterprise to build the custom connector

Here is the example SQL code for my Snowflake security integration (token refresh/validity is your choice):
CREATE OR REPLACE SECURITY INTEGRATION MCP_OAUTH
TYPE = OAUTH
OAUTH_CLIENT = CUSTOM
ENABLED = TRUE
OAUTH_CLIENT_TYPE = ‘CONFIDENTIAL’
OAUTH_REDIRECT_URI = ‘https:\\chatgptcom\connector_platform_oauth_redirect’ {Note: Change the backslashes to forward slashes… forums wouldn’t let me leave the redirect uri due to the link}
OAUTH_ISSUE_REFRESH_TOKENS = TRUE
OAUTH_REFRESH_TOKEN_VALIDITY = 86400;

Ultimately I was able to mix and match what I needed for the MCP server / agent / permissioning from the Snowflake Quickstart Get Started with OpenAI SDK and Managed MCP for Cortex Agents. Keep in mind that the end host/client for that one is not chatgpt enterprise.

Hey! I followed your instructions and got the connector installed in ChatGPT, but it is not showing any “Actions” or “Tools“, even thought I did configure one in Snowflake. Has that happened to you?

Glad to hear the connector is established!

My first guess is that you need to add that to the chat window itself. In the chat bar in ChatGPT (next to the “Ask Anything” prompt) there is a plus sign. Click it, and then in the dropdown list you should see your connector if it has been installed properly and the connection is currently enabled. Once that is added to the chat bar you should be good there.

A second scenario (I don’t think this is your issue) is if ChatGPT can see the tools in the MCP server but is unable to use the tools, then most likely you need to check your Snowflake permissions to use the underlying tools in the MCP server. This issue would be more obvious, as ChatGPT would return an error message from the Snowflake MCP after pinging it.