# FullStory MCP

> FullStory MCP Server connects your AI client to your digital experience intelligence (DXI) and product analytics. It lets you manage user profiles, track server-side events, and retrieve deep session metadata directly through natural conversation. Stop clicking through dashboards. Get full user behavior history and session playbacks instantly by querying user IDs or segment names.

## Overview
- **Category:** customer-support
- **Price:** Free
- **Tags:** digital-experience, session-replay, product-analytics, user-behavior, event-tracking, session-metadata

## Description

FullStory MCP Server connects your AI client directly to your digital experience intelligence (DXI) and product analytics. It lets you manage user profiles, track server-side events, and pull deep session metadata just by talking to it. Forget clicking through dashboards. You'll get a full history of user behavior and session playbacks instantly, just by giving it a user ID or segment name.

**Get User Profiles and History**

Use `get_user` to pull a user's entire tracking profile, including cross-device behavior and any custom variables they've got. You can also run `list_users` to query the directory for user identities, checking out session counts and aggregate behavior summaries across groups. Want to know what's going on with a specific group? `list_segments` lets you see predefined audience groups and how many people belong to each one.

**List and Search Session Records**

You can use `list_sessions` to search and list multiple session recordings based on specific criteria; it'll hand you playback links. If you've got a session ID, `get_session` pulls core metadata about that specific recording, including total active time and page transitions. For the nuts and bolts of interaction, `get_session_events` fetches a complete, chronological list of every click, navigation change, and DOM change that happened during that session. Finally, `list_exports` checks the status and gives you download links for any bulk data exports you need for your warehouse.

**Inject Backend Events**

Don't rely on the front-end JavaScript client. You can use `create_event` to log a custom, server-side event directly from your backend code into FullStory. You also have `create_update_user` to update or add custom data to a user's identity profile, and `delete_user` permanently erases a user's entire profile and all associated session data when you need to maintain compliance.

## Tools

### create_event
Logs a custom event directly from your backend code into FullStory.

### create_update_user
Updates or adds custom data to a user's identity profile in FullStory.

### delete_user
Permanently erases a user's entire profile and all associated session data in FullStory.

### get_account_info
Verifies your connection to FullStory and retrieves basic platform configuration details.

### get_session
Retrieves core metadata about a specific recorded session, including total active time and page transitions.

### get_session_events
Fetches a chronological list of all clicks, navigation changes, and DOM changes for a session ID.

### get_user
Gets a full tracking profile for a user, showing their history and custom variables.

### list_exports
Checks the status and download links for bulk data exports you need for warehouse ingestion.

### list_segments
Lists the predefined audience groups and their population counts within FullStory.

### list_sessions
Searches and lists multiple session recordings based on specific criteria and returns playback links.

### list_users
Queries the directory for user identities, session counts, and aggregate behavioral summaries.

## Prompt Examples

**Prompt:** 
```
List the last 5 sessions for user UID 'user_12345'.
```

**Response:** 
```
Retrieving sessions... I found 5 recent recording sessions for UID user_12345. Key sessions include a 'Checkout' flow from yesterday and a 'Login' event from this morning. Which playback link would you like?
```

**Prompt:** 
```
Show me the full profile details for FullStory ID '123:456'.
```

**Response:** 
```
Fetching user data... For ID 123:456, I found email 'customer@example.com'. They are part of the 'Premium' segment and have 15 custom properties, including 'total_spent: 150.00'.
```

**Prompt:** 
```
Track a server event 'Subscription Renewed' for user 'johndoe@email.com'.
```

**Response:** 
```
Event tracked! I have successfully posted the 'Subscription Renewed' event to FullStory for johndoe@email.com. This data will now appear in their user timeline.
```

## Capabilities

### Get User Profiles and History
Retrieves a user's full tracking profile, including cross-device behavior and custom variables, using the `get_user` tool.

### List and Search Session Records
Finds specific session recordings by querying criteria and returning playback links, using the `list_sessions` tool.

### Fetch Detailed Session Metadata
Retrieves deep data about a single session, like total active time and page transitions, using the `get_session` tool.

### Analyze Specific Interaction Events
Gets a complete, chronological list of every click, navigation change, and DOM change for a given session ID via `get_session_events`.

### Inject Backend Events
Logs custom, server-side events into FullStory, bypassing the front-end JavaScript client using `create_event`.

### Manage User Identities and Privacy
Upserts user records (`create_update_user`) or permanently deletes user data (`delete_user`) to maintain compliance.

## Use Cases

### Debugging a Checkout Failure
A support engineer gets a ticket about a failed checkout. They ask their agent to `list_sessions` for the user's last 24 hours, narrow it down to a checkout flow, and then use `get_session_events` to see the exact click that triggered the error. The agent identifies the specific DOM change that broke the payment widget.

### Auditing Data Compliance
A privacy officer needs to delete data for 50 users. They use `list_users` to get a list of 50 UIDs, and then loop through them, calling `delete_user` for each one. This automates the entire compliance audit process, which would otherwise take hours of manual API calls.

### Identifying High-Value Segments
A product manager wants to find users who view the pricing page but never sign up. They ask the agent to `list_segments` to confirm the 'Pricing Viewers' segment exists, then use `get_user` on a test user to check their custom properties (like 'total_spent') against the segment definition.

### Tracking Backend System Changes
A developer needs to ensure that a new feature launch (like 'Premium Tier Activated') is recorded in the user's history. Instead of relying on front-end code, they use `create_event` to programmatically log the event from the backend, ensuring the data is accurate regardless of the UI state.

## Benefits

- Pinpoint exactly what went wrong. Instead of guessing, use `get_session_events` to get a full, chronological list of every click, error, or DOM change for a specific session ID.
- Know the user without context switching. Use `get_user` to pull a complete profile—including cross-device activity and custom variables—and feed it directly to your agent.
- Keep your data clean and compliant. Use `delete_user` to automatically and programmatically erase sensitive user records, satisfying GDPR or CCPA requests with a simple command.
- Monitor large data loads easily. Use `list_exports` to check the status and get the download URI for massive raw data bundles destined for a data warehouse.
- Search across thousands of sessions. Use `list_sessions` to filter and find specific recordings by criteria, getting playback links without navigating the full dashboard.
- Maintain backend data integrity. Use `create_event` to log critical system events (like 'Subscription Renewed') directly from your backend code into the user's record.

## How It Works

The bottom line is your AI client gets direct, programmatic access to deep product analytics data, without you having to open the FullStory dashboard.

1. Subscribe to the FullStory MCP Server on the Vinkius Marketplace and enter your FullStory API Key.
2. Your AI client sends a request (e.g., 'What did user X do last week?').
3. The MCP server executes the required tool (like `get_user`) and sends the structured, actionable data back to your AI client.

## Frequently Asked Questions

**How do I use the FullStory MCP Server to get a user's full profile?**
Use the `get_user` tool. This tool retrieves the user's full tracking profile, showing cross-device activity and custom variables, which is much more comprehensive than looking at a single session record.

**What is the best way to find a specific session recording?**
Use the `list_sessions` tool. You can filter and search multiple session recordings based on specific criteria, and the output includes the necessary playback links.

**Can I log server-side events with the FullStory MCP Server?**
Yes, use the `create_event` tool. This allows you to log critical system events programmatically from your backend code, ensuring the data is captured even if the user isn't interacting with the front end.

**Does FullStory MCP Server help with data deletion?**
Yes. The `delete_user` tool permanently erases a user's entire profile and all associated session data, which is necessary for compliance tasks like CCPA.

**What if I need to see the step-by-step clicks in a session?**
Use the `get_session_events` tool. It fetches a chronological list of every single click, navigation mutation, and DOM change for a specific session ID, giving you the granular detail you need.

**How do I use the `list_users` tool with the FullStory MCP Server to check user segment membership?**
The `list_users` tool queries the FullStory subscriber and visitor directory. You can filter the results by custom parameters or segment IDs to see which users belong to specific predefined groups.

**What is the purpose of the `create_update_user` tool in the FullStory MCP Server?**
This tool syncs custom tenant data into FullStory. It lets you upsert a user identity, ensuring that external system data—like total spent or subscription status—is attached to the user's record in FullStory.

**How does the FullStory MCP Server handle large data exports?**
The `list_exports` tool manages bulk data offloads. It tracks the processing state and provides download URIs for raw data bundles, allowing you to ingest massive datasets into a separate warehouse.

**How do I get an API Key for FullStory?**
Log in to FullStory, navigate to Settings > API Keys, and click on 'Create Key' to generate a new token with Admin or Architect permissions.

**What is the difference between ID and UID?**
The 'id' is a system-generated unique identifier from FullStory, while the 'uid' is your application's own internal user ID passed via FS.identify.

**Can I watch session playbacks through the agent?**
The agent can retrieve the 'fsUrl' for any session, which is a direct link to watch the playback in your browser. You cannot watch the video inside the chat interface directly.

**Are custom user properties supported?**
Yes! When you use 'upsert_user' or 'get_user_details', all custom properties stored in the 'properties' object are accessible and manageable via the agent.