s

sizzlebop

@sizzlebop/context-mcp
0 Stars 402 次浏览 sizzlebop 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "cursor10x-mcp": {
      "args": [
        "cursor10x-mcp"
      ],
      "command": "npx",
      "enabled": true,
      "env": {
        "TURSO_AUTH_TOKEN": "your-turso-auth-token",
        "TURSO_DATABASE_URL": "your-turso-database-url"
      }
    }
  }
}

服务介绍

Cursor10x 内存系统

一个使用模型上下文协议(MCP)的全面内存系统,适用于Cursor。

🚀 宣布 CURSOR10X 系统 🚀

使用 AI 驱动的自主系统转变您的开发流程

🔥 Cursor10x 内存系统现在是完整的 Cursor10x 平台的一部分! 🔥

GitHub 上发现完整的自主开发生态系统,其特点包括:

📋 任务管理系统 - 通过分步任务进行引导式实现
🔄 自主内存 - 记住整个项目的上下文感知AI
📊 项目蓝图 - 根据您的规格创建完整的技术架构
📁 文件/文件夹架构 - 采用最佳实践优化项目结构
📘 实现指南 - 所有文件和组件的综合文档
📝 详细任务 - 从项目启动到完成的完整工作流程
🔍 基于向量的搜索 - 在代码库和对话中进行语义搜索
🧩 代码索引 - 自动检测和索引代码结构
🔎 语义代码检索 - 通过含义而不是精确匹配查找相关代码
🤖 自动代码分析 - 提取具有上下文的函数、类和变量

生成包含文件架构、实现指南和完整任务序列的完整项目蓝图,并且已经实现了整个Cursor10x系统!


概述

Cursor10x 内存系统为AI助手(特别是Claude)创建了一个持久的内存层,使它们能够保留并回忆:

  • 最近的消息和对话历史
  • 当前正在处理的活动文件
  • 重要的项目里程碑和决策
  • 技术要求和规范
  • 动作和事件的时间顺序(情节)
  • 来自代码库的代码片段和结构
  • 基于向量嵌入的语义相似内容
  • 通过语义相似性相关的代码片段
  • 具有函数和变量关系的文件结构

该内存系统弥合了无状态AI交互与连续开发工作流之间的差距,从而提供更高效且上下文感知的帮助。

系统架构

内存系统基于四个核心组件构建:

  1. MCP 服务器:实现模型上下文协议以注册工具和处理请求
  2. 内存数据库:使用Turso数据库进行会话间的持久存储
  3. 内存子系统:将内存组织成具有不同用途的专业化系统
  4. 向量嵌入:将文本和代码转换为数值表示,以便进行语义搜索

内存类型

该系统实现了四种互补的内存类型:

  1. 短期记忆 (STM)

    • 存储最近的消息和活动文件
    • 为当前交互提供即时上下文
    • 根据最近性和重要性自动优先排序
  2. 长期记忆 (LTM)

    • 存储永久的项目信息,如里程碑和决策- 维护架构和设计上下文
  • 永久保存高重要性信息
  1. 情景记忆

    • 记录事件的时间顺序
    • 保持动作之间的因果关系
    • 为项目历史提供时间上下文
  2. 语义记忆

    • 存储消息、文件和代码片段的向量嵌入
    • 基于语义相似性检索内容
    • 自动索引代码结构以进行上下文检索
    • 跟踪代码组件之间的关系
    • 在整个代码库中基于相似性进行搜索

功能

  • 持久化上下文:在多个会话中维护对话和项目上下文
  • 基于重要性的存储:根据可配置的重要性级别优先处理信息
  • 多维度记忆:结合短期记忆、长期记忆、情景记忆和语义记忆系统
  • 全面检索:从所有记忆子系统提供统一的上下文
  • 健康监控:包括内置诊断和状态报告
  • 横幅生成:为对话开始创建信息丰富的上下文横幅
  • 数据库持久化:使用Turso数据库存储所有记忆数据,并自动创建模式
  • 向量嵌入:为文本和代码创建数值表示,以便进行相似性搜索
  • 高级向量存储:利用Turso的F32_BLOB和向量函数高效存储嵌入
  • 近似最近邻搜索:支持快速相似性匹配的近似最近邻搜索
  • 代码索引:自动检测并索引代码结构(函数、类、变量)
  • 语义搜索:基于意义而非精确文本匹配查找相关内容
  • 相关性评分:根据与当前查询的相关性对上下文项进行排名
  • 代码结构检测:跨多种语言识别并提取代码组件
  • 自动嵌入生成:自动为索引内容创建向量嵌入
  • 交叉引用检索:在不同文件和组件中查找相关代码

安装

先决条件

  • Node.js 18 或更高版本
  • npm 或 yarn 包管理器
  • Turso 数据库账户

设置步骤

  1. 配置 Turso 数据库:

bash

安装 Turso CLI

curl -sSfL https://get.turso.tech/install.sh | bash

登录到 Turso

turso auth login

创建数据库

turso db create cursor10x-mcp

获取数据库 URL 和令牌

turso db show cursor10x-mcp --url
turso db tokens create cursor10x-mcp

或者,您可以访问 Turso 并注册后继续创建数据库并获取正确的凭据。免费计划将足以覆盖您的项目内存需求。

  1. 配置 Cursor MCP:

更新项目目录中的 .cursor/mcp.json 文件,填入数据库 URL 和 Turso 认证令牌:

json
{
"mcpServers": {
"cursor10x-mcp": {
"command": "npx",
"args": ["cursor10x-mcp"],
"enabled": true,
"env": {
"TURSO_DATABASE_URL": "your-turso-database-url",
"TURSO_AUTH_TOKEN": "your-turso-auth-token"
}
}
}
}

工具文档

系统工具

mcp_cursor10x_initConversation

通过存储用户消息、生成横幅以及在一个操作中检索上下文来初始化对话。这个统一的工具取代了每次对话开始时分别调用 generateBanner, getComprehensiveContext 和 storeUserMessage 的需要。

参数:

  • content (字符串,必需):用户消息的内容
  • importance (字符串,可选):重要性级别 ("low", "medium", "high", "critical"),默认为 "low"
  • metadata (对象,可选):消息的附加元数据

返回:

  • 包含两个部分的对象:
    • display:包含要显示给用户的横幅
    • internal:包含供代理使用的综合上下文

示例:
javascript
// 初始化对话
const result = await mcp_cursor10x_initConversation({
content: "我需要为我的应用程序实现一个登录系统",
importance: "medium"
});
// 结果: {
// "status": "ok",
// "display": {
// "banner": {
// "status": "ok",
// "memory_system": "active",
// "mode": "turso",
// "message_count": 42,
// "active_files_count": 3,
// "last_accessed": "4/15/2023, 2:30:45 PM"
// }
// },
// "internal": {
// "context": { ... 综合上下文数据 ... },
// "messageStored": true,
// "timestamp": 1681567845123
// }
// }#### mcp_cursor10x_endConversation

通过一次调用组合多个操作来结束对话:存储助手的最后一条消息、记录完成的里程碑以及在情景记忆中记录一个事件。这个统一的工具取代了每次对话结束时分别调用 storeAssistantMessagestoreMilestonerecordEpisode 的需要。

参数:

  • content (字符串, 必需): 助手最后一条消息的内容
  • milestone_title (字符串, 必需): 要记录的里程碑标题
  • milestone_description (字符串, 必需): 完成内容的描述
  • importance (字符串, 可选): 重要性级别 ("low", "medium", "high", "critical"),默认为 "medium"
  • metadata (对象, 可选): 所有记录的附加元数据

返回:

  • 包含每个操作状态和结果的对象

示例:
javascript
// 结束对话并执行最终步骤
const result = await mcp_cursor10x_endConversation({
content: "I've implemented the authentication system with JWT tokens as requested",
milestone_title: "Authentication Implementation",
milestone_description: "Implemented secure JWT-based authentication with refresh tokens",
importance: "high"
});
// 结果: {
// "status": "ok",
// "results": {
// "assistantMessage": {
// "stored": true,
// "timestamp": 1681568500123
// },
// "milestone": {
// "title": "Authentication Implementation",
// "stored": true,
// "timestamp": 1681568500123
// },
// "episode": {
// "action": "completion",
// "stored": true,
// "timestamp": 1681568500123
// }
// }
// }

mcp_cursor10x_checkHealth

检查内存系统及其数据库连接的健康状况。

参数:

  • 无必需参数

返回:

  • 包含健康状态和诊断信息的对象

示例:
javascript
// 检查内存系统健康状况
const health = await mcp_cursor10x_checkHealth({});
// 结果: {
// "status": "ok",
// "mode": "turso",
// "message_count": 42,
// "active_files_count": 3,
// "current_directory": "/users/project",
// "timestamp": "2023-04-15T14:30:45.123Z"
// }

mcp_cursor10x_getMemoryStats

检索关于内存系统的详细统计信息。

参数:

  • 无必需参数

返回:

  • 包含全面内存统计信息的对象

示例:
javascript
// 获取内存统计信息
const stats = await mcp_cursor10x_getMemoryStats({});
// 结果: {
// "status": "ok",
// "stats": {
// "message_count": 42,
// "active_file_count": 3,
// "milestone_count": 7,
// "decision_count": 12,
// "requirement_count": 15,
// "episode_count": 87,
// "oldest_memory": "2023-03-10T09:15:30.284Z",
// "newest_memory": "2023-04-15T14:30:45.123Z"
// }
// }

mcp_cursor10x_getComprehensiveContext

从所有内存子系统中检索统一上下文,结合短期、长期和情景记忆。

参数:

  • 无必需参数

返回:

  • 包含来自所有内存系统的综合上下文的对象

示例:
javascript
// 获取综合上下文
const context = await mcp_cursor10x_getComprehensiveContext({});
// 结果: {
// "status": "ok",
// "context": {
// "shortTerm": {
// "recentMessages": [...],
// "activeFiles": [...]
// },
// "longTerm": {
// "milestones": [...],
// "decisions": [...],
// "requirements": [...]
// },
// "episodic": {
// "recentEpisodes": [...]
// },
// "system": {
// "healthy": true,
// "timestamp": "2023-04-15T14:30:45.123Z"
// }
// }
// }

短期记忆工具

mcp_cursor10x_storeUserMessage

将用户消息存储在短期记忆系统中。

参数:

  • content (字符串, 必需): 消息内容
  • importance (字符串, 可选): 重要性级别 ("low", "medium", "high", "critical"),默认为 "low"- metadata (对象,可选):消息的附加元数据

返回值:

  • 包含状态和时间戳的对象

示例:
javascript
// 存储用户消息
const result = await mcp_cursor10x_storeUserMessage({
content: "我们需要为我们的API实现身份验证",
importance: "high",
metadata: {
topic: "authentication",
priority: 1
}
});
// 结果: {
// "status": "ok",
// "timestamp": 1681567845123
// }

mcp_cursor10x_storeAssistantMessage

在短期记忆系统中存储助手消息。

参数:

  • content (字符串,必需):消息内容
  • importance (字符串,可选):重要性级别 ("low", "medium", "high", "critical"),默认为 "low"
  • metadata (对象,可选):消息的附加元数据

返回值:

  • 包含状态和时间戳的对象

示例:
javascript
// 存储助手消息
const result = await mcp_cursor10x_storeAssistantMessage({
content: "我建议使用带有刷新令牌的JWT身份验证",
importance: "medium",
metadata: {
topic: "authentication",
contains_recommendation: true
}
});
// 结果: {
// "status": "ok",
// "timestamp": 1681567870456
// }

mcp_cursor10x_trackActiveFile

跟踪用户正在访问或修改的活动文件。

参数:

  • filename (字符串,必需):被跟踪文件的路径
  • action (字符串,必需):对文件执行的操作 (open, edit, close 等)
  • metadata (对象,可选):跟踪事件的附加元数据

返回值:

  • 包含状态、文件名、操作和时间戳的对象

示例:
javascript
// 跟踪活动文件
const result = await mcp_cursor10x_trackActiveFile({
filename: "src/auth/jwt.js",
action: "edit",
metadata: {
changes: "添加了刷新令牌功能"
}
});
// 结果: {
// "status": "ok",
// "filename": "src/auth/jwt.js",
// "action": "edit",
// "timestamp": 1681567900789
// }

mcp_cursor10x_getRecentMessages

从短期记忆中检索最近的消息。

参数:

  • limit (数字,可选):要检索的最大消息数量,默认为 10
  • importance (字符串,可选):按重要性级别过滤

返回值:

  • 包含状态和消息数组的对象

示例:
javascript
// 获取最近的重要消息
const messages = await mcp_cursor10x_getRecentMessages({
limit: 5,
importance: "high"
});
// 结果: {
// "status": "ok",
// "messages": [
// {
// "id": 42,
// "role": "user",
// "content": "我们需要为我们的API实现身份验证",
// "created_at": "2023-04-15T14:30:45.123Z",
// "importance": "high",
// "metadata": {"topic": "authentication", "priority": 1}
// },
// ...
// ]
// }

mcp_cursor10x_getActiveFiles

从短期记忆中检索活动文件。

参数:

  • limit (数字,可选):要检索的最大文件数量,默认为 10

返回值:

  • 包含状态和活动文件数组的对象

示例:
javascript
// 获取最近的活动文件
const files = await mcp_cursor10x_getActiveFiles({
limit: 3
});
// 结果: {
// "status": "ok",
// "files": [
// {
// "id": 15,
// "filename": "src/auth/jwt.js",
// "last_accessed": "2023-04-15T14:30:45.123Z",
// "metadata": {"changes": "添加了刷新令牌功能"}
// },
// ...
// ]
// }

长期记忆工具

mcp_cursor10x_storeMilestone

在长期记忆中存储项目里程碑。

参数:

  • title (字符串,必需):里程碑标题
  • description (字符串,必需):里程碑描述
  • importance (字符串,可选):重要性级别,默认为 "medium"
  • metadata (对象,可选):里程碑的附加元数据

返回值:

  • 包含状态、标题和时间戳的对象

示例:
javascript
// 存储项目里程碑
const result = await mcp_cursor10x_storeMilestone({
title: "身份验证系统实现",
description: "实现了带有刷新令牌和适当错误处理的JWT身份验证",
importance: "high",
metadata: {
version: "1.0.0",
files_affected: ["src/auth/jwt.js", "src/middleware/auth.js"]
}
});
// 结果: {
// "status": "ok",
// "title": "身份验证系统实现",
// "timestamp": 1681568000123
// }#### mcp_cursor10x_storeDecision

将项目决策存储在长期记忆中。

参数:

  • title (字符串, 必需): 决策的标题
  • content (字符串, 必需): 决策的内容
  • reasoning (字符串, 可选): 决策背后的理由
  • importance (字符串, 可选): 重要性级别,默认为 "medium"
  • metadata (对象, 可选): 决策的附加元数据

返回:

  • 包含状态、标题和时间戳的对象

示例:
javascript
// 存储一个项目决策
const result = await mcp_cursor10x_storeDecision({
title: "JWT for Authentication",
content: "使用JWT令牌进行API身份验证,并带有刷新令牌轮换",
reasoning: "JWT提供了无状态的身份验证,具有良好的安全性和性能特性",
importance: "high",
metadata: {
alternatives_considered: ["基于会话的身份验证", "OAuth2"],
decision_date: "2023-04-15"
}
});
// 结果: {
// "status": "ok",
// "title": "JWT for Authentication",
// "timestamp": 1681568100456
// }

mcp_cursor10x_storeRequirement

将项目需求存储在长期记忆中。

参数:

  • title (字符串, 必需): 需求的标题
  • content (字符串, 必需): 需求的内容
  • importance (字符串, 可选): 重要性级别,默认为 "medium"
  • metadata (对象, 可选): 需求的附加元数据

返回:

  • 包含状态、标题和时间戳的对象

示例:
javascript
// 存储一个项目需求
const result = await mcp_cursor10x_storeRequirement({
title: "Secure Authentication",
content: "系统必须实现安全的身份验证,包括密码哈希、速率限制和令牌轮换",
importance: "critical",
metadata: {
source: "安全审计",
compliance: ["OWASP Top 10", "GDPR"]
}
});
// 结果: {
// "status": "ok",
// "title": "Secure Authentication",
// "timestamp": 1681568200789
// }

情景记忆工具

mcp_cursor10x_recordEpisode

在情景记忆中记录一个事件(动作)。

参数:

  • actor (字符串, 必需): 执行动作的行为者(用户、助手、系统)
  • action (字符串, 必需): 执行的动作类型
  • content (字符串, 必需): 动作的内容或细节
  • importance (字符串, 可选): 重要性级别,默认为 "low"
  • context (字符串, 可选): 事件的上下文

返回:

  • 包含状态、行为者、动作和时间戳的对象

示例:
javascript
// 记录一个事件
const result = await mcp_cursor10x_recordEpisode({
actor: "assistant",
action: "implementation",
content: "创建了带有令牌验证的JWT身份验证中间件",
importance: "medium",
context: "authentication"
});
// 结果: {
// "status": "ok",
// "actor": "assistant",
// "action": "implementation",
// "timestamp": 1681568300123
// }

mcp_cursor10x_getRecentEpisodes

从情景记忆中检索最近的事件。

参数:

  • limit (数字, 可选): 要检索的最大事件数量,默认为10
  • context (字符串, 可选): 按上下文过滤

返回:

  • 包含状态和事件数组的对象

示例:
javascript
// 获取认证上下文中的最近事件
const episodes = await mcp_cursor10x_getRecentEpisodes({
limit: 5,
context: "authentication"
});
// 结果: {
// "status": "ok",
// "episodes": [
// {
// "id": 87,
// "actor": "assistant",
// "action": "implementation",
// "content": "创建了带有令牌验证的JWT身份验证中间件",
// "timestamp": "2023-04-15T14:45:00.123Z",
// "importance": "medium",
// "context": "authentication"
// },
// ...
// ]
// }

基于向量的记忆工具

mcp_cursor10x_manageVector

用于管理向量嵌入的统一工具,支持存储、搜索、更新和删除操作。

参数:- operation (字符串,必填):要执行的操作("store"、"search"、"update"、"delete")

  • contentId (数字,可选):该向量所代表的内容ID(用于存储、更新、删除)
  • contentType (字符串,可选):内容类型("message"、"file"、"snippet" 等)
  • vector (数组,可选):作为数字数组的向量数据(用于存储、更新)或查询向量(用于搜索)
  • vectorId (数字,可选):要更新或删除的向量ID
  • limit (数字,可选):搜索操作的最大结果数,默认为10
  • threshold (数字,可选):搜索操作的相似度阈值,默认为0.7
  • metadata (对象,可选):关于向量的附加信息

返回:

  • 包含状态和操作结果的对象

示例:
javascript
// 存储一个向量嵌入
const result = await mcp_cursor10x_manageVector({
operation: "store",
contentId: 42,
contentType: "message",
vector: [0.1, 0.2, 0.3, ...], // 128维向量
metadata: {
topic: "authentication",
language: "en"
}
});
// 结果: {
// "status": "ok",
// "operation": "store",
// "vectorId": 15,
// "timestamp": 1681570000123
// }

// 搜索相似向量
const searchResult = await mcp_cursor10x_manageVector({
operation: "search",
vector: [0.1, 0.2, 0.3, ...], // 查询向量
contentType: "snippet", // 可选过滤器
limit: 5,
threshold: 0.8
});
// 结果: {
// "status": "ok",
// "operation": "search",
// "results": [
// {
// "vectorId": 10,
// "contentId": 30,
// "contentType": "snippet",
// "similarity": 0.92,
// "metadata": { ... }
// },
// ...
// ]
// }

数据库模式

记忆系统自动创建并维护以下数据库表:

  • messages:存储用户和助手的消息

    • id:唯一标识符
    • timestamp:创建时间戳
    • role:消息角色(用户/助手)
    • content:消息内容
    • importance:重要性级别
    • archived:消息是否已归档
  • active_files:跟踪文件活动

    • id:唯一标识符
    • filename:文件路径
    • action:最后执行的动作
    • last_accessed:最后一次访问的时间戳
  • milestones:记录项目里程碑

    • id:唯一标识符
    • title:里程碑标题
    • description:详细描述
    • timestamp:创建时间戳
    • importance:重要性级别
  • decisions:存储项目决策

    • id:唯一标识符
    • title:决策标题
    • content:决策内容
    • reasoning:决策理由
    • timestamp:创建时间戳
    • importance:重要性级别
  • requirements:维护项目需求

    • id:唯一标识符
    • title:需求标题
    • content:需求内容
    • timestamp:创建时间戳
    • importance:重要性级别
  • episodes:记录动作和事件

    • id:唯一标识符
    • timestamp:创建时间戳
    • actor:执行动作的行为者
    • action:动作类型
    • content:动作详情
    • importance:重要性级别
    • context:动作上下文
  • vectors:存储用于语义搜索的向量嵌入

    • id:唯一标识符
    • content_id:引用内容的ID
    • content_type:内容类型(消息、文件、片段等)
    • vector:嵌入向量的二进制表示
    • metadata:向量的附加元数据
  • code_files:跟踪索引代码文件

    • id:唯一标识符
    • file_path:文件路径
    • language:编程语言
    • last_indexed:最后一次索引的时间戳
    • metadata:文件的附加元数据
  • code_snippets:存储提取的代码结构

    • id:唯一标识符
    • file_id:父文件的引用
    • start_line:起始行号
    • end_line:结束行号- symbol_type: 代码结构类型(函数、类、变量)
    • content: 代码片段内容

示例工作流程

优化的对话启动

javascript
// 通过单个工具调用初始化对话
// 这取代了在对话开始时需要进行三个单独调用的需求
const result = await mcp_cursor10x_initConversation({
content: "我需要在我的React应用中实现身份验证的帮助",
importance: "high"
});

// 向用户显示横幅
console.log("内存系统状态:", result.display.banner);

// 内部使用上下文(不要向用户展示)
const context = result.internal.context;
// 使用上下文提供更知情的帮助

开始新会话(替代方法)

javascript
// 在开始时生成一个内存横幅
mcp_cursor10x_generateBanner({})

// 获取全面的上下文
mcp_cursor10x_getComprehensiveContext({})

// 存储用户消息
mcp_cursor10x_storeUserMessage({
content: "我需要帮助解决身份验证问题",
importance: "high"
})

跟踪用户活动

javascript
// 跟踪活跃文件
await mcp_cursor10x_trackActiveFile({
filename: "src/auth/jwt.js",
action: "edit"
});

故障排除

常见问题

  1. 数据库连接问题

    • 确认您的Turso数据库URL和认证令牌正确无误
    • 检查到Turso服务的网络连接
    • 确认防火墙设置允许该连接
  2. 数据缺失

    • 检查是否以适当的优先级存储了数据
    • 验证检索查询参数(限制、过滤器)
    • 使用mcp_cursor10x_checkHealth()检查数据库健康状况
  3. 性能问题

    • 使用mcp_cursor10x_getMemoryStats()监控内存统计信息
    • 如果数据库变得过大,考虑归档旧数据
    • 通过使用更具体的过滤器来优化检索

诊断步骤

  1. 检查系统健康状况:
    javascript
    const health = await mcp_cursor10x_checkHealth({});
    console.log("系统健康状况:", health);

  2. 验证内存统计信息:
    javascript
    const stats = await mcp_cursor10x_getMemoryStats({});
    console.log("内存统计信息:", stats);

  3. 生成状态横幅:
    javascript
    const banner = await mcp_cursor10x_generateBanner({});
    console.log("内存横幅:", banner);

重要性级别

在内存中存储项目时,请使用适当的重要性级别:

  • low:一般信息、常规操作、日常对话
  • medium:有用的上下文、标准工作项、常规功能
  • high:关键决策、主要功能、重要的架构元素
  • critical:核心架构、安全问题、数据完整性问题

许可证

MIT

相关 MCP 服务