Einstein MCP is a local MCP server that stores durable project knowledge on disk so agents can recall, search, and refine memory across sessions. It also ships experimental code-outline tools that build a symbol relation graph from source code, letting agents navigate declarations, call chains, type hierarchies, and variable usages without leaving the MCP session.
- File-based knowledge store rooted at a configurable project directory.
- Tag-based search and topic-based retrieval with structured metadata.
- Simple MCP toolset plus a setup prompt to bootstrap memory.
- Experimental code-outline tools with language-aware symbol extraction (enabled via
--experimental).
Einstein MCP provides 8 stable knowledge management tools and 3 experimental code-outline tools.
Knowledge — Read
recall_general_memory - Get the general project overview from the index
recall_memory - Retrieve detailed content for a specific topic
search_memories - Find topics by tags
list_memories - List all available memory topics
Knowledge — Write
memorize_new_topic - Create a new topic with tags and content
refine_memory - Update an existing topic's tags, summary, or content
memorize_general_info - Set or update the general project knowledge
forget_memory - Delete a topic and remove it from the index
Code Outline (experimental — requires --experimental flag)
outline_symbol - Relation tree for a named symbol across the project
outline_file - Relation tree for all symbols declared in a file
outline_project - Full relation tree for every symbol in the project
The memorize-project prompt provides step-by-step instructions for initializing a project's knowledge base:
- Analyze the project structure and configuration
- Create general project memory
- Identify and document specialized components
- Verify the memory index
Build the server:
go build -o bin/einstein-mcp ./cmd/mcp
Configure your MCP client (example for Claude Desktop):
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"einstein": {
"command": "/absolute/path/to/einstein-mcp",
"args": ["--root", "/path/to/your/project"]
}
}
}
Add "--experimental" to args to also enable the code-outline tools.
Claude Code MCP Configuration
$~claude mcp add einstein -- einstein-mcp --experimental
Adding MCP server "einstein" with command "einstein-mcp"...
MCP server "einstein" added successfully.
Initialize memory by invoking the memorize-project prompt in your MCP client, or manually call the tools to create your knowledge base.