- Home
- MCP servers
- Unomi
Unomi
- typescript
8
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"sergehuber-inoyu-mcp-unomi-server": {
"command": "npx",
"args": [
"@inoyu/mcp-unomi-server"
],
"env": {
"UNOMI_KEY": "your-unomi-key",
"UNOMI_EMAIL": "your-email@example.com",
"UNOMI_VERSION": "3",
"UNOMI_BASE_URL": "http://your-unomi-server:8181",
"UNOMI_PASSWORD": "your-password",
"UNOMI_USERNAME": "your-username",
"UNOMI_SOURCE_ID": "claude-desktop",
"UNOMI_TENANT_ID": "your-tenant-id",
"UNOMI_PROFILE_ID": "your-profile-id",
"UNOMI_PUBLIC_KEY": "your-public-key",
"UNOMI_PRIVATE_KEY": "your-private-key"
}
}
}
}This MCP server lets Claude Desktop maintain user context by managing Apache Unomi profiles. It supports profile lookup by email, profile property updates, basic session handling, and scope management for context isolation, enabling you to remember user preferences and consent across conversations.
How to use
You integrate this MCP server with Claude Desktop to keep user context consistent across conversations. Start by adding the Unomi MCP server as a tool in your Claude Desktop configuration. The server runs as a local or remote process and exposes actions that let you look up or create profiles, fetch and update profile data, manage scopes, and handle user consent.
How to install
Prerequisites you need before installation are: a running Apache Unomi server, Node.js and npm installed on your machine, and Claude Desktop installed and configured to access the MCP server.
# 1) Ensure your environment has Node.js and npm
node -v
npm -v
# 2) Install dependencies for the MCP server project (if you’re developing locally)
npm install
# 3) Build the server for production or local run
npm run build
# 4) Run the MCP server in development mode with auto-rebuild (optional)
npm run watch
# 5) Start the MCP server (if not using npx during setup)
npm run start
Configuration in Claude Desktop
Set up the Unomi MCP server in Claude Desktop by adding a server configuration with the following JSON snippet. This config uses npx to run the MCP server package and passes through environment variables that configure the Unomi connection and authentication.
{
"mcpServers": {
"unomi_mcp": {
"command": "npx",
"args": ["@inoyu/mcp-unomi-server"],
"env": {
"UNOMI_BASE_URL": "http://your-unomi-server:8181",
"UNOMI_VERSION": "3",
"UNOMI_USERNAME": "your-username",
"UNOMI_PASSWORD": "your-password",
"UNOMI_PROFILE_ID": "your-profile-id",
"UNOMI_SOURCE_ID": "claude-desktop",
"UNOMI_KEY": "your-unomi-key",
"UNOMI_EMAIL": "your-email@example.com",
"UNOMI_TENANT_ID": "your-tenant-id",
"UNOMI_PUBLIC_KEY": "your-public-key",
"UNOMI_PRIVATE_KEY": "your-private-key"
}
}
}
}
Available tools
get_my_profile
Retrieve your profile using environment variables or email lookup, with an automatically generated session ID based on the current date. Optional parameters can include segment and score information.
update_my_profile
Update properties of your profile with key-value pairs, supporting strings, numbers, booleans, and null values.
get_profile
Retrieve a specific profile by ID and return the full profile data from Unomi.
search_profiles
Search for profiles by a query string with optional limit/offset, across firstName, lastName, and email fields.
create_scope
Create a new Unomi scope with an identifier and optional name/description for event tracking and profile updates.
get_tenant_info
Get information about the current tenant for Unomi V3, including version and key status (V3 only).
update_consent
Update a user's consent status using the Unomi Consent API, with required consentId and status and optional typeIdentifier, scope, and metadata.
get_consent
Get information about a specific consent for a profile using consentId.
list_consents
List consents for a profile with optional filtering by profileId, status, and scope.