Janee-MCP 服务端(本地密钥管理与审计日志)

使用说明(Markdown 格式)

  • 项目简介

    • Janee 是一个基于 MCP 的后端服务器,负责托管和管理资源、注册和执行工具,以及定义和渲染 Prompt 模板。它通过 JSON-RPC 与 MCP 客户端通信,提供受控的上下文服务与审计能力,支持本地密钥管理和多种认证/签名策略,确保 AI 代理在受控环境中访问外部 API。
  • 主要功能点

    • MCP 服务器核心:实现 list_services、execute、reload_config 等 MCP 工具,支持客户端发现能力并执行对外 API 请求。
    • 本地密钥管理与审计:对接真实外部 API 的密钥在本地加密存储,执行请求时自动注入密钥并记录完整审计日志。
    • 会话与策略:基于 TTL 的会话管理,支持根据规则(deny/allow)进行请求控制,提供 kill/reload 等管理操作。
    • 安全与集成:支持 Bearer、HMAC(Bybit、OKX、通用)、Headers 与 Service Account 等多种认证方式,能够与多家 API/服务对接。
    • 传输协议与部署:使用 stdio 传输(通过“janee serve”启动 MCP 服务),可与 OpenClaw、Cursor、Claude 等 MCP 客户端集成。
  • 安装步骤

    1. 安装 Node.js 环境(推荐 LTS 版本)。
    2. 在全局安装 Janee:
      • npm install -g @true-and-useful/janee
    3. 初始化本地配置(将创建示例配置和日志目录):
      • janee init
    4. 编辑 ~/.janee/config.yaml,添加你的服务、能力和策略(如 stripe、github、openai 等服务及对应的 TTL、autoApprove、规则等)。
    5. 启动 MCP 服务器:
      • janee serve
    6. 将 MCP 客户端与服务器通过标准输入/输出进行连接(客户端需要配置启动命令和参数,以便与服务器建立连接,示例在客户端通常使用 janee serve 作为传输入口)。
  • 服务器配置(MCP 客户端所需的启动信息,JSON 格式,包含 serverName、command、args 等) { "serverName": "janee", "command": "janee", "args": ["serve"], "transport": "stdio", "notes": "客户端将通过标准输入输出与该 MCP 服务器建立 JSON-RPC 连接,启动命令为 'janee serve'。" }

  • 基本使用方法

    • 客户端发现能力:通过 MCP 的 list_services 工具了解 Janee 管理的能力、服务及策略。
    • 执行外部 API:使用 execute 工具,提供 capability、method、path(以及可选 body、headers、reason),Janee 将根据配置注入密钥、执行实际 API 请求并返回结果,同时生成审计日志。
    • 动态配置:若配置有 onReloadConfig 回调,客户端可触发 reload_config 以重新加载 ~/.janee/config.yaml 的变更。
    • 审计与安全:所有请求均被记录到本地审计日志,包含时间戳、服务、方法、路径、状态等信息,敏感请求体在设定阈值内按需要记录。
  • 额外说明

    • Janee 也提供了与 OpenClaw、Cursor、Claude 等代理/客户端的集成插件与示例,方便快速接入 MCP 客户端。
    • 支持多种认证方式、凭据加密、以及基于规则的访问控制,确保对外部 API 的访问可审计、可控。

服务器信息