Skip to content

Overview

Finn is Rise Analytics’ AI analytics assistant for credit unions. It connects to your analytics data warehouse and answers questions in plain English — “How many active members do I have?” — by generating and running the right queries, then synthesizing a natural-language answer (not raw rows).

The Finn SDK is the client you use to talk to Finn from your own application. It hides the transport, auth, and streaming protocol behind a small, framework-agnostic API — and it ships for two languages:

  • Node.js / TypeScript@riseanalytics/finn-sdk (npm install @riseanalytics/finn-sdk)
  • Pythonfinn-sdk (pip install finn-sdk)

Both wrap the same backend and expose the same concepts, events, and error codes. The Node client uses camelCase and promises/async-iterables; the Python client uses snake_case and asyncio (async for, await).

Your app ──▶ Finn SDK (FinnClient) ──WebSocket──▶ Finn backend ──▶ AI + data warehouse
Node.js or Python
  • You call FinnClient with a URL and an API key.
  • The SDK opens a WebSocket, authenticates, sends your question, and streams the answer back as it’s generated.
  • The Finn backend does the heavy lifting: planning, querying the warehouse, and composing the answer.
  • Streaming. Answers arrive token by token through an async-iterable, so you can render them live.
  • Conversations. Each turn returns a conversationId; pass it back to ask follow-ups with full context.
  • Plain errors. Failures surface as a typed FinnError with a code you can switch on (unauthorized, rate_limited, timeout, …).
  • Two languages, one API. A TypeScript package (ESM + CJS, Node ≥ 18) and an asyncio Python package (≥ 3.9) — same methods, same events, same error codes.
PackageLanguageUse it when
@riseanalytics/finn-sdkNode.js / TypeScriptYou’re writing JS/TS (a service, a script, a web backend) and want to call Finn directly.
finn-sdkPythonYou’re writing Python (a script, a notebook, a backend) and want to call Finn directly.
@riseanalytics/finn-mcpYou want an AI agent (Claude, Cursor, …) to call Finn as a tool via the Model Context Protocol.

Ready? Head to the Quick Start.