Outlit SDK
MCP serverAI & modelsWith Outlit, your AI can automate support and revenue workflows using real-time understanding of customers. Once added, your agent acts on live customer context to handle those tasks for you.
Use Outlit SDK in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Outlit SDK and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use Outlit SDK
Needs your own Outlit SDK account. You sign in to it and approve access when you connect.
Details
Available today. Use it from your connected AI after setup.
After adding Outlit, point your AI at the support or revenue workflows you want automated so it can start working with real-time customer context. You can find its code on GitHub at github.com/outlitai/outlit-sdk.
What your AI can do with it
- Understand customers in real time
- Automate support workflows
- Automate revenue workflows
- Use live customer context when handling support requests
Install Outlit SDK
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user outlit-sdk 'https://mcp.outlit.ai/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://mcp.outlit.ai/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=outlit-sdk&config=eyJ1cmwiOiJodHRwczovL21jcC5vdXRsaXQuYWkvbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp.outlit.ai/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add outlit-sdk --url 'https://mcp.outlit.ai/mcp'Run it once, then sign in with codex mcp login outlit-sdk if the server asks for an account.
From the project's README
As published by outlitai/outlit-sdk in README.md.
Outlit helps customer-success teams protect and grow long-tail revenue. It connects customer data, monitors for churn risk and expansion opportunities, and brings attention items with supporting evidence to your team.
Start with the product guides for guided setup and your first attention item. For programmatic access, use the developer and agent guide.
This repository contains the public SDK and developer integration packages for Outlit: browser, server, CLI, tool contract, and Pi packages for sending customer signals to Outlit and querying customer context from agent workflows. It is not the hosted remote MCP server implementation; use the canonical Outlit-owned discovery endpoints below for MCP, API, and agent metadata.
Packages
This monorepo contains these packages under the @outlit scope:
- @outlit/core - Core SDK functionality and base client
- @outlit/browser - Browser-specific SDK with automatic page view tracking
- @outlit/node - Node.js SDK for server-side event tracking
- @outlit/cli - CLI for Outlit customer intelligence
- @outlit/tools - Customer intelligence tool contracts and client helpers for API and agent integrations
- @outlit/pi - Pi package with Outlit customer intelligence tools and skill guidance
Agent and Crawler Discovery
Use these canonical resources for citations, schema-driven clients, and agent setup instead of copying generated specs or server metadata into this repository:
| Surface | Canonical URL | Purpose |
|---|---|---|
| Documentation | https://docs.outlit.ai | Product guides plus SDK, CLI, API, MCP, and customer context documentation |
| Docs index for agents | https://docs.outlit.ai/llms.txt | Machine-readable map of documentation pages |
| Product resource index | https://www.outlit.ai/llms.txt | Agent-facing map of SDK packages, docs, API contracts, MCP, CLI, Pi, and skills |
| OpenAPI spec | https://docs.outlit.ai/openapi.json | Canonical OpenAPI contract for public API and ingest surfaces |
| API catalog | https://www.outlit.ai/.well-known/api-catalog | Linkset for API, MCP, OAuth, docs, and support discovery |
| AI catalog | https://www.outlit.ai/.well-known/ai-catalog.json | Agentic Resource Discovery catalog for Outlit API, MCP, skills, and SDK resources |
| MCP Registry listing | https://registry.modelcontextprotocol.io/v0.1/servers?search=ai.outlit/outlit | Official MCP Registry search surface for ai.outlit/outlit |
| MCP server metadata | https://mcp.outlit.ai/.well-known/mcp/server.json | Runtime metadata for the hosted remote MCP server |
| MCP server card | https://mcp.outlit.ai/.well-known/mcp/server-card.json | Runtime discovery card for the hosted remote MCP server |
| MCP docs | https://docs.outlit.ai/ai-integrations/mcp | Connect remote MCP clients with workspace URLs and OAuth |
| Agent skills | https://docs.outlit.ai/ai-integrations/skills | Official outlit and outlit-sdk skill installation guidance |
The hosted MCP server and OAuth metadata live on mcp.outlit.ai; this SDK repo is the public package and developer integration surface.
Installation
Choose the package that matches the integration surface:
| Package | Install | Use when |
|---|---|---|
@outlit/browser | npm install @outlit/browser | Browser apps, React, Next.js, Vue, Nuxt, SvelteKit, Angular, Astro, and script-tag tracking |
@outlit/node | npm install @outlit/node | Node.js servers, API routes, jobs, webhooks, CLIs, desktop main processes, and native JavaScript runtimes |
@outlit/core | npm install @outlit/core | Lower-level custom SDK implementations that do not need browser or Node runtime helpers |
@outlit/cli | npm install -g @outlit/cli | Terminal access to Outlit customer intelligence and setup workflows |
@outlit/tools | npm install @outlit/tools | Custom API or agent integrations that need typed Outlit tool gateway contracts and client helpers |
@outlit/pi | npm install @outlit/pi | Pi agents that need Outlit customer intelligence tools and skill guidance |
| Rust crate | cargo add outlit | Rust backends, CLIs, and Tauri backends |
Tracking SDK examples:
# For browser applications
npm install @outlit/browser
# For Node.js applications
npm install @outlit/node
# For custom implementations
npm install @outlit/core
Quick Start
Browser
import { Outlit } from '@outlit/browser'
const outlit = new Outlit({
publicKey: 'pk_xxx',
trackPageviews: true,
trackForms: true,
})
// Identify a user
outlit.user.identify({
email: 'user@example.com',
traits: { name: 'John Doe' },
customerId: 'cust_123', // Your app's account/workspace/customer ID
customerTraits: { plan: 'pro' },
})
// Track events
outlit.track('button_clicked', {
button_id: 'signup',
page: '/homepage',
})
// Track meaningful product activity. Core derives lifecycle stages from
// ordinary events, including your selected activation event.
outlit.track('onboarding_completed', { flow: 'self_serve' })
Using the singleton API
import { init, track, user } from '@outlit/browser'
// Initialize once at app startup
init({ publicKey: 'pk_xxx' })
// Then use anywhere
track('page_viewed', { page: '/home' })
user().identify({
email: 'user@example.com',
customerId: 'cust_123', // Your app's account/workspace/customer ID
})
track('subscription_upgraded', { plan: 'pro' })
Using with React
import { OutlitProvider, useOutlit } from '@outlit/browser/react'
// Wrap your app
function App() {
return (
<OutlitProvider publicKey="pk_xxx">
<MyComponent />
</OutlitProvider>
)
}
// Use in components
function MyComponent() {
const { track } = useOutlit()
return (
<button onClick={() => track('onboarding_completed')}>
Click me
</button>
)
}
Node.js
import { Outlit } from '@outlit/node'
const outlit = new Outlit({
publicKey: 'pk_xxx',
})
// Track server-side events (requires identity)
outlit.track({
customerId: 'cust_123', // Your app's account/workspace/customer ID
eventName: 'api_request',
properties: {
endpoint: '/api/users',
method: 'GET',
status: 200,
},
})
// `customerId`-only track events are valid immediately.
// When you later call identify() with the same customerId and an email,
// Outlit can link that account/workspace to the customer resolved from email.
// Identify a user
outlit.user.identify({
email: 'user@example.com',
traits: { plan: 'pro' },
customerId: 'cust_123', // Your app's account/workspace/customer ID
customerTraits: { plan: 'pro' },
})
// Track ordinary product events. Billing status comes from verified
// integrations such as Stripe, not authoritative SDK commands.
outlit.track({
customerId: 'cust_123',
eventName: 'subscription_upgraded',
properties: { plan: 'pro' },
})
// Flush events before shutdown
await outlit.flush()
Features
- Modern TypeScript - Full TypeScript support with type definitions
- Tree-shakeable - Optimized bundle size with dual ESM/CJS exports
- Event Queueing - Automatic batching and flushing of events
- Multi-platform - Separate packages for browser and Node.js
- Auto-tracking - Automatic page view tracking in browser
- Middleware Support - Easy integration with Express and similar frameworks
- Persistent Identity - User and anonymous ID persistence
- High Performance - Minimal overhead and efficient batching
- Type Safe - Full TypeScript support with strict types
Examples
- Pi agents - Build customer intelligence agents in Pi with
@outlit/pi
Development
This project uses a modern monorepo setup with the following tools:
- Bun - Fast all-in-one JavaScript runtime and package manager
- Turbo - Build system for monorepo orchestration
- TypeScript - Type-safe JavaScript
- tsup - Fast TypeScript bundler
- Biome - Fast linter and formatter
- Playwright - End-to-end testing
- Changesets - Version management and changelogs
Setup
# Install dependencies
bun install
# Build all packages
bun run build
# Run tests
bun run test
# Lint code
bun run lint
# Type check
bun run typecheck
# Format code
bun run format
Project Structure
outlit-sdk/
├── .github/workflows/ # CI/CD workflows
├── examples/
│ └── pi-agents/ # Example Pi agents using @outlit/pi
├── packages/
│ ├── browser/ # Browser SDK with React bindings
│ ├── cli/ # Outlit CLI
│ ├── core/ # Shared types and utilities
│ ├── node/ # Node.js SDK
│ ├── pi/ # Pi package for Outlit tools
│ ├── tools/ # Customer intelligence tool contracts
│ └── typescript-config/ # Shared TypeScript configs
├── package.json # Root package with workspace config
├── bun.lock # Bun lockfile
├── turbo.json # Turbo build configuration
└── biome.json # Biome linter/formatter config
Creating a Changeset
When making changes that should be released, create a changeset:
bunx changeset
This will prompt you to:
- Select which packages are affected
- Choose the version bump type (patch, minor, major)
- Write a description of the change
The changeset file will be committed with your PR and used to generate changelogs on release.
CI/CD
Workflows
- CI (
ci.yml) - Runs on PRs: lint, typecheck, build, test - Release (
release.yml) - Runs on main: publish canary to npm + CDN, create version PR or publish stable releases - Verify CDN Auth (
verify-cdn-auth.yml) - Manual only: checks Workload Identity Federation exchange and CDN read access; the optionalverify_writeinput writes then deletes one tiny test object under__compliance_checks/
Stable releases are intentionally separate from SDK source merges. See
docs/release-coordination.md for the Version Packages checklist
and the required Core-production-before-stable-SDK order for coordinated contracts.
Required Secrets
For maintainers setting up the repository:
| Secret | Description |
|---|---|
NPM_TOKEN | npm access token with publish permission for @outlit scope |
CDN deploys authenticate to Google Cloud via Workload Identity Federation instead of a stored service account key. Maintainers configure these repository variables:
| Variable | Description |
|---|---|
GCP_WORKLOAD_IDENTITY_PROVIDER | Full WIF provider resource name (projects/<number>/locations/global/workloadIdentityPools/<pool>/providers/<provider>) |
GCP_SERVICE_ACCOUNT | Deploy service account email with Storage Object Admin on cdn.outlit.ai bucket |
Creating NPM_TOKEN
- Go to npmjs.com and sign in
- Navigate to Access Tokens → Generate New Token → Granular Access Token
- Set permissions: Read and write for
@outlitpackages - Copy the token and add as
NPM_TOKENsecret in GitHub
Creating the GCP Workload Identity setup
- Go to Google Cloud Console
- Navigate to IAM & Admin → Service Accounts
- Use the deploy service account (
github-actions-cdn-deploy) - Grant "Storage Object Admin" role on the
cdn.outlit.aibucket - Create a dedicated Workload Identity Pool for this repo with an OIDC provider for GitHub (issuer
https://token.actions.githubusercontent.com), restricted by attribute condition to this repository's immutable IDs and therelease/verify-cdn-authworkflows onrefs/heads/main - Grant the pool's
attribute.repository_idprincipalSetroles/iam.workloadIdentityUseron the service account - Add
GCP_WORKLOAD_IDENTITY_PROVIDERandGCP_SERVICE_ACCOUNTas repository variables
No service account key JSON is created or stored in GitHub.
CDN Deployment
The browser SDK IIFE bundle is deployed to Google Cloud Storage:
| Path | Description |
|---|---|
/canary/outlit.js | Latest from main branch (5 min cache) |
/stable/outlit.js | Latest stable release (1 year cache) |
/v{version}/outlit.js | Immutable versioned release (1 year cache) |
npm tags:
| Tag | Description |
|---|---|
latest | Stable release (npm install @outlit/browser) |
canary | Latest from main (npm install @outlit/browser@canary) |
Manual deployment (requires gcloud CLI):
cd packages/browser && bun run deploy:canary # Deploy to canary
cd packages/browser && bun run deploy:stable # Deploy to stable (requires confirmation)
cd packages/browser && bun run deploy:version # Deploy versioned release
Documentation
- Developer docs
- Browser SDK
- Node.js SDK
- Rust SDK
- API reference
- OpenAPI spec
- MCP integration
- Agent skills
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
Apache-2.0 - see LICENSE for details.
Support
- Issues: GitHub Issues
- Docs: Documentation
Signals
- GitHub stars
- 6
- Forks
- 1
- Last commit
- Oct 2026
- Weekly_downloads
- 2k weekly_downloads
Advanced
- Delivery
- outlit MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
ai-outlit-outlit- Source
- github.com/outlitai/outlit-sdk
- Hosted endpoint
https://mcp.outlit.ai/mcp
github.com/outlitai/outlit-sdk
More in AI & models
MCP server · upstash
More in AI & modelsAdButler
MCP server · adbutler
More in AI & modelsatom-mcp-server
MCP server · a7om-ai
More in AI & modelsottasia
MCP server · aiweather-anurag
More in AI & modelsunphurl
MCP server · 123ergo
More in AI & modelsmicrosoft-learn-mcp
MCP server · microsoftdocs
More in AI & models