Set up Snowflake Cortex¶
Connect Snowflake Cortex to the Amperity MCP server by registering it as an external MCP server and signing in with your Amperity credentials. Once connected, CoCo (Cortex Code), Snowflake Intelligence, and Cortex Agents can call Amperity tools directly from Snowflake.
Setup involves four steps:
Create an API integration that points at the Amperity MCP server and its OAuth endpoints.
Register the external MCP server through that integration.
Grant usage on the server and integration to the roles that need it.
Authorize the connection by signing in to Amperity with OAuth.
Once you authorize, the Amperity MCP server is available in CoCo and Snowflake Intelligence.
For details on Snowflake’s external MCP connector feature, see the Snowflake documentation.
Requirements¶
Connecting Snowflake Cortex to the MCP server requires:
An active Amperity account with access to at least one tenant.
The
ACCOUNTADMINrole to create the API integration and the external MCP server.USAGEon both the external MCP server object and the API integration for any role that will use the connection.
Create an API integration¶
Create an API integration that allows Snowflake to reach the Amperity MCP server and complete the OAuth handshake. Run the following as ACCOUNTADMIN:
CREATE OR REPLACE API INTEGRATION amperity_mcp_integration
API_PROVIDER = external_mcp
API_ALLOWED_PREFIXES = ('https://mcp.amperity.com')
API_USER_AUTHENTICATION = (
TYPE = oauth2
OAUTH_CLIENT_ID = 'nwbd0MGCyh1VysmYQM05UoDXIuVPdGEs'
OAUTH_CLIENT_SECRET = 'placeholder'
OAUTH_TOKEN_ENDPOINT = 'https://mcp.amperity.com/oauth/token'
OAUTH_AUTHORIZATION_ENDPOINT = 'https://mcp.amperity.com/authorize'
OAUTH_RESOURCE_URL = 'https://mcp.amperity.com'
)
ENABLED = true;
OAUTH_CLIENT_ID is Amperity’s public MCP client ID and is the same for every customer.
Important
The Amperity MCP server is a public OAuth client that uses PKCE and does not issue a client secret. Snowflake still requires OAUTH_CLIENT_SECRET to be non-empty, so supply any non-empty placeholder value, such as placeholder.
Register the external MCP server¶
Register the Amperity MCP server through the integration you just created. The server object is created in your current database and schema, so set your context first. Replace <db> and <schema> with the database and schema where you want the server object to live:
USE DATABASE <db>;
USE SCHEMA <schema>;
CREATE EXTERNAL MCP SERVER amperity_mcp
WITH DISPLAY_NAME = 'Amperity MCP'
URL = 'https://mcp.amperity.com'
API_INTEGRATION = amperity_mcp_integration;
Grant usage¶
Grant USAGE on both the external MCP server and the API integration to the role used by anyone who will query the agent. Replace <analyst_role> with that role:
GRANT USAGE ON EXTERNAL MCP SERVER amperity_mcp TO ROLE <analyst_role>;
GRANT USAGE ON INTEGRATION amperity_mcp_integration TO ROLE <analyst_role>;
Verify the connection¶
Confirm the server is registered and that the agent can reach Amperity.
Confirm the server exists and inspect its configuration:
SHOW EXTERNAL MCP SERVERS IN ACCOUNT; DESCRIBE EXTERNAL MCP SERVER <db>.<schema>.amperity_mcp;
In CoCo, Snowflake Intelligence, or a Cortex Agent with the Amperity MCP connector enabled, prompt:
"Tell me about my Amperity tenant."The agent calls the tenant_info tool and returns details about your current Amperity tenant.