get_my_profileLABSCO SUMMARY
Profile memory that lives in your CDP, not in the chat.
Unomi already holds the customer profile; this lets a conversation read and write that same record, so what the assistant learns is stored where the rest of the business can already see it.
What it is
An MCP server that connects a client to an Apache Unomi profile store. It looks a profile up by email and creates one when there is none, reads and writes properties on your own profile, searches profiles, and creates scopes that keep one context's data apart from another's.
What you get
- Your own profile read back, optionally with its segments and scores
- Properties written onto your own profile
- Another profile fetched by id
- Profiles searched across the store
- A scope created, so one context's data stays separate from another's
Requirements
A running Apache Unomi server, and a fair amount of configuration: the Unomi base URL and which major version it is, plus the credentials that version needs - username, password and an API key for V2, or a tenant id and a key pair for V3 - along with the profile id, contact email and source id it should use. The author marks it an early implementation not validated for production, and says events, segments and session properties are not implemented yet.
Setup effort
One command plus credentials — npx @inoyu/mcp-unomi-server, then supply credentials
USE CASES
Giving an assistant a memory other systems can read
Write what you learn onto the profile, and read it back at the start of the next session.
Recognising a returning user by email
Look the profile up by email; if there is none, one is created rather than the lookup failing.
Keeping two contexts from bleeding into each other
Create a scope for each, so profile data written under one does not surface under the other.
Finding the profiles that match a condition
Search the store rather than exporting it and filtering afterwards.
Checking which segments a person has fallen into
Ask for the profile with segments and scores included.
9 tools
Listed in project docs. Your client may show a different list.
update_my_profileget_profilesearch_profilescreate_scopeget_tenant_infoupdate_consentget_consentlist_consentsBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation. get_tenant_info works only with Unomi V3, so a V2 deployment has 8.
Requires
- npx on PATH
- A running Apache Unomi server, with its address in UNOMI_BASE_URL
- For Unomi V3 (the default): UNOMI_TENANT_ID, UNOMI_PUBLIC_KEY and UNOMI_PRIVATE_KEY
- For Unomi V2 (UNOMI_VERSION set to 2): UNOMI_USERNAME, UNOMI_PASSWORD and UNOMI_KEY
INSTALLATION
Connect your client
Server setup
Setup
Prerequisites: a running Apache Unomi server, Claude Desktop, network access to Unomi, and the required environment variables
On the Unomi server, configure protected events in etc/org.apache.unomi.cluster.cfg: set org.apache.unomi.cluster.authorization.key=<YOUR_UNOMI_KEY> and add your Claude Desktop IP to org.apache.unomi.ip.ranges
Configure CORS in etc/org.apache.unomi.cors.cfg if needed, then restart the Unomi server to apply changes
Create or edit the Claude Desktop config (MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%/Claude/claude_desktop_config.json) and add the unomi-server mcpServers block with command npx and args ["@inoyu/mcp-unomi-server"]
Fill the env block: V2 needs UNOMI_USERNAME, UNOMI_PASSWORD and UNOMI_KEY; V3 (the default) needs UNOMI_TENANT_ID, UNOMI_PUBLIC_KEY and UNOMI_PRIVATE_KEY
Restart Claude Desktop, then click the tools icon on the lower right of the chat window to confirm the tools were found
npx
npx @inoyu/mcp-unomi-serverMCP Clients
Claude Desktop — tenant auth
{
"mcpServers": {
"unomi-server": {
"command": "npx",
"args": [
"@inoyu/mcp-unomi-server"
],
"env": {
"UNOMI_BASE_URL": "http://<YOUR_UNOMI_SERVER>:8181",
"UNOMI_VERSION": "3",
"UNOMI_USERNAME": "<YOUR_UNOMI_USERNAME>",
"UNOMI_PASSWORD": "<YOUR_UNOMI_PASSWORD>",
"UNOMI_PROFILE_ID": "<YOUR_UNOMI_PROFILE_ID>",
"UNOMI_KEY": "<YOUR_UNOMI_KEY>",
"UNOMI_EMAIL": "<YOUR_UNOMI_EMAIL>",
"UNOMI_SOURCE_ID": "claude-desktop",
"UNOMI_TENANT_ID": "<YOUR_UNOMI_TENANT_ID>",
"UNOMI_PUBLIC_KEY": "<YOUR_UNOMI_PUBLIC_KEY>",
"UNOMI_PRIVATE_KEY": "<YOUR_UNOMI_PRIVATE_KEY>"
}
}
}
}UNOMI_VERSION "3" (the default) signs in with UNOMI_TENANT_ID, UNOMI_PUBLIC_KEY and UNOMI_PRIVATE_KEY; UNOMI_USERNAME and UNOMI_PASSWORD are only a fallback there. For a Unomi V2 server set UNOMI_VERSION to "2" and fill UNOMI_USERNAME, UNOMI_PASSWORD and UNOMI_KEY instead — UNOMI_KEY must match org.apache.unomi.cluster.authorization.key on the server.