The Pensieve MCP Server

by seanivore

2 stars
457 downloads
Not rated
GitHub Website

About

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.

Details

Author
seanivore
GitHub stars
2
Downloads
457
Categories
Other, Knowledge Base

- Access knowledge via memory:// URIs with metadata
- Markdown files for structured, categorized knowledge
- ask_pensieve tool for natural language queries
- LLM-powered analysis and contextual answer synthesis

Install dependencies with npm install, build the server with npm run build, then store knowledge as markdown files in the project’s root directory. Configure the server in Claude Desktop’s config file (claude_desktop_config.json) by adding an entry pointing to the built index.js. Query stored knowledge using the built-in tool ask_pensieve.

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 install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Knowledge 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 inspector

The 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"
}

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.