Akashi Context MCP 服务器
- 项目简介
- Akashi 是一个面向 LLM 客户端的后端服务框架,提供上下文资源、工具与 Prompt 的标准化管理,并通过 MCP 协议向客户端暴露这些能力,帮助 LLM 代理进行上下文感知和外部功能调用。
- 主要功能点
- 资源与数据能力:以 PostgreSQL/TimescaleDB 等存储为后端,托管并查询决策相关的资源与历史信息。
- 工具注册与执行:提供可被 MCP 客户端调用的 Tools,以执行外部功能、查询或推理辅助。
- Prompts 定义与渲染:提供用于 LLM 交互的 Prompt 模板,支持在不同场景下渲染对话策略和工作流引导。
- MCP 服务端实现:实现了 MCP 服务器端以及与客户端的 JSON-RPC 通信,包含鉴权(ApiKey、Bearer)、会话管理与事件通知(SSE/推送)。
- 安全与可扩展性:RBAC、审计日志、可扩展的中间件和路由,支持多种传输协议,具备健康与告警能力。
- 本地化/扩展点:提供本地化的实现与面向企业的扩展点,便于接入自有嵌入模型、向量搜索、以及自定义策略。
- 安装步骤
- 依赖准备:需要 Go 1.25+、PostgreSQL 18(pgvector、timescaledb 已安装)、若使用 Qdrant 进行向量检索需额外配置。
- 构建与运行(OSS 本地全栈),两种方式任选其一:
- 完整本地栈(推荐用于试用):通过 Docker Compose 一键启动 TimescaleDB、Qdrant、Ollama 与 Akashi 服务端(包含 MCP、UI、审计仪表盘等)。首次启动模型会缓存下载并初始化。
- 仅二进制部署:自行提供数据库、Qdrant、嵌入接口即可启动 Akashi 服务端二进制; 配置环境变量如 DATABASE_URL、AKASHI_ADMIN_API_KEY、QDRANT_URL、OPENAI_API_KEY 等后即可启动。
- 服务器配置(供 MCP 客户端配置使用)
- MCP 客户端需要的最小信息包括:服务器名称、连接地址、认证信息(ApiKey 或 Bearer token)。
- 典型示例(请替换成实际运行地址和授权凭据):
- 服务器名称: akashi
- 连接方式: http
- 服务器地址: http://<your-host>:<port>/mcp
- 认证头(示例,实际请使用你们的 API Key/JWT):
- ApiKey 方案:Authorization: ApiKey <agent_id>:<api_key>
- Bearer 方案:Authorization: Bearer <jwt_token>
- 说明:MCP 客户端在仓库中可通过 Claude Code、Cursor、Windsurf 等工具接入 Akashi 的 MCP 服务。服务端对接支持两种鉴权方式,推荐使用 ApiKey,在服务重启、跨进程部署时不会过期。
- 服务器配置示例(JSON 表示,供 MCP 客户端读取配置时使用): { "server_name": "akashi", "command": "/path/to/mcp-client-binary-or-cli", "args": [ "http", "http://localhost:8080/mcp", "--header", "Authorization: ApiKey admin:<your-admin-api-key>" ], "notes": "请将 command/args 替换为实际 MCP 客户端的启动二进制与参数。上述配置仅示意 MCP 客户端如何连接到 Akashi 的 MCP 服务端。" }
- 基本使用方法
- 启动与接入
- 启动 Akashi 服务端并确保 MCP 的 /mcp 路径可访问。
- 使用 Claude/Cursor/Windsurf 等 MCP 客户端,按上述配置在服务器端暴露的 /mcp 地址进行初始化、列表工具、读取资源、执行工具以及查询 Prompts。客户端会通过 JSON-RPC 请求与服务端进行资源读取、工具调用和 Prompt 渲染。
- MCP 客户端常见操作
- 将 Akashi 的 MCP 服务注册为一个服务器,确保传输头包含正确的授权信息(ApiKey 或 Bearer)。
- 列出服务器提供的工具(如 akashi_check、akashi_trace、akashi_query、akashi_conflicts、akashi_stats 等),并按工作流调用。
- 通过读取资源与执行工具来实现对话上下文的管理与渲染。
- 运行时监控与扩展
- 关注日志输出与健康端点(/health),确保数据库、向量检索、嵌入模型等子系统健康正常。
- 启动与接入