使用说明

项目简介

Claude Server MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,专为 Claude 桌面应用程序设计,旨在增强其上下文管理能力。通过该服务器,Claude 可以实现跨会话的持久化上下文、项目特定的上下文组织以及对话的连续性,从而更有效地管理和利用对话历史和项目信息。

主要功能点

  • 项目上下文管理: 支持分层结构的上下文组织,允许创建父子上下文关系和上下文之间的交叉引用,并支持项目特定的元数据。
  • 对话连续性: 基于会话跟踪上下文,支持对话链,并使用富含元数据的上下文存储和灵活的标签系统来管理对话历史。
  • 高效存储: 采用有组织的目录结构和JSON格式存储上下文数据,支持快速查找索引和异步操作,确保高效的数据访问。
  • 工具集成: 提供一系列预定义的工具,例如保存项目上下文、保存对话上下文、获取上下文和列出上下文,允许 Claude 通过 MCP 协议调用这些工具来管理上下文。

安装步骤

  1. 克隆仓库: 首先,你需要克隆该 GitHub 仓库到本地:
    git clone https://github.com/davidteren/claude-server
    cd claude-server
  2. 安装依赖: 使用 npm 安装项目依赖:
    npm install
  3. 构建服务器: 构建服务器代码:
    npm run build
    构建成功后,服务器文件 'index.js' 将位于 'build' 目录下。

服务器配置

要将 Claude Server MCP 集成到 Claude 桌面应用程序,你需要编辑 Claude 的配置文件 'claude_desktop_config.json'。该文件通常位于以下路径: '~/Library/Application Support/Claude/claude_desktop_config.json' (macOS) 或 '%APPDATA%\Claude\claude_desktop_config.json' (Windows)。

在 'mcpServers' 部分添加或修改 'claude-server' 的配置。以下是一个示例配置,你需要根据你的实际情况修改 'args' 中的路径:

{
  "mcpServers": {
    "claude-server": {
      "command": "node",
      "args": ["/path/to/claude-server/build/index.js"] // 将 "/path/to/claude-server" 替换为你本地仓库的绝对路径
    }
  }
}

配置参数说明:

  • '"server_name"': 服务器名称,这里固定为 '"claude-server"'。
  • '"command"': 启动服务器的命令,这里使用 'node' 运行 JavaScript 文件。
  • '"args"': 启动命令的参数,是一个字符串数组。
    • 第一个参数应为 'build/index.js' 文件的绝对路径。请务必将 '/path/to/claude-server' 替换为你本地仓库的实际绝对路径。 例如,如果你的仓库在用户目录下的 'claude-server' 文件夹中,那么在 macOS 上可能需要修改为 '"/Users/你的用户名/claude-server/build/index.js"'。

配置完成后,重启 Claude 桌面应用程序,Claude 应该就能识别并使用 Claude Server MCP 服务器了。

基本使用方法

Claude Server MCP 通过 MCP 协议与 Claude 客户端通信,提供了一系列工具供 Claude 调用。以下是一些基本工具的使用示例(这些工具需要在 Claude 客户端中使用,例如通过 'use_mcp_tool' 函数调用,具体客户端调用方式请参考 Claude 客户端的文档):

1. 保存项目上下文 (save_project_context):

use_mcp_tool({
  server_name: "claude-server",
  tool_name: "save_project_context",
  arguments: {
    id: "feature-design-v1", // 上下文唯一ID
    projectId: "my-project", // 项目ID
    content: "Design discussion...", // 上下文内容
    parentContextId: "requirements-v1", // 父上下文ID (可选)
    references: ["api-spec-v1"], // 引用上下文ID列表 (可选)
    tags: ["design"], // 标签列表 (可选)
    metadata: { status: "in-progress" } // 元数据 (可选)
  }
});

2. 保存对话上下文 (save_conversation_context):

use_mcp_tool({
  server_name: "claude-server",
  tool_name: "save_conversation_context",
  arguments: {
    id: "chat-2024-01-01", // 上下文唯一ID
    sessionId: "session-123", // 会话ID
    content: "Discussion content...", // 上下文内容
    continuationOf: "previous-chat-id", // 前续上下文ID (可选)
    tags: ["meeting"] // 标签列表 (可选)
  }
});

3. 获取上下文 (get_context):

use_mcp_tool({
  server_name: "claude-server",
  tool_name: "get_context",
  arguments: {
    id: "feature-design-v1", // 上下文ID
    projectId: "my-project" // 项目ID (可选,用于项目上下文)
  }
});

4. 列出上下文 (list_contexts):

use_mcp_tool({
  server_name: "claude-server",
  tool_name: "list_contexts",
  arguments: {
    projectId: "my-project", // 项目ID (可选,过滤项目上下文)
    tag: "design", // 标签 (可选,按标签过滤)
    type: "project" // 类型 (可选, "project" 或 "conversation" 过滤)
  }
});

请注意,以上 'use_mcp_tool' 调用仅为示例,实际使用方式取决于 Claude 客户端的具体实现。你需要参考 Claude 客户端的文档来了解如何正确调用 MCP 服务器提供的工具。

信息

分类

生产力应用