Skip to main content

MCP server for the SnowSyncMD Snowflake Native App — exposes schema docs, structured object search, column inspection, and real-time annotations as Claude tools

Project description

SnowSyncMD MCP Server

Connects Claude Code directly to your SnowSyncMD app so Claude can read Snowflake schema documentation automatically — no copy-pasting, no manual downloads.

How it works

You ask Claude: "Write a query joining ORDERS to CUSTOMERS"
       ↓
Claude calls MCP tool: snowflake_get_schema("MY_DB", "SALES", "ORDERS")
Claude calls MCP tool: snowflake_get_schema("MY_DB", "SALES", "CUSTOMERS")
       ↓
Claude gets the column list from SnowSyncMD
       ↓
Claude writes the correct query with real column names

No live Snowflake queries. No manual schema exports. Claude reads the pre-built Markdown files that SnowSyncMD keeps up to date every 10 minutes.


Installation

pip install mcp snowflake-connector-python python-dotenv

Configuration

Add to your Claude Code settings (~/.claude/settings.json):

{
  "mcpServers": {
    "snowsyncmd": {
      "command": "python3",
      "args": ["/path/to/snowsyncmd_mcp.py"],
      "env": {
        "SNOWFLAKE_ACCOUNT":  "your-account-identifier",
        "SNOWFLAKE_USER":     "your_username",
        "SNOWFLAKE_PASSWORD": "your_password",
        "SNOWFLAKE_ROLE":     "ACCOUNTADMIN",
        "SNOWFLAKE_WAREHOUSE": "COMPUTE_WH",
        "SNOWSYNCMD_APP":     "snowsyncmd"
      }
    }
  }
}

Tip: Set credentials via a .env file in the same directory instead of hardcoding them in settings.json.


Available tools

Claude sees these tools and calls them automatically:

Tool What it does
snowflake_get_schema Returns the full MD doc for one object (table, view, function…)
snowflake_search_schema Searches by keyword across all schema docs
snowflake_list_objects Lists every tracked object with DB/schema/type
snowflake_get_status Shows sync health, registered databases, last sync time
snowflake_sync Triggers an immediate sync (all DBs or one)

Example conversations

You:    "What columns does the FACT_ORDERS table have?"
Claude: [calls snowflake_get_schema] → returns column list with types
Claude: "FACT_ORDERS has 14 columns: ORDER_SK (NUMBER), ORDER_ID (NUMBER), ..."

You:    "Write a query to show monthly revenue by channel"
Claude: [calls snowflake_search_schema "revenue"] → finds FACT_ORDERS, V_DAILY_SALES
Claude: [calls snowflake_get_schema for V_DAILY_SALES]
Claude: "Here's a query using V_DAILY_SALES which already aggregates by channel: ..."

You:    "Is the schema documentation up to date?"
Claude: [calls snowflake_get_status]
Claude: "Last synced 3 minutes ago. 180 objects tracked across 2 databases."

You:    "I just added a new table — refresh the docs"
Claude: [calls snowflake_sync]
Claude: "Sync complete. 1 new object found and documented."

Using with Claude Code hooks (optional)

Add a UserPromptSubmit hook to auto-check sync status before each session:

~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": "echo 'Snowflake schema docs available via snowsyncmd MCP tools'"
      }]
    }]
  }
}

Requirements

  • SnowSyncMD installed from Snowflake Marketplace
  • ACCOUNTADMIN or app_admin role on the SnowSyncMD app
  • Python 3.11+
  • mcp, snowflake-connector-python, python-dotenv

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snowsyncmd_mcp-1.1.0.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snowsyncmd_mcp-1.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file snowsyncmd_mcp-1.1.0.tar.gz.

File metadata

  • Download URL: snowsyncmd_mcp-1.1.0.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for snowsyncmd_mcp-1.1.0.tar.gz
Algorithm Hash digest
SHA256 09dbebc5bd0aebe6100f48db6dcb53360a15891e20086387d895beb09921afaf
MD5 15516b3679bd6d427f2c18ab584d4f1f
BLAKE2b-256 84eb07ed5553a685b5e53e9680bda0f763395deaca58c9a822c6e4d328200a83

See more details on using hashes here.

File details

Details for the file snowsyncmd_mcp-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: snowsyncmd_mcp-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for snowsyncmd_mcp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 879143979b4f0d12fc627a4c09fbfc20ff60b5bc8704bd3457f26f173e51949a
MD5 ffdbd84f9c3c4fab735c395167eec096
BLAKE2b-256 72b4ff5ab91bd11b283da7dc30d6986398ababfe24710fbfd53573e971b56d90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page