{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ttxzkyuxcc2t","handle":"ae-mcp-2","url":"https://wellknown.network/agents/ae-mcp-2","links":{"self":"https://wellknown.network/agents/ae-mcp-2/record.json","html":"https://wellknown.network/agents/ae-mcp-2","markdown":"https://wellknown.network/agents/ae-mcp-2/record.md","api":"https://wellknown.network/api/v1/agents/ae-mcp-2","status":"https://wellknown.network/api/v1/agents/ae-mcp-2/status","claim":"https://wellknown.network/agents/ae-mcp-2/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/ae-mcp-2/claim.json","badge":"https://wellknown.network/agents/ae-mcp-2/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:ae-mcp-2","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ae-mcp","summary":"Container-ready MCP server for Snowflake with browser SSO / key-pair auth","description":"# ae-mcp\n\nA small, fast MCP server for Snowflake. Four tools, one file, browser SSO auth.\n\n## Auth\n\nAuthenticates via `externalbrowser` SSO. The connector caches the SSO ID token\nlocally (in the OS keyring, via the `secure-local-storage` extra), so the browser\nonly opens when the cached token expires — not on every server restart. Caching\nrequires this once on the account (ask an admin if it isn't already set):\n\n```sql\nALTER ACCOUNT SET ALLOW_ID_TOKEN = TRUE;\n```\n\nWhile the server process is running, `CLIENT_SESSION_KEEP_ALIVE` holds the session\nopen indefinitely — you won't be re-prompted mid-session.\n\n## Install\n\nWindows and macOS (Python 3.11+):\n\n```bash\npython -m pip install --user ae-mcp\n```\n\nOr:\n\n```bash\nuv tool install ae-mcp\n```\n\n## Configure (Cursor / Claude Desktop / Claude Code)\n\n```json\n{\n  \"mcpServers\": {\n    \"ae-mcp\": {\n      \"command\": \"ae-mcp\",\n      \"env\": {\n        \"SNOWFLAKE_ACCOUNT\": \"myorg-myaccount\",\n        \"SNOWFLAKE_USER\": \"me@example.com\",\n        \"SNOWFLAKE_ROLE\": \"ANALYST_ROLE\",\n        \"SNOWFLAKE_WAREHOUSE\": \"COMPUTE_WH\",\n        \"SNOWFLAKE_MCP_ALLOW_WRITE\": \"false\"\n      }\n    }\n  }\n}\n```\n\n`SNOWFLAKE_MCP_ALLOW_WRITE` is shown explicitly above as a reminder — it's\n`false` (read-only) by default even if omitted entirely.\n\nOptional env: `SNOWFLAKE_DATABASE`, `SNOWFLAKE_SCHEMA`.\n\n## Tools\n\n| Tool | Purpose |\n|---|---|\n| `snowflake_query` | Run SQL; results capped (default 50 rows, max 1000), wide cells truncated |\n| `snowflake_list_objects` | `SHOW TERSE` databases/schemas/tables/views/warehouses/roles with LIKE filter |\n| `snowflake_describe_table` | Column definitions (metadata-only, no warehouse compute) |\n| `snowflake_session_info` | Current user/role/warehouse/db + connection age |\n\n## Performance notes\n\n- One lazy connection, kept alive with `CLIENT_SESSION_KEEP_ALIVE`, reused across calls; auto-reconnects once on session expiry.\n- Blocking connector calls run in a worker thread — the MCP event loop never stalls.\n- `SHOW TERSE` / `DE…","publisher":null,"homepage":"https://github.com/roshanabady/ai-analytics","repository":"https://github.com/roshanabady/ai-analytics","version":"0.2.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:ae-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"data.database","name":"Databases","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.722,"provenance":"derived"}],"categories":["data","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"ae-mcp","registry":"pypi","observedAt":"2026-09-09T08:22:24.469Z","publishedAt":"2026-08-21T03:38:41.117264Z","latestVersion":"0.2.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"ae-mcp","url":"https://pypi.org/project/ae-mcp/","firstSeenAt":"2026-09-09T08:20:37.527Z","fetchedAt":"2026-09-09T08:20:37.527Z","normalizedAt":"2026-09-09T08:20:37.527Z"}]},"firstSeenAt":"2026-09-09T08:20:37.527Z","updatedAt":"2026-09-09T08:22:24.469Z"}