outlit-mcp

Use when querying Outlit customer data via MCP tools (outlit_*). Triggers on customer analytics, revenue metrics, activity timelines, cohort analysis, churn risk assessment, SQL queries against analytics data, or any Outlit data exploration task.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "outlit-mcp" with this command: npx skills add outlitai/outlit-agent-skills/outlitai-outlit-agent-skills-outlit-mcp

Outlit MCP Server

Query customer intelligence data through 8 MCP tools covering customer profiles, user activity, facts, semantic search, revenue metrics, and raw SQL analytics.

Quick Start — Which Tool to Use

What you needTool
Browse/filter customersoutlit_list_customers
Browse/filter usersoutlit_list_users
Single customer deep diveoutlit_get_customer
What happened with a customer?outlit_get_timeline
What do we know about a customer?outlit_get_facts
Question about a customer or topicoutlit_search_customer_context
Custom analytics / aggregationsoutlit_query (SQL)
Discover tables & columnsoutlit_schema

Facts vs Search vs Timeline — When to Use Each

These three tools all surface customer context but serve different purposes:

ToolPurposeExample
outlit_get_factsList all known facts about a customer with status/confidence"Show me everything we know about Acme"
outlit_search_customer_contextFind relevant context for a specific question"What has Acme said about pricing?"
outlit_get_timelineSee what happened in chronological order"What happened with Acme last week?"

Rule of thumb: Use get_facts to browse, search_customer_context to answer questions, get_timeline to see chronology.

Before writing SQL: Always call outlit_schema first to discover available tables and columns.

Common Patterns

Find at-risk customers:

{
  "tool": "outlit_list_customers",
  "billingStatus": "PAYING",
  "noActivityInLast": "30d",
  "orderBy": "mrr_cents",
  "orderDirection": "desc"
}

Find context about a topic across all customers:

{
  "tool": "outlit_search_customer_context",
  "query": "data retention compliance concerns"
}

Revenue breakdown (SQL):

{
  "tool": "outlit_query",
  "sql": "SELECT billing_status, count(*) as customers, sum(mrr_cents)/100 as mrr_dollars FROM customer_dimensions GROUP BY 1 ORDER BY 3 DESC"
}

MCP Setup

Get an API Key

Go to Settings > MCP Integration in the Outlit dashboard (app.outlit.ai).

Auto-Detection Setup

Detect the current environment and run the appropriate setup command:

  1. Check for Claude Code — If running inside Claude Code (check if claude CLI is available), run:

    claude mcp add outlit https://mcp.outlit.ai/mcp -- --header "Authorization: Bearer API_KEY"
    
  2. Check for Cursor — If .cursor/mcp.json exists in the project or home directory, add to that file:

    {
      "mcpServers": {
        "outlit": {
          "url": "https://mcp.outlit.ai/mcp",
          "headers": { "Authorization": "Bearer API_KEY" }
        }
      }
    }
    
  3. Check for Claude Desktop — If claude_desktop_config.json exists at ~/Library/Application Support/Claude/ (macOS) or %APPDATA%/Claude/ (Windows), add to that file:

    {
      "mcpServers": {
        "outlit": {
          "url": "https://mcp.outlit.ai/mcp",
          "headers": { "Authorization": "Bearer API_KEY" }
        }
      }
    }
    

Ask the user for their API key if not provided. Replace API_KEY with the actual key.

Verify Connection

Call outlit_schema to confirm the connection is working.


Tool Reference

outlit_list_customers

Browse and filter customers. Returns paginated list with summary info.

Key ParamsValues
billingStatusNONE, TRIALING, PAYING, CHURNED
hasActivityInLast / noActivityInLast7d, 14d, 30d, 90d (mutually exclusive)
mrrAbove / mrrBelowcents (10000 = $100)
searchname or domain
orderBylast_activity_at, first_seen_at, name, mrr_cents
limit1-1000 (default: 20)
cursorpagination token

outlit_list_users

Browse and filter users. Returns paginated list with activity info.

Key ParamsValues
journeyStageDISCOVERED, SIGNED_UP, ACTIVATED, ENGAGED, INACTIVE
customerIdfilter by customer
hasActivityInLast / noActivityInLastNd, Nh, or Nm (e.g., 7d, 24h) — mutually exclusive
searchemail or name
orderBylast_activity_at, first_seen_at, email
limit1-1000 (default: 20)
cursorpagination token

outlit_get_customer

Full details for a single customer. Accepts customer ID, domain, or name.

Key ParamsValues
customercustomer ID, domain, or name (required)
includeusers, revenue, recentTimeline, behaviorMetrics
timeframe7d, 14d, 30d, 90d (default: 30d)

Only request the include sections you need — omitting unused ones is faster.

outlit_get_timeline

Chronological activity timeline for a customer.

Key ParamsValues
customercustomer ID or domain (required)
channelsSDK, EMAIL, SLACK, CALL, CRM, BILLING, SUPPORT, INTERNAL
eventTypesfilter by specific event types
timeframe7d, 14d, 30d, 90d, all (default: 30d)
startDate / endDateISO 8601 (mutually exclusive with timeframe)
limit1-1000 (default: 50)
cursorpagination token

outlit_get_facts

List all structured facts known about a customer. Use outlit_search_customer_context instead if you have a specific question.

Key ParamsValues
customercustomer ID or domain (required)
timeframe7d, 14d, 30d, 90d, all (default: 30d)
limit1-100 (default: 50)
cursorpagination token

outlit_search_customer_context

Semantic + full-text search over customer context (facts and emails). Use this to answer specific questions. Omit customer to search across all customers.

Key ParamsValues
customercustomer ID, domain, or name (optional — omit for cross-customer search)
querynatural language question or topic (required)
topK1-50 (default: 20)
occurredAfter / occurredBeforeISO 8601 datetime bounds

outlit_query

Raw SQL against ClickHouse analytics tables. SELECT only. See SQL Reference for ClickHouse syntax and security model.

Key ParamsValues
sqlSQL SELECT query (required)
limit1-10000 (default: 1000)

Available tables: events, customer_dimensions, user_dimensions, mrr_snapshots.

outlit_schema

Discover tables and columns. Call with no params for all tables, or table: "events" for a specific table. Always call this before writing SQL.


Data Model

Billing status: NONE → TRIALING → PAYING → CHURNED

Journey stages: DISCOVERED → SIGNED_UP → ACTIVATED → ENGAGED → INACTIVE

Data formats:

  • Monetary values in cents (divide by 100 for dollars)
  • Timestamps in ISO 8601
  • IDs with string prefixes (cust_, contact_, evt_)

Pagination: All list endpoints use cursor-based pagination. Check pagination.hasMore before requesting more pages. Pass pagination.nextCursor as cursor for the next page.


Best Practices

  1. Call outlit_schema before writing SQL — discover columns, don't guess
  2. Use customer tools for single lookups — don't use SQL for individual customer queries
  3. Use search for questions, get_facts for browsing — search ranks by relevance, facts lists everything
  4. Filter at the source — use tool params and WHERE clauses, not post-fetch filtering
  5. Only request needed includes — omit unused include options for faster responses
  6. Always add time filters to event SQLWHERE occurred_at >= now() - INTERVAL N DAY
  7. Convert cents to dollars — divide monetary values by 100 for display
  8. Use LIMIT in SQL — cap result sets to avoid large data transfers

Known Limitations

  1. SQL is read-only — no INSERT, UPDATE, DELETE
  2. Organization isolation — cannot query other organizations' data
  3. Timeline requires a customer — cannot query timeline across all customers
  4. MRR filtering is post-fetch — may be slower on large datasets in list_customers
  5. Event queries need time filters — queries without date ranges scan all data
  6. ClickHouse syntax — uses different functions than MySQL/PostgreSQL (see SQL Reference)

Tool Gotchas

ToolGotcha
outlit_list_customershasActivityInLast and noActivityInLast are mutually exclusive
outlit_list_customerssearch checks name and domain only
outlit_get_customerbehaviorMetrics depends on timeframe — extend it if empty
outlit_get_timelinetimeframe and startDate/endDate are mutually exclusive
outlit_search_customer_contextOmit customer to search across all customers
outlit_queryUse ClickHouse date syntax: now() - INTERVAL 30 DAY, not DATE_SUB()
outlit_queryproperties column is JSON — use JSONExtractString(properties, 'key')

References

ReferenceWhen to Read
SQL ReferenceClickHouse syntax, security model, query patterns
WorkflowsMulti-step analysis: churn risk, revenue dashboards, account health

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

outlit-sdk

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

outlit-cli

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

outlit

No summary provided by upstream source.

Repository SourceNeeds Review
Research

learn-anything-in-one-hour

Teach users any new skill/knowledge X in ~1 hour using a fixed 4-step workflow optimized for complete beginners, focusing on 80/20 rule for maximum value in minimum time. Triggers when user asks to learn something new quickly, or mentions "learn X in one hour".

Archived SourceRecently Updated