Integrations
Integrates with Apache Unomi for user profile management and context storage, enabling Claude to maintain user context through Apache Unomi's profile management system
Inoyu Apache Unomi MCP 服务器
模型上下文协议服务器使 Claude 能够通过 Apache Unomi 配置文件管理维护用户上下文。
⚠️提前实施通知
这是用于演示目的的早期实现:
- 未经生产用途验证
- 如有更改,恕不另行通知
- 尚未获得官方支持
- 仅供学习和实验
当前范围
此实现提供:
- 使用电子邮件查找和创建个人资料
- 简介物业管理
- 基本会话处理
- 上下文隔离的范围管理
Unomi 的其他功能(例如事件、细分、会话属性等)目前尚未实现。欢迎社区就未来的开发重点提供反馈。
演示
观看 MCP 服务器如何帮助 Claude 维护上下文并管理用户配置文件:
安装
要与 Claude Desktop 一起使用,请添加服务器配置和环境变量:
在 MacOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json
配置中的env
部分允许您设置服务器所需的环境变量。请将值替换为您的实际 Unomi 服务器详细信息。
更新配置后,请务必重新启动 Claude Desktop。然后,您可以点击聊天窗口右下角的工具图标,以确保它已找到此服务器提供的所有工具。
特征
个人资料访问
- 通过电子邮件查找并自动创建个人资料
- 配置文件属性、段和分数访问
- 所有数据交换均采用 JSON 格式
- 使用基于日期的 ID 进行自动会话管理
工具
get_my_profile
- 使用环境变量获取您的个人资料- 使用来自环境或电子邮件查找的 UNOMI_PROFILE_ID
- 根据当前日期自动生成会话 ID
- 可选参数:
- requireSegments:包含段信息
- requireScores:包含评分信息
update_my_profile
- 更新您的个人资料属性- 使用来自环境或电子邮件查找的 UNOMI_PROFILE_ID
- 采用带有键值对的属性对象进行更新
- 支持字符串、数字、布尔值和空值
- 例子:Copy
get_profile
- 通过 ID 检索特定配置文件- 将 profileId 作为必需参数
- 从 Unomi 返回完整的个人资料数据
search_profiles
- 搜索个人资料- 采用查询字符串和可选的限制/偏移参数
- 搜索 firstName、lastName 和 email 字段
create_scope
- 创建一个新的 Unomi 范围- 采用范围标识符和可选名称/描述
- 事件跟踪和配置文件更新所必需的
- 例子:Copy
范围管理
服务器自动为您管理范围:
- 默认范围:
- 所有操作均使用默认范围
claude-desktop
- 需要时自动创建
- 用于个人资料更新和事件跟踪
- 所有操作均使用默认范围
- 自定义范围:
- 可以使用
create_scope
工具创建 - 有助于分离不同的应用程序或上下文
- 在配置文件操作中使用之前必须存在
- 可以使用
- 自动范围创建:
- 服务器检查所需范围是否存在
- 如果缺失,则自动创建
- 对范围元数据使用有意义的默认值
注意:虽然范围在需要时会自动创建,但您仍然可以使用
create_scope
工具以自定义名称和描述手动创建它们。
概述
此 MCP 服务器使 Claude 能够通过 Apache Unomi 的配置文件管理系统维护用户上下文。您可以使用它实现以下功能:
关键功能
- 用户识别:
- 使用电子邮件或个人资料 ID 在对话中识别用户
- 在会话之间保持一致的用户上下文
- 自动创建和管理用户配置文件
- 上下文管理:
- 存储和检索用户偏好
- 集成功能:
- 无缝 Claude Desktop 集成
- 自动会话管理
- 基于范围的上下文隔离
您可以做什么
- 让 Claude 记住对话中的用户偏好
- 存储和检索用户特定信息
- 保持一致的用户上下文
- 通过电子邮件识别管理多个用户
先决条件
- 运行 Apache Unomi 服务器
- Claude桌面安装
- 通过网络访问 Unomi 服务器
- 适当的安全配置
- 必需的环境变量
配置
环境变量
服务器需要以下环境变量:
配置文件解析
服务器使用两步流程来解析配置文件 ID:
- 电子邮件查找(如果设置了
UNOMI_EMAIL
):- 搜索具有匹配电子邮件的个人资料
- 如果找到,则使用该配置文件的 ID
- 有助于在会话之间保持一致的配置文件
- 后备配置文件 ID:
- 如果电子邮件查找失败或未设置
UNOMI_EMAIL
- 使用环境中的
UNOMI_PROFILE_ID
- 确保配置文件始终可用
- 如果电子邮件查找失败或未设置
响应将通过source
字段指示使用了哪种方法:
"email_lookup"
:通过电子邮件找到的个人资料"environment"
:使用后备配置文件 ID
Unomi 服务器配置
- 在
etc/org.apache.unomi.cluster.cfg
中配置受保护的事件:Copy - 确保您的 Unomi 服务器在
etc/org.apache.unomi.cors.cfg
中正确配置了 CORS:Copy - 重新启动 Unomi 服务器以应用更改
重要提示:Unomi 密钥必须与您的服务器配置和 Claude Desktop 中的 UNOMI_KEY 环境变量完全匹配。
配置
环境变量
服务器需要以下环境变量:
配置文件解析
服务器使用两步流程来解析配置文件 ID:
- 电子邮件查找(如果设置了
UNOMI_EMAIL
):- 搜索具有匹配电子邮件的个人资料
- 如果找到,则使用该配置文件的 ID
- 有助于在会话之间保持一致的配置文件
- 后备配置文件 ID:
- 如果电子邮件查找失败或未设置
UNOMI_EMAIL
- 使用环境中的
UNOMI_PROFILE_ID
- 确保配置文件始终可用
- 如果电子邮件查找失败或未设置
响应将通过source
字段指示使用了哪种方法:
"email_lookup"
:通过电子邮件找到的个人资料"environment"
:使用后备配置文件 ID
Unomi 服务器配置
- 在
etc/org.apache.unomi.cluster.cfg
中配置受保护的事件:Copy - 确保您的 Unomi 服务器在
etc/org.apache.unomi.cors.cfg
中正确配置了 CORS:Copy - 重新启动 Unomi 服务器以应用更改
重要提示:Unomi 密钥必须与您的服务器配置和 Claude Desktop 中的 UNOMI_KEY 环境变量完全匹配。
发展
安装依赖项:
构建服务器:
对于使用自动重建的开发:
调试
由于 MCP 服务器通过 stdio 进行通信,调试起来可能比较困难。我们推荐使用MCP Inspector ,它以包脚本的形式提供:
检查器将提供一个 URL 来访问浏览器中的调试工具。
您还可以跟踪 Claude Desktop 日志来查看 MCP 请求和响应:
会话 ID 格式
使用get_my_profile
时,会话 ID 将使用以下格式自动生成:
例如,如果您的个人资料 ID 是“user123”,并且今天是 2024 年 3 月 15 日,则会话 ID 将为:
故障排除
常见问题
- 受保护事件失败
- 验证 Unomi 密钥在两个配置中完全匹配
- 检查 IP 地址是否正确列入白名单
- 更新属性之前确保范围存在
- 如果需要,请验证 CORS 配置
- 未找到个人资料
- 检查 UNOMI_EMAIL 是否正确设置
- 验证电子邮件格式是否有效
- 确保配置文件存在于 Unomi 中
- 检查后备 UNOMI_PROFILE_ID 是否有效
- 会话问题
- 请记住,会议是基于日期的
- 每个个人资料每天仅限一次会话
- 检查会话 ID 格式是否与
profileId-YYYYMMDD
匹配 - 验证会话的范围是否存在
- 连接问题
- 验证 Unomi 服务器是否正在运行
- 检查网络连接
- 确保 UNOMI_BASE_URL 正确
- 验证身份验证凭据
要检查的日志
- Claude 桌面日志:Copy
- Unomi 服务器日志:Copy
快速修复
- 重置状态:Copy
- 验证配置:Copy
Claude 桌面配置选项
- 创建或编辑您的 Claude Desktop 配置:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
- MacOS:
- 使用 NPX 添加服务器配置:Copy
注意:使用 NPX 可确保您始终运行服务器的最新发布版本。
或者,如果您想使用特定版本:
对于开发或本地安装:
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
模型上下文协议服务器使 Claude 能够通过 Apache Unomi 配置文件管理维护用户上下文。