Public workshop materials for a governed neobank support agent built with a Snowflake Managed MCP Server.
The lab exposes four narrowly scoped Snowflake tools:
classify_intent: classifies a customer message with a fine-tuned modelsearch_help_articles: searches a synthetic help-centre knowledge baseget_transaction_status: looks up one synthetic case by reference IDfile_ticket: creates and routes a support incident
All included customer records and support content are synthetic. This repository contains no credentials, account hostnames, or executed notebook output.
- A Snowflake account with Managed MCP Server, Cortex Search, and Cortex fine-tuning access
- A warehouse named
COCO_WH, or equivalent edits to the SQL and notebook - A role allowed to create the objects used by the lab
- The public Banking77 dataset, included as generated SQL in
sql/01_banking77.sql
Banking77 is published under CC BY 4.0. The generated tables contain TEXT and LABEL columns.
Run the scripts in this order:
sql/00_setup.sqlsql/00_cases_and_status.sqlsql/01_banking77.sqlsql/03_search_help_articles.sqlsql/06_finetune_intent.sqlsql/02_case_ticket_and_routing.sqlsql/04_mcp_server.sql
The fine-tuning job in step 5 is asynchronous. The procedure can be created immediately, but wait for the job to succeed before calling CLASSIFY_INTENT_PROC or creating the MCP server.
To regenerate the Banking77 SQL from the publisher's CSV files, run scripts/build_banking77_sql.py TRAIN_CSV TEST_CSV sql/01_banking77.sql.
- In Snowsight, open Projects > Workspaces.
- Select From Git repository.
- Paste
https://github.com/sfc-gh-zhada/mcp-hol-demo. - Select Public repository. No GitHub credentials are required.
- Choose an API integration approved by your Snowflake administrator.
- Open
mcp_hol_demo.ipynb.
The MCP server exposes only the four declared tools. The CUSTOMER_AGENT role receives tool usage privileges but no direct SELECT privilege on the underlying case or ticket tables. The write action creates a support incident only; it does not move money or call an external service.
The sample creates or replaces objects in the MCP_HOL database. Use a dedicated workshop account or schema, and review object names before running it in a shared environment.
The workshop code in this repository is provided under the MIT License. Banking77 remains subject to its own CC BY 4.0 license and attribution requirements.