The Cursor10x MCP is a persistent multi-dimensional memory system for Cursor that enhances AI assistants with conversation context, project history, and code relationships across sessions.
🧠 Project-Centric | 📊 Relationship Graphs | ⚡ High Performance |
One database per project | Intelligent code connections | Minimal resource needs |
🔄 Continuous Context Awareness - Sophisticated retrieval methods focusing on what matters 📊 Structured Metadata - From repository structure down to individual functions 🧠 Adaptive Learning - Continuously learns from and adapts to your development patterns 🤖 Completely Autonomous - Self-managing context system that works in the background 📚 External Documentation - Automatically retrieves and integrates relevant documentation 📋 Workflow Integration - Seamless task management workflow built-in
The DevContext Project Generator is launching in the next couple days and will create a COMPLETE set up for your project to literally 10x your development workflow.
DevContext is a cutting-edge Model Context Protocol (MCP) server providing developers with continuous, project-centric context awareness that understands your codebase at a deeper level.
The Cursor10x Memory System creates a persistent memory layer for AI assistants (specifically Claude), enabling them to retain and recall:
This memory system bridges the gap between stateless AI interactions and continuous development workflows, allowing for more productive and contextually aware assistance.
The memory system is built on four core components:
The system implements four complementary memory types:
Short-Term Memory (STM)
Long-Term Memory (LTM)
Episodic Memory
Semantic Memory
# Install Turso CLI
curl -sSfL https://get.turso.tech/install.sh | bash
# Login to Turso
turso auth login
# Create a database
turso db create cursor10x-mcp
# Get database URL and token
turso db show cursor10x-mcp --url
turso db tokens create cursor10x-mcp
Or you can visit Turso and sign up and proceed to create the database and get proper credentials. The free plan will more than cover your project memory.
Update .cursor/mcp.json
in your project directory with the database url and turso auth token:
{
"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
Initializes a conversation by storing the user message, generating a banner, and retrieving context in one operation. This unified tool replaces the need for separate generateBanner, getComprehensiveContext, and storeUserMessage calls at the beginning of each conversation.
Parameters:
content
(string, required): Content of the user messageimportance
(string, optional): Importance level ("low", "medium", "high", "critical"), defaults to "low"metadata
(object, optional): Additional metadata for the messageReturns:
display
: Contains the banner to be shown to the userinternal
: Contains the comprehensive context for the agent's useExample:
// Initialize a conversation
const result = await mcp_cursor10x_initConversation({
content: "I need to implement a login system for my app",
importance: "medium",
});
// Result: {
// "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": { ... comprehensive context data ... },
// "messageStored": true,
// "timestamp": 1681567845123
// }
// }
mcp_cursor10x_endConversation
Ends a conversation by combining multiple operations in one call: storing the assistant's final message, recording a milestone for what was accomplished, and logging an episode in the episodic memory. This unified tool replaces the need for separate storeAssistantMessage, storeMilestone, and recordEpisode calls at the end of each conversation.
Parameters:
content
(string, required): Content of the assistant's final messagemilestone_title
(string, required): Title of the milestone to recordmilestone_description
(string, required): Description of what was accomplishedimportance
(string, optional): Importance level ("low", "medium", "high", "critical"), defaults to "medium"metadata
(object, optional): Additional metadata for all recordsReturns:
Example:
// End a conversation with finalization steps
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",
});
// Result: {
// "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
Checks the health of the memory system and its database connection.
Parameters:
Returns:
Example:
// Check memory system health
const health = await mcp_cursor10x_checkHealth({});
// Result: {
// "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
Retrieves detailed statistics about the memory system.
Parameters:
Returns:
Example:
// Get memory statistics
const stats = await mcp_cursor10x_getMemoryStats({});
// Result: {
// "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
Retrieves a unified context from all memory subsystems, combining short-term, long-term, and episodic memory.
Parameters:
Returns:
Example:
// Get comprehensive context
const context = await mcp_cursor10x_getComprehensiveContext({});
// Result: {
// "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
Stores a user message in the short-term memory system.
Parameters:
content
(string, required): Content of the messageimportance
(string, optional): Importance level ("low", "medium", "high", "critical"), defaults to "low"metadata
(object, optional): Additional metadata for the messageReturns:
Example:
// Store a user message
const result = await mcp_cursor10x_storeUserMessage({
content: "We need to implement authentication for our API",
importance: "high",
metadata: {
topic: "authentication",
priority: 1,
},
});
// Result: {
// "status": "ok",
// "timestamp": 1681567845123
// }
mcp_cursor10x_storeAssistantMessage
Stores an assistant message in the short-term memory system.
Parameters:
content
(string, required): Content of the messageimportance
(string, optional): Importance level ("low", "medium", "high", "critical"), defaults to "low"metadata
(object, optional): Additional metadata for the messageReturns:
Example:
// Store an assistant message
const result = await mcp_cursor10x_storeAssistantMessage({
content: "I recommend implementing JWT authentication with refresh tokens",
importance: "medium",
metadata: {
topic: "authentication",
contains_recommendation: true,
},
});
// Result: {
// "status": "ok",
// "timestamp": 1681567870456
// }
mcp_cursor10x_trackActiveFile
Tracks an active file being accessed or modified by the user.
Parameters:
filename
(string, required): Path to the file being trackedaction
(string, required): Action performed on the file (open, edit, close, etc.)metadata
(object, optional): Additional metadata for the tracking eventReturns:
Example:
// Track an active file
const result = await mcp_cursor10x_trackActiveFile({
filename: "src/auth/jwt.js",
action: "edit",
metadata: {
changes: "Added refresh token functionality",
},
});
// Result: {
// "status": "ok",
// "filename": "src/auth/jwt.js",
// "action": "edit",
// "timestamp": 1681567900789
// }
mcp_cursor10x_getRecentMessages
Retrieves recent messages from the short-term memory.
Parameters:
limit
(number, optional): Maximum number of messages to retrieve, defaults to 10importance
(string, optional): Filter by importance levelReturns:
Example:
// Get recent high importance messages
const messages = await mcp_cursor10x_getRecentMessages({
limit: 5,
importance: "high",
});
// Result: {
// "status": "ok",
// "messages": [
// {
// "id": 42,
// "role": "user",
// "content": "We need to implement authentication for our API",
// "created_at": "2023-04-15T14:30:45.123Z",
// "importance": "high",
// "metadata": {"topic": "authentication", "priority": 1}
// },
// ...
// ]
// }
mcp_cursor10x_getActiveFiles
Retrieves active files from the short-term memory.
Parameters:
limit
(number, optional): Maximum number of files to retrieve, defaults to 10Returns:
Example:
// Get recent active files
const files = await mcp_cursor10x_getActiveFiles({
limit: 3,
});
// Result: {
// "status": "ok",
// "files": [
// {
// "id": 15,
// "filename": "src/auth/jwt.js",
// "last_accessed": "2023-04-15T14:30:45.123Z",
// "metadata": {"changes": "Added refresh token functionality"}
// },
// ...
// ]
// }
mcp_cursor10x_storeMilestone
Stores a project milestone in the long-term memory.
Parameters:
title
(string, required): Title of the milestonedescription
(string, required): Description of the milestoneimportance
(string, optional): Importance level, defaults to "medium"metadata
(object, optional): Additional metadata for the milestoneReturns:
Example:
// Store a project milestone
const result = await mcp_cursor10x_storeMilestone({
title: "Authentication System Implementation",
description:
"Implemented JWT authentication with refresh tokens and proper error handling",
importance: "high",
metadata: {
version: "1.0.0",
files_affected: ["src/auth/jwt.js", "src/middleware/auth.js"],
},
});
// Result: {
// "status": "ok",
// "title": "Authentication System Implementation",
// "timestamp": 1681568000123
// }
mcp_cursor10x_storeDecision
Stores a project decision in the long-term memory.
Parameters:
title
(string, required): Title of the decisioncontent
(string, required): Content of the decisionreasoning
(string, optional): Reasoning behind the decisionimportance
(string, optional): Importance level, defaults to "medium"metadata
(object, optional): Additional metadata for the decisionReturns:
Example:
// Store a project decision
const result = await mcp_cursor10x_storeDecision({
title: "JWT for Authentication",
content: "Use JWT tokens for API authentication with refresh token rotation",
reasoning:
"JWTs provide stateless authentication with good security and performance characteristics",
importance: "high",
metadata: {
alternatives_considered: ["Session-based auth", "OAuth2"],
decision_date: "2023-04-15",
},
});
// Result: {
// "status": "ok",
// "title": "JWT for Authentication",
// "timestamp": 1681568100456
// }
mcp_cursor10x_storeRequirement
Stores a project requirement in the long-term memory.
Parameters:
title
(string, required): Title of the requirementcontent
(string, required): Content of the requirementimportance
(string, optional): Importance level, defaults to "medium"metadata
(object, optional): Additional metadata for the requirementReturns:
Example:
// Store a project requirement
const result = await mcp_cursor10x_storeRequirement({
title: "Secure Authentication",
content:
"System must implement secure authentication with password hashing, rate limiting, and token rotation",
importance: "critical",
metadata: {
source: "security audit",
compliance: ["OWASP Top 10", "GDPR"],
},
});
// Result: {
// "status": "ok",
// "title": "Secure Authentication",
// "timestamp": 1681568200789
// }
mcp_cursor10x_recordEpisode
Records an episode (action) in the episodic memory.
Parameters:
actor
(string, required): Actor performing the action (user, assistant, system)action
(string, required): Type of action performedcontent
(string, required): Content or details of the actionimportance
(string, optional): Importance level, defaults to "low"context
(string, optional): Context for the episodeReturns:
Example:
// Record an episode
const result = await mcp_cursor10x_recordEpisode({
actor: "assistant",
action: "implementation",
content: "Created JWT authentication middleware with token verification",
importance: "medium",
context: "authentication",
});
// Result: {
// "status": "ok",
// "actor": "assistant",
// "action": "implementation",
// "timestamp": 1681568300123
// }
mcp_cursor10x_getRecentEpisodes
Retrieves recent episodes from the episodic memory.
Parameters:
limit
(number, optional): Maximum number of episodes to retrieve, defaults to 10context
(string, optional): Filter by contextReturns:
Example:
// Get recent episodes in the authentication context
const episodes = await mcp_cursor10x_getRecentEpisodes({
limit: 5,
context: "authentication",
});
// Result: {
// "status": "ok",
// "episodes": [
// {
// "id": 87,
// "actor": "assistant",
// "action": "implementation",
// "content": "Created JWT authentication middleware with token verification",
// "timestamp": "2023-04-15T14:45:00.123Z",
// "importance": "medium",
// "context": "authentication"
// },
// ...
// ]
// }
mcp_cursor10x_manageVector
Unified tool for managing vector embeddings with operations for store, search, update, and delete.
Parameters:
operation
(string, required): Operation to perform ("store", "search", "update", "delete")contentId
(number, optional): ID of the content this vector represents (for store, update, delete)contentType
(string, optional): Type of content ("message", "file", "snippet", etc.)vector
(array, optional): Vector data as array of numbers (for store, update) or query vector (for search)vectorId
(number, optional): ID of the vector to update or deletelimit
(number, optional): Maximum number of results for search operation, defaults to 10threshold
(number, optional): Similarity threshold for search operation, defaults to 0.7metadata
(object, optional): Additional info about the vectorReturns:
Example:
// Store a vector embedding
const result = await mcp_cursor10x_manageVector({
operation: "store",
contentId: 42,
contentType: "message",
vector: [0.1, 0.2, 0.3, ...], // 128-dimensional vector
metadata: {
topic: "authentication",
language: "en"
}
});
// Result: {
// "status": "ok",
// "operation": "store",
// "vectorId": 15,
// "timestamp": 1681570000123
// }
// Search for similar vectors
const searchResult = await mcp_cursor10x_manageVector({
operation: "search",
vector: [0.1, 0.2, 0.3, ...], // query vector
contentType: "snippet", // optional filter
limit: 5,
threshold: 0.8
});
// Result: {
// "status": "ok",
// "operation": "search",
// "results": [
// {
// "vectorId": 10,
// "contentId": 30,
// "contentType": "snippet",
// "similarity": 0.92,
// "metadata": { ... }
// },
// ...
// ]
// }
The memory system automatically creates and maintains the following database tables:
messages
: Stores user and assistant messages
id
: Unique identifiertimestamp
: Creation timestamprole
: Message role (user/assistant)content
: Message contentimportance
: Importance levelarchived
: Whether the message is archivedactive_files
: Tracks file activity
id
: Unique identifierfilename
: Path to the fileaction
: Last action performedlast_accessed
: Timestamp of last accessmilestones
: Records project milestones
id
: Unique identifiertitle
: Milestone titledescription
: Detailed descriptiontimestamp
: Creation timestampimportance
: Importance leveldecisions
: Stores project decisions
id
: Unique identifiertitle
: Decision titlecontent
: Decision contentreasoning
: Decision reasoningtimestamp
: Creation timestampimportance
: Importance levelrequirements
: Maintains project requirements
id
: Unique identifiertitle
: Requirement titlecontent
: Requirement contenttimestamp
: Creation timestampimportance
: Importance levelepisodes
: Chronicles actions and events
id
: Unique identifiertimestamp
: Creation timestampactor
: Actor performing the actionaction
: Type of actioncontent
: Action detailsimportance
: Importance levelcontext
: Action contextvectors
: Stores vector embeddings for semantic search
id
: Unique identifiercontent_id
: ID of the referenced contentcontent_type
: Type of content (message, file, snippet)vector
: Binary representation of the embedding vectormetadata
: Additional metadata for the vectorcode_files
: Tracks indexed code files
id
: Unique identifierfile_path
: Path to the filelanguage
: Programming languagelast_indexed
: Timestamp of last indexingmetadata
: Additional file metadatacode_snippets
: Stores extracted code structures
id
: Unique identifierfile_id
: Reference to the parent filestart_line
: Starting line numberend_line
: Ending line numbersymbol_type
: Type of code structure (function, class, variable)content
: The code snippet content// Initialize conversation with a single tool call
// This replaces the need for three separate calls at the start of the conversation
const result = await mcp_cursor10x_initConversation({
content: "I need help implementing authentication in my React app",
importance: "high",
});
// Display the banner to the user
console.log("Memory System Status:", result.display.banner);
// Use the context internally (do not show to user)
const context = result.internal.context;
// Use context for more informed assistance
// Generate a memory banner at the start
mcp_cursor10x_generateBanner({});
// Get comprehensive context
mcp_cursor10x_getComprehensiveContext({});
// Store the user message
mcp_cursor10x_storeUserMessage({
content: "I need help with authentication",
importance: "high",
});
// Track an active file
await mcp_cursor10x_trackActiveFile({
filename: "src/auth/jwt.js",
action: "edit",
});
Database Connection Problems
Missing Data
mcp_cursor10x_checkHealth()
Performance Issues
mcp_cursor10x_getMemoryStats()
Check system health:
const health = await mcp_cursor10x_checkHealth({});
console.log("System Health:", health);
Verify memory statistics:
const stats = await mcp_cursor10x_getMemoryStats({});
console.log("Memory Stats:", stats);
Generate a status banner:
const banner = await mcp_cursor10x_generateBanner({});
console.log("Memory Banner:", banner);
When storing items in memory, use appropriate importance levels:
MIT
{ "mcpServers": { "cursor10x-mcp": { "command": "npx", "args": [ "cursor10x-mcp" ], "env": { "TURSO_AUTH_TOKEN": "your-turso-auth-token", "TURSO_DATABASE_URL": "your-turso-database-url" } } } }
Related projects feature coming soon
Will recommend related projects based on sub-categories