Lcontext
An MCP server that exposes user behavior as queryable data for AI coding agents.
Lcontext
The product analytics agent for your AI coding tools. Lcontext studies how users navigate your product, where they engage, hesitate, and drop off, and delivers behavioral context via MCP.
Works with: Claude Code, Claude Desktop, Cursor, Windsurf, Cline, and any MCP-compatible AI coding tool.
Setup
1. Sign Up
Create a free account at lcontext.com. This gives you access to the dashboard, your tracking script tag, and your API key.
2. Add the Tracking Script to Your App
The tracking script collects behavioral data from your app so Lcontext can study how users navigate your product.
Add this to your app's HTML:
<script src="https://lcontext.com/it.js?iTag=YOUR_SITE_TAG" defer></script>
Replace YOUR_SITE_TAG with the tag from your app settings in the dashboard.
- Page views - URL, title, referrer
- Clicks - Buttons, links, interactive elements (label text only, no personal data)
- Form submissions - Form metadata (no field values captured)
- Scroll depth - How far users scroll (25% increments)
- Device metadata - Screen size, browser language, viewport
Privacy-focused: No passwords, input values, or personal information collected. ~4KB minified.
Associate the anonymous visitor with your application's user ID:
lcontext('setProfileId', 'user-123');
Track custom events:
lcontext('trackEvent', 'purchase', { productId: 'abc', amount: 99.99 });
3. Connect Your AI Coding Tool
Find your API key in Settings > API Access in the dashboard, then set up your tool:
Run the install script - it will prompt for your API key and configure Claude automatically:
curl -fsSL https://lcontext.com/api/cli/install | bash
Then restart Claude.
Option 1: One-Click Install
After clicking, replace your-api-key-here with your actual API key in Cursor settings.
Option 2: Manual Setup
First, install the binary:
curl -fsSL https://lcontext.com/api/cli/install | bash
Then open Cursor Settings (Cmd/Ctrl + Shift + J), and add the server:
{
"lcontext": {
"command": "lcontext",
"env": {
"LCONTEXT_API_KEY": "your-api-key-here"
}
}
}
First, install the binary:
curl -fsSL https://lcontext.com/api/cli/install | bash
Then open Windsurf and navigate to Cascade > Configure > MCP Servers (or click the hammer icon), then click "Add Server" and select "Add custom server". Add this configuration:
{
"lcontext": {
"command": "lcontext",
"env": {
"LCONTEXT_API_KEY": "your-api-key-here"
}
}
}
First, install the binary:
curl -fsSL https://lcontext.com/api/cli/install | bash
Then in VS Code with Cline installed:
- Open Cline settings (click gear icon in Cline panel)
- Navigate to MCP Servers section
- Add a new server:
{
"lcontext": {
"command": "lcontext",
"env": {
"LCONTEXT_API_KEY": "your-api-key-here"
}
}
}
First, install the binary:
curl -fsSL https://lcontext.com/api/cli/install | bash
Lcontext works with any tool that supports the Model Context Protocol. The general configuration pattern is:
- Command:
lcontext - Environment Variable:
LCONTEXT_API_KEY=your-api-key-here
Refer to your tool's documentation for MCP server configuration.
Alternative Installation Methods
The install script used above (curl -fsSL https://lcontext.com/api/cli/install | bash) is the recommended approach. If you need an alternative:
Download the binary for your platform from the latest release:
| Platform | Binary |
|---|---|
| macOS (Apple Silicon) | lcontext-macos-arm64 |
| macOS (Intel) | lcontext-macos-x64 |
| Linux (x64) | lcontext-linux-x64 |
| Linux (ARM64) | lcontext-linux-arm64 |
| Windows (x64) | lcontext-windows-x64.exe |
If you have Node.js installed:
npm install -g lcontext-mcp
git clone https://github.com/lcontext/lcontext.git
cd lcontext
npm install
npm run build
Available Tools
get_page_context
Get comprehensive analytics context for a page including stats, visitor metrics, Web Vitals (LCP, FCP, FID, CLS), and all interactive elements with their engagement data.
Parameters:
path(required): The page path (e.g.,/products,/checkout)startDate(optional): Start date for stats (ISO format)endDate(optional): End date for stats (ISO format)periodType(optional):dayorweek(default:day)
Example:
Get the analytics context for the /checkout page for the last 7 days
list_pages
List all tracked pages for your app.
Parameters:
limit(optional): Maximum pages to return (default: 50, max: 200)search(optional): Filter by path (e.g.,/product)
Example:
What pages are being tracked on my app?
get_element_context
Get detailed analytics for a specific interactive element by its label or ID.
Parameters:
elementLabel(optional): Element's label text or aria-labelelementId(optional): Element's HTML IDpagePath(optional): Filter by page path
Example:
Show me analytics for the "Add to Cart" button
get_app_context
Get application-wide analytics including sessions, visitors, page views, engagement metrics, device breakdown (mobile/tablet/desktop), top browsers, top OS, Web Vitals (LCP, FCP, FID, CLS), and AI-generated insights.
Parameters:
periodType(optional):dayorweek(default:day)limit(optional): Number of periods to return (default: 7, max: 30)
Example:
Give me an overview of my app's behavioral analytics for the last week
get_visitors
Get a list of visitors with AI-generated profiles, interests, engagement trends, segment assignments, device info (type, browser, OS), and location (city, region, country).
Parameters:
limit(optional): Maximum visitors to return (default: 20, max: 100)offset(optional): Offset for paginationsegmentId(optional): Filter by segment IDsearch(optional): Search in visitor ID, title, summary, interests, goals, action, evidencefirstVisitAfter(optional): Filter by first visit date (ISO format)firstVisitBefore(optional): Filter by first visit date (ISO format)lastVisitAfter(optional): Filter by last visit date (ISO format)lastVisitBefore(optional): Filter by last visit date (ISO format)engagementTrend(optional):increasing,stable, ordecreasingoverallSentiment(optional):positive,negative,neutral, ormixed
Example:
Show me visitors with increasing engagement trend
get_visitor_detail
Get detailed profile and recent sessions for a specific visitor, including device info (type, browser, OS) and location.
Parameters:
visitorId(required): The visitor's unique identifier
Example:
Get the full profile for visitor abc123
get_sessions
Get a list of user sessions with AI-generated summaries, titles, sentiment analysis, and device type.
Parameters:
limit(optional): Maximum sessions to return (default: 20, max: 100)offset(optional): Offset for paginationvisitorId(optional): Filter by visitor IDsentiment(optional):positive,negative, orneutralstartDate(optional): Start date for filtering (ISO format)endDate(optional): End date for filtering (ISO format)search(optional): Search in session title and descriptionminDuration(optional): Minimum session duration in secondsmaxDuration(optional): Maximum session duration in secondsminEventsCount(optional): Minimum number of eventsmaxEventsCount(optional): Maximum number of eventspagePath(optional): Filter sessions that visited a specific page path
Example:
Show me negative sentiment sessions from the last 24 hours
get_session_detail
Get detailed information about a specific session including full event timeline, visitor context, device type, and location (city, region, country).
Parameters:
sessionId(required): The session's numeric ID
Example:
Show me the details of session 12345
get_user_flows
Get automatically detected user journey patterns showing how users navigate through the application. Each flow represents a common page sequence with engagement metrics and drop-off points.
Parameters:
limit(optional): Maximum flows to return (default: 10, max: 50)category(optional): Filter by category:conversion,exploration,onboarding,support,engagement,otherminSessions(optional): Minimum session count for a flow to be includedperiodType(optional):dayfor daily flows,weekfor weekly aggregated flows
Example:
Show me the most common user journeys on my app
get_analysis
Get a pre-computed daily or weekly analysis report. Contains problem areas, funnel health, session findings, and prioritized recommendations — all referencing specific page paths, element IDs, and session IDs you can investigate with other tools.
Parameters:
periodType(optional):dayfor daily report (default),weekfor weekly reportdate(optional): ISO date string for the period start (e.g.,2026-02-23). Defaults to most recent completed analysis.
Example:
Get the latest daily analysis for my app
Prompts
analytics-guide
A comprehensive guide for analyzing user behavior data with Lcontext tools. Includes step-by-step analysis workflows, decision trees for common scenarios (e.g., "this page isn't converting", "performance feels slow"), and a reference table connecting analytics findings to code investigations.
AI agents can request this prompt to get expert-level guidance on how to use the tools effectively.
Updating
The binary includes a self-update command:
lcontext --update
Environment Variables
| Variable | Description | Required |
|---|---|---|
LCONTEXT_API_KEY | Your Lcontext API key | Yes |
LCONTEXT_API_URL | API base URL (default: https://lcontext.com) | No |
Contributing
See CONTRIBUTING.md for development setup and build instructions.
License
MIT - see LICENSE for details.
Related Servers
Upstox MCP Server
A Model Context Protocol (MCP) server that integrates with the Upstox Trading API, enabling AI agents like Claude to securely access Indian stock market data, perform technical analysis, and view account information in read-only mode.
OPET Fuel Prices
Provides access to current fuel prices from OPET, a Turkish petroleum distribution company.
Firelinks.cc MCP
Create and manage short links for tracking and distributing traffic.
BTC & SOL Futures Analiz Dashboard
A real-time dashboard for comprehensive analysis of Bitcoin and Solana futures markets.
RustChain MCP
MCP server for RustChain Proof-of-Antiquity blockchain and BoTTube AI video platform — 14 tools for wallet management, mining stats, video operations, and agent-to-agent job marketplace.
Cred Protocol
On-chain credit scoring, financial reporting, and identity verification for Ethereum addresses. Get credit scores (300-1000), portfolio values, and identity attestations.
MCP 3D Printer Server
Connects to 3D printer management systems like OctoPrint, Klipper, and Bambu Labs for model manipulation and printing workflows.
FatSecret
Server that connects Claude/Cursor to the FatSecret Platform API. Search foods, track your diet, manage recipes, and monitor weight directly from your AI assistant.
Sophtron
Connect to any financial, utility, billing accounts; retrieve balance, transactions, payment and identity data instantly.
Bitnovo Pay
MCP server for Bitnovo Pay integration with AI agents. Provides cryptocurrency payment capabilities through Bitnovo Pay API. Features include payment creation, status checking, QR code generation, and webhook management with support for multiple tunnel providers (ngrok, zrok, manual).