上下文引擎核心库

开源上下文引擎核心库,包含数据库架构、会话/项目管理逻辑和MCP工具处理程序,适用于需要上下文管理的开发场景。

  • by gurram46
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 gurram46/Context-engine-MCP

使用说明

上下文引擎核心

Context Engine的开源核心。此包包含数据库模式、会话/项目管理逻辑和为私有部署提供动力的MCP工具处理程序。身份验证、环境配置和部署脚本位于私有存储库中。

包括什么

  • src/business:会议和项目背景经理
  • src/database:架构定义、迁移和池连接助手
  • src/tools:MCP context.save, context.resume,以及 context.list 处理器
  • src/types:共享类型定义
  • src/utils:验证和日志记录助手

什么不包括在内

  • 令牌生成和验证服务
  • 加速服务器、CLI实用程序或部署脚本
  • 环境配置或机密

状态和已知限制

代码编译为可重用库,但分发仍受MCP主机策略的限制:

  • Warp是目前唯一确认加载Context Engine的客户端。
  • Claude Code、Codex、Kilocode和类似的IDE MCP集成似乎会阻止沙盒中的第三方端点,因此此服务器永远不会收到他们的请求。
  • 恢复查询仍然需要一个SQL修复程序来处理缺少 file_id 值(参见 SessionManager.retrieveFullSession).

有关全套阻断器和建议的后续步骤,请参阅 docs/known-limitations.md.

入门指南

# install dependencies
yarn install  # or npm install

# type checking
npm run typecheck

# build the library (outputs to dist/)
npm run build

然后,消费者可以导入管理器和工具处理程序:

import { SessionManager, ProjectManager } from 'context-engine-core';
import { DatabaseConnection } from 'context-engine-core';

const db = new DatabaseConnection({
  url: process.env.DATABASE_URL!,
  poolSize: 20,
  timeout: 30000,
});

const sessionManager = new SessionManager(db);

仓库的规划

context-engine-core/
  src/
    business/
    database/
      migrations/
    tools/
    types/
    utils/
    demo/
  package.json
  tsconfig.json

演示服务器(本地测试)

公共包附带了最小的Fastify服务器,因此贡献者可以在没有私有身份验证层的情况下执行核心逻辑。演示服务器使用单个演示令牌和用户帐户。

  1. 复制环境模板并根据需要进行调整:

    cp .env.example .env
    
    • DEMO_AUTH_TOKEN 默认为 demo-token。所有请求必须包括 Authorization: Bearer demo-token 除非你设置 DEMO_AUTH_MODE=none.
    • DATABASE_URL 默认情况下指向本地PostgreSQL实例。
  2. 运行迁移:

    npm run demo:migrate
    
  3. 启动演示服务器:

    npm run demo:server
    

    服务器正在监听 http://127.0.0.1:8085 默认情况下。

  4. 尝试端点:

    curl -X POST http://127.0.0.1:8085/context/save \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer demo-token" \
      -d '{
        "session_name": "demo-session",
        "project_name": "demo-project",
        "files": [{"path": "README.md", "content": "# Demo"}],
        "conversation": [{"role": "user", "content": "Initial instructions"}],
        "metadata": {"tags": ["demo"]}
      }'
    

贡献

开放核心逻辑欢迎问题和拉取请求。请不要提交需要部署机密或内部基础设施的更改;这些属于私有存储库。

许可证

根据麻省理工学院许可证发布。