Retrieves your profile using environment variables. Automatically looks up by email or uses UNOMI_PROFILE_ID, and generates a session ID based on the current date.
Updates properties of your profile. Takes a properties object with key-value pairs to update. Supports string, number, boolean, and null values.
Retrieves a specific profile by ID. Returns full profile data from Unomi.
Searches for profiles across firstName, lastName, and email fields.
Creates a new Unomi scope for event tracking and profile updates.
The Apache Unomi Profile Manager enables Claude to maintain persistent user context through Apache Unomi's customer data platform. This integration allows Claude to remember user preferences, profile information, and context across conversations by leveraging Unomi's powerful profile management capabilities. With this tool, Claude can identify users by email, retrieve and update their profile properties, and maintain consistent context between sessions. The implementation supports profile lookup and creation, property management, basic session handling, and scope management for context isolation.
The Apache Unomi Profile Manager connects Claude to Apache Unomi, an open-source Customer Data Platform (CDP), allowing Claude to maintain persistent user context across conversations. This integration enables personalized interactions by giving Claude access to user profiles, preferences, and historical data.
Before using this tool, you'll need:
To use the Apache Unomi Profile Manager with Claude Desktop:
Install the package via npm:
npm install @inoyu/mcp-unomi-server
Configure Claude Desktop by editing the configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
Add the server configuration to the mcpServers
section:
{
"mcpServers": {
"unomi-server": {
"command": "npx",
"args": ["@inoyu/mcp-unomi-server"],
"env": {
"UNOMI_BASE_URL": "http://your-unomi-server:8181",
"UNOMI_USERNAME": "your-username",
"UNOMI_PASSWORD": "your-password",
"UNOMI_PROFILE_ID": "your-profile-id",
"UNOMI_KEY": "your-unomi-key",
"UNOMI_EMAIL": "your-email@example.com",
"UNOMI_SOURCE_ID": "claude-desktop"
}
}
}
}
Replace the placeholder values in the env
section with your actual Unomi server details:
UNOMI_BASE_URL
: URL of your Unomi server (default port is 8181)UNOMI_USERNAME
: Unomi admin username (default is "karaf")UNOMI_PASSWORD
: Unomi admin password (default is "karaf")UNOMI_PROFILE_ID
: Fallback profile ID if email lookup failsUNOMI_KEY
: Unomi authorization key (default is "670c26d1cc413346c3b2fd9ce65dab41")UNOMI_EMAIL
: Email address for profile lookupUNOMI_SOURCE_ID
: Source identifier for Unomi events (e.g., "claude-desktop")Restart Claude Desktop after updating the configuration
Ensure your Unomi server is properly configured:
Edit etc/org.apache.unomi.cluster.cfg
to set the authorization key and allow Claude Desktop's IP:
org.apache.unomi.cluster.authorization.key=your-unomi-key
org.apache.unomi.ip.ranges=127.0.0.1,::1,your-claude-desktop-ip
Configure CORS in etc/org.apache.unomi.cors.cfg
if needed:
org.apache.unomi.cors.allowed.origins=http://localhost:*
Restart your Unomi server to apply changes
Once configured, Claude can access and manage user profiles through the available tools. The integration automatically handles:
You can ask Claude to:
This is an early implementation with some limitations:
If you encounter issues: