使用说明

项目简介

MCP上下文管理器 (Context Manager) 是一组基于 Model Context Protocol (MCP) 构建的服务器,旨在提升 AI 模型在跨工作会话中的持久化上下文能力。它通过领域知识图谱存储和管理项目上下文,并提供统一的接口来访问和管理多个领域服务器。每个领域服务器既可以独立运行,也可以通过中央上下文管理器进行统一管理。

主要功能点

  • 持久化上下文: 支持跨会话持久化存储和访问上下文信息,通过 'buildcontext', 'loadcontext', 和 'deletecontext' 工具轻松管理上下文数据。
  • 高效访问: 允许 AI 模型精确获取所需的上下文信息,提升检索效率。
  • 会话管理: 提供 'startsession' 和 'endsession' 工具,用于会话的开始、跟踪和分析,并更新知识图谱。
  • 跨领域支持: 通过单一接口管理多个知识领域,并支持跨领域实体之间的关系建立。
  • 多种领域服务器: 包括开发者、项目管理、学生、定性研究和定量研究等多个领域服务器,满足不同应用场景的需求。

安装步骤

  1. 使用 npx (推荐): 无需安装,直接运行:

    npx github:tejpalvirk/contextmanager
  2. 全局安装: 全局安装后,所有服务器将作为命令可用:

    npm install -g github:tejpalvirk/contextmanager

    然后运行上下文管理器:

    mcp-server-contextmanager

    或直接运行特定领域服务器,例如:

    mcp-server-developer
  3. 从源码克隆和构建: 用于开发或自定义:

    git clone https://github.com/tejpalvirk/contextmanager.git
    cd contextmanager
    npm install
    npm run build

    然后运行上下文管理器:

    node main/index.js

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令及其参数才能建立连接。以下是 Claude Desktop 中配置 MCP 上下文管理器的示例 JSON 配置信息,您需要根据实际使用的 MCP 客户端进行相应配置:

{
  "mcpServers": {
    "contextmanager": {
      "command": "npx",
      "args": [
        "-y",
        "github:tejpalvirk/contextmanager"
      ],
      "options": {
        "port": 3000,
        "domains": ["developer", "project", "student"]
      }
    }
  }
}

参数注释:

  • 'server name': 'contextmanager' (服务器名称,客户端用于识别和调用)
  • 'command': '"npx"' (启动服务器的命令,这里使用 npx 直接运行 GitHub 仓库)
  • 'args':
    • '"-y"': (npx 参数,自动确认执行)
    • '"github:tejpalvirk/contextmanager"': (npx 参数,指定要运行的 GitHub 仓库地址)
  • 'options':
    • 'port': '3000' (服务器监听端口,默认为 3000,可以根据需要修改)
    • 'domains': '["developer", "project", "student"]' (指定要启用的领域服务器列表,可以根据需要配置)

基本使用方法

  1. 设置激活领域: 使用 'setActiveDomain' 工具选择要工作的领域,例如切换到开发者领域:

    setActiveDomain(domain="developer")
  2. 开始会话: 使用 'startsession' 工具开始一个新的会话:

    startsession(domain="developer")

    工具会返回会话 ID 和最近的会话信息。

  3. 构建上下文: 使用 'buildcontext' 工具创建新的实体、关系或观察,例如创建一个新的项目实体:

    buildcontext(type="entities", data={
      "entityType": "project",
      "name": "MyProject",
      "description": "一个示例项目",
      "language": "TypeScript",
      "framework": "React"
    })
  4. 加载上下文: 使用 'loadcontext' 工具加载特定实体的上下文信息,例如加载名为 "MyProject" 的项目上下文:

    loadcontext(entityName="MyProject", entityType="project")
  5. 结束会话: 使用 'endsession' 工具结束当前会话,并记录会话总结和更新知识图谱:

    endsession(sessionId="session_id_here", stage="assembly", stageNumber=6, totalStages=6, nextStageNeeded=false)

更多详细使用方法和工具参数,请参考仓库 README 文档和各个领域服务器目录下的 README 文件。

信息

分类

AI与计算