the-pensieve
One simply siphons the excess thoughts from one's mind, pours them into the basin, and examines them at one's leisure. It becomes easier to spot patterns and links, you understand, when they are in this form.
Documentation
The Pensieve MCP Server
One simply siphons the excess thoughts from one's mind, pours them into the basin, and examines them at one's leisure. It becomes easier to spot patterns and links, you understand, when they are in this form.
This is a TypeScript-based MCP server that implements a RAG-based knowledge management system. It demonstrates core MCP concepts by providing:
- Resources representing stored knowledge with URIs and metadata
- Natural language interface for querying knowledge
- LLM-powered analysis and response synthesis
Features
Resources
- Access knowledge via `memory://` URIs
- Markdown files containing structured knowledge
- Metadata for categorization and retrieval
Tools
- `ask_pensieve` - Query your stored knowledge
- Takes natural language questions
- Uses LLM to analyze and retrieve relevant information
- Provides contextual answers based on stored knowledge
Development
Install dependencies:
npm installBuild the server:
npm run buildFor development with auto-rebuild:
npm run watchKnowledge Organization
Store your knowledge as markdown files in the root directory:
1. Use clear categories in filenames (e.g., `skills-javascript.md`)
2. One topic per file
3. Include relevant metadata (dates, sources, etc.)
4. Use clear, well-structured content
Installation
To use with Claude Desktop, add the server config:
On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
{
"mcpServers": {
"The Pensieve": {
"command": "/path/to/The Pensieve/build/index.js"
}
}
}Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector:
npm run inspectorThe Inspector will provide a URL to access debugging tools in your browser.
async function handleQuestion(question: string) {
// 1. Analyze question
const analysis = await server.request(SamplingCreateMessageRequestSchema, {
messages: [{
role: "user",
content: { type: "text", text: question }
}],
systemPrompt: "You are the Pensieve. Analyze questions to determine what knowledge to retrieve.",
includeContext: "none"
});
// 2. Use existing RAG query (from our working code)
const results = await ragPipeline.semanticSearch(analysis.content.text);
// 3. Compose response
const response = await server.request(SamplingCreateMessageRequestSchema, {
messages: [{
role: "user",
content: {
type: "text",
text: `Answer using this knowledge: ${results.map(r => r.payload.full_text).join('\n')}`
}
}],
systemPrompt: "You are the Pensieve. Provide clear answers based on stored knowledge.",
includeContext: "none"
});
return response.content.text;
}
const documentGuide = `To prepare documents for the Pensieve:
1. Place files in the root directory
2. Use clear categories in filenames (e.g., skills-javascript.md)
3. One topic per file
4. Clear, well-structured content
5. Include relevant metadata (dates, sources, etc.)`;
{
uri: "memory://knowledge/skills-javascript.md",
mimeType: "text/markdown", // Since we're using markdown files
name: "JavaScript Skills",
description: "Knowledge about JavaScript development"
}
Frequently asked questions
What is the-pensieve?
the-pensieve is One simply siphons the excess thoughts from one's mind, pours them into the basin, and examines them at one's leisure. It becomes easier to spot patterns and links, you understand, when they are in this form.
How do I install the-pensieve?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is the-pensieve open source?
Yes — it is hosted on GitHub at https://github.com/seanivore/the-pensieve and has 2 stars.
Related MCP tools
MCP server enabling persistent memory for Claude through a local knowledge graph - fork focused on local development JavaScript-based implementation.
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.
A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio
A server that integrates Linear's project management system with the Model Context Protocol (MCP) to allow LLMs to interact with Linear.
Code search MCP for Claude Code. Make entire codebase the context for any coding agent. TypeScript-based implementation. Trusted by 4100+ developers.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP