Inoyu Apache Unomi MCP Server

Inoyu Apache Unomi MCP Server

site icon
2024.12.27 0
JavaScript用户上下文管理配置文件管理开发效率
Inoyu Apache Unomi MCP Server 是一个基于 Model Context Protocol 的服务,旨在通过 Apache Unomi 的用户配置文件管理功能,帮助 Claude 维护用户上下文。该服务目前处于早期实现阶段,主要用于演示和学习目的,尚未经过生产环境验证。 核心功能包括: - 基于电子邮件的用户配置文件查找和创建 - 用户配置文件属性管理 - 基本的会话处理 - 上下文隔离的范围管理 适用场景: - 需要跨会话维护用户一致上下文的应用程序 - 需要存储和检索用户特定信息的系统 - 通过电子邮件识别管理多个用户的场景
View on GitHub

Overview

基本能力

产品定位

Inoyu Apache Unomi MCP Server 是一个中间件服务,连接 Claude 和 Apache Unomi,提供用户上下文管理功能。

核心功能

  1. 用户识别
  2. 通过电子邮件或配置文件ID跨会话识别用户
  3. 在会话间维护一致的用户上下文
  4. 自动创建和管理用户配置文件

  5. 上下文管理

  6. 存储和检索用户偏好设置
  7. 维护用户特定信息

  8. 集成特性

  9. 与 Claude Desktop 无缝集成
  10. 自动会话管理
  11. 基于范围(context scope)的上下文隔离

适用场景

  • 需要记住用户偏好的跨会话应用
  • 需要存储和检索用户特定信息的系统
  • 通过电子邮件识别管理多个用户的场景

工具列表

  1. get_my_profile - 获取当前用户配置文件
  2. 使用环境变量中的UNOMI_PROFILE_ID或通过电子邮件查找
  3. 自动生成基于当前日期的会话ID
  4. 可选参数:requireSegments(包含段信息)、requireScores(包含评分信息)

  5. update_my_profile - 更新配置文件属性

  6. 使用环境变量中的UNOMI_PROFILE_ID或通过电子邮件查找
  7. 接受包含键值对的属性对象进行更新
  8. 支持字符串、数字、布尔值和null值

  9. get_profile - 通过ID检索特定配置文件

  10. 需要profileId作为必需参数
  11. 从Unomi返回完整的配置文件数据

  12. search_profiles - 搜索配置文件

  13. 接受查询字符串和可选的limit/offset参数
  14. 在firstName、lastName和email字段中搜索

  15. create_scope - 创建新的Unomi范围

  16. 接受范围标识符和可选的名称/描述
  17. 事件跟踪和配置文件更新所必需

常见问题解答

  1. 受保护事件失败
  2. 验证Unomi密钥在两个配置中是否完全匹配
  3. 检查IP地址是否正确列入白名单
  4. 确保在更新属性前范围已存在
  5. 如果需要,验证CORS配置

  6. 找不到配置文件

  7. 检查UNOMI_EMAIL是否正确设置
  8. 验证电子邮件格式是否有效
  9. 确保配置文件存在于Unomi中
  10. 检查回退UNOMI_PROFILE_ID是否有效

  11. 会话问题

  12. 记住会话是基于日期的
  13. 每个配置文件每天只有一个会话
  14. 检查会话ID格式是否匹配profileId-YYYYMMDD
  15. 验证会话的范围是否存在

  16. 连接问题

  17. 验证Unomi服务器是否正在运行
  18. 检查网络连接
  19. 确保UNOMI_BASE_URL正确
  20. 验证认证凭据

使用教程

使用依赖

  1. 运行Apache Unomi服务器
  2. 安装Claude Desktop
  3. 确保网络可以访问Unomi服务器
  4. 配置适当的安全设置
  5. 设置所需的环境变量

安装教程

  1. 在Claude Desktop配置文件中添加服务器配置和环境变量:
  2. MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%/Claude/claude_desktop_config.json

  4. 配置示例:

{
  "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": "[email protected]",
        "UNOMI_SOURCE_ID": "claude-desktop"
      }
    }
  }
}
  1. 更新配置后重启Claude Desktop

调试方式

  1. 使用MCP Inspector进行调试:
npm run inspector
  1. 实时跟踪Claude Desktop日志:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
  1. 开发时自动重建:
npm run watch

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。