项目简介
Karen 是一个综合性的业务管理解决方案,其核心组件之一是 Model Context Protocol (MCP) 服务器。该服务器旨在为大型语言模型(LLM)客户端提供结构化的业务上下文和功能调用能力。通过标准化的 API 接口,Karen MCP 服务器允许 LLM 应用安全、可扩展地访问企业数据资源,执行预定义的工具,并利用 Prompt 模板实现定制化的交互模式。
主要功能点
- 资源 (Resources) 管理:提供业务记录的创建、检索、更新和删除 (CRUD) 功能,例如客户信息、产品数据等,作为 LLM 可访问的上下文资源。
- 工具 (Tools) 注册与执行:内置支持工单系统 API,允许 LLM 客户端通过调用预定义函数(Tools)创建和查询支持工单,扩展 LLM 的服务能力。
- 用户认证与授权:支持自定义 Header API Key 认证和 JWT 用户认证,确保数据访问的安全性。
- API 优先设计:所有功能均通过 RESTful API 暴露,方便 MCP 客户端以标准化的 JSON-RPC 协议进行交互。
- 可扩展的后端架构:基于 Django 框架构建,后端技术栈成熟可靠,易于部署和扩展。
- AI 聊天机器人集成:内置基于 ChatGPT 的 AI MicroAgent,可作为 MCP 客户端的应用示例,展示如何利用上下文数据和工具进行智能交互。
安装步骤
-
环境准备:
- 确保已安装 Python 3.7+ 和 pip。
- 安装 Ubuntu 服务器或类似的 Linux 发行版,并具备 SSH 访问权限。
- 建议购买域名并指向服务器 IP 地址。
- 可选:为了集成邮件发送功能,建议注册 SendGrid 账号并获取 API Key。
-
安装 Nginx (或 Caddy) 服务器:
- 根据文档指引安装和配置 Nginx 或 Caddy 作为反向代理服务器,将 HTTP 请求转发到 Django 应用。
- 配置 SSL 证书以启用 HTTPS (可选,但推荐)。
-
安装 Docker (可选):
- 根据文档指引安装 Docker 和 Docker Compose,以便更便捷地部署和管理应用。
-
设置 Python 虚拟环境:
python3 -m venv kenv source kenv/bin/activate -
克隆仓库代码:
git clone https://github.com/armenmerikyan/karen.git cd karen -
安装项目依赖:
pip install -r requirements.txt -
配置 Django 项目:
- 执行数据库迁移:
python3 manage.py makemigrations python3 manage.py migrate - 创建 Django 超级用户用于管理后台:
python3 manage.py createsuperuser
- 执行数据库迁移:
-
配置 Systemd 服务 (可选):
- 根据文档指引创建和启用 Systemd 服务,以便在服务器启动时自动运行 Karen 应用。
-
启动服务器:
- 启动 Django 开发服务器进行测试:
python3 manage.py runserver 0.0.0.0:8000- 或通过 Systemd 启动 (如果已配置):
sudo systemctl start karen
服务器配置 (MCP 客户端)
以下 JSON 配置信息可用于 MCP 客户端连接 Karen MCP 服务器。请根据实际部署情况修改 'command' 和 'args' 字段。
{ "serverName": "Karen MCP Server", // MCP 服务器名称,可自定义 "command": "python3", // 启动 MCP 服务器的命令,这里假设使用 Python 运行 Django 应用 "args": [ // 启动命令的参数 "/path/to/karen/manage.py", // Django 项目的 manage.py 路径,请替换为实际路径 "runserver", // Django manage.py 的子命令,用于启动开发服务器 "0.0.0.0:8000" // 监听地址和端口,根据实际配置修改 ], "transport": "http", // 通信协议,默认为 HTTP "handshake": { // 握手信息 (可选,如果 MCP 客户端需要) "protocolVersion": "1.0", // 协议版本 "clientVersion": "1.0" // 客户端版本 }, "capabilities": [ // 服务器能力声明 (可选,如果 MCP 客户端需要) "resources", // 支持资源管理 "tools", // 支持工具调用 "prompts" // 支持 Prompt 模板 ] }
注意:
- '/path/to/karen/manage.py' 需要替换为 Karen 项目 'manage.py' 文件的实际绝对路径。
- '0.0.0.0:8000' 是示例地址和端口,应与 Django 应用实际监听的地址和端口一致。
- 'transport' 字段可以根据实际情况配置为 'stdio', 'sse', 'websocket' 等 MCP 支持的传输协议。
- 'handshake' 和 'capabilities' 字段是可选的,根据 MCP 客户端的需求进行配置。
- 生产环境部署建议使用 Nginx 或 Caddy 部署,并配置 HTTPS。
基本使用方法
-
启动 Karen MCP 服务器:
- 根据安装步骤启动 Django 应用。
-
配置 MCP 客户端:
- 在 MCP 客户端中,配置上述 JSON 信息,确保 'command' 和 'args' 指向正确的 Karen 服务器启动命令。
- 根据需要配置 'transport', 'handshake', 'capabilities' 等参数。
-
通过 MCP 客户端与服务器交互:
- MCP 客户端将按照 MCP 协议规范,发送 JSON-RPC 请求到 Karen MCP 服务器。
- 服务器将处理请求,并返回 JSON-RPC 响应或发送通知。
- 具体 API 调用方法和参数,请参考仓库代码和 API 文档(如有)。
重要提示:
- 此使用说明基于仓库的 README.md 和代码结构分析生成,可能需要根据实际代码运行情况进行调整。
- 请务必仔细阅读仓库的完整文档和代码,以获得更准确和详细的使用信息。
- 生产环境部署请务必关注安全性,配置 HTTPS 和适当的访问控制。
信息
分类
商业系统