
Prompt Buddy
from memextech
Prompt Buddy MCP exposes a public, searchable catalog of reusable AI skills.
๐ฅ๐ฅFreeQuick setup
Memex Targeted Search Server
A Model Context Protocol (MCP) server that provides targeted search capabilities across Memex conversation history and project files.
Overview
This MCP server enables AI agents to efficiently search through:
- Conversation History: 952+ conversation files from Memex with metadata, titles, summaries, and message content
- Project Files: 516+ project directories in the user's workspace with various file types and technologies
Features
๐ Core Search Tools
search_conversations- Search conversation history by text, metadata, and filtersget_conversation_snippet- Retrieve specific parts of conversations without context overloadsearch_projects- Search project files by content, file types, and namesget_project_overview- Get project summaries with technology detectionfind_command- NEW! Find specific commands, CLI usage, or code snippets from conversation history
๐ฏ Smart Context Management
- Returns targeted snippets instead of full conversations
- Limits search scope to prevent context explosion
- Supports faceted filtering (dates, projects, file types)
- Provides relevance scoring for search results
API Reference
search_conversations
- Purpose: Search conversation history with flexible filtering
- Parameters:
query(required),limit,project,date_from,date_to - Returns: Array of conversation metadata with relevance scoring
get_conversation_snippet
- Purpose: Retrieve specific message ranges from conversations
- Parameters:
conversation_id(required),message_start,message_count - Returns: Conversation snippet with message details
search_projects
- Purpose: Search project files by content and metadata
- Parameters:
query(required),file_types,limit - Returns: Array of file matches with context
get_project_overview
- Purpose: Analyze project structure and technology stack
- Parameters:
project_name(required) - Returns: Project summary with file counts and tech detection
find_command
- Purpose: Find specific commands, CLI usage, or code snippets from conversation history
- Parameters:
query(required),command_type(cli/code/config/any),limit - Returns: Array of commands with context, confidence scoring, and conversation references
Architecture
Built with:
- TypeScript - Type-safe development
- MCP SDK - Official Model Context Protocol SDK
- Node.js - Runtime environment
- File System APIs - Direct file access for performance
Performance Considerations
- Limits search scope to prevent overwhelming results
- Uses streaming JSON parsing for large files
- Implements intelligent file filtering
- Caches frequently accessed metadata
- Returns truncated content with full context available on demand
Agent Experience
The server is designed for optimal agent interaction:
- Targeted Search: Find specific information without context overload
- Faceted Filtering: Multiple search dimensions (date, project, file type)
- Progressive Discovery: Start with summaries, drill down to details
- Context Preservation: Maintain conversation and project relationships
Development
Running in Development
npm run devBuilding for Production
npm run build
npm startTesting
The server includes comprehensive error handling and graceful degradation for:
- Missing or corrupted conversation files
- Inaccessible project directories
- Invalid JSON parsing
- Large file handling
Installation
# Clone the repository
git clone https://github.com/memextech/memex-targeted-search-server.git
cd memex-targeted-search-server
# Install dependencies
npm install
# Build the project
npm run buildConfiguration
The server is configured to search:
- Conversation History:
~/Library/Application Support/Memex/history/ - Project Files:
~/Workspace/
MCP Server Configuration
Add to your MCP configuration (e.g., Claude Desktop config):
{
"mcpServers": {
"memex-search": {
"command": "node",
"args": ["/path/to/memex-targeted-search-server/dist/index.js"]
}
}
}Usage Examples
1. Find Forgotten Commands
"I don't remember what the command is to run the memex agent cli"
find_command({
query: "memex agent cli",
command_type: "cli",
limit: 5
})Find specific npm commands
find_command({
query: "npm install",
command_type: "cli",
limit: 5
})Example Response:
{
"query": "npm install",
"total_found": 3,
"commands": [
{
"command": "npm install -g firebase-tools",
"context": "Install Firebase CLI: `npm install -g firebase-tools`\n- Login to Firebase: `firebase login`",
"conversation_id": "abc123",
"conversation_title": "Firebase Setup Guide",
"message_index": 7,
"confidence": 0.9,
"type": "cli"
}
]
}2. Search Conversations
Find conversations about specific topics
search_conversations({
query: "3D modeling",
limit: 5
})Example Response:
{
"total_found": 3,
"conversations": [
{
"conversation_id": "a3edfc8f-0978-415e-9de8-18f4d94ea3a2",
"title": "3D Interactive Solar System Model",
"summary": "Design an engaging, visually appealing 3D representation of planets and celestial bodies",
"created_at": "2025-05-27T17:13:26Z",
"project": "Stellar 3d solar system",
"message_count": 76,
"relevance": "content"
}
]
}Filter by date range and project
search_conversations({
query: "python",
project: "cad_example",
date_from: "2025-01-01",
date_to: "2025-03-01",
limit: 3
})3. Get Conversation Details
Retrieve specific messages from a conversation
get_conversation_snippet({
conversation_id: "bf283daa-25d3-434f-ad7e-9adda48cdcdd",
message_start: 1,
message_count: 3
})Example Response:
{
"conversation_id": "bf283daa-25d3-434f-ad7e-9adda48cdcdd",
"title": "3D Model 3MF File Creation",
"message_range": "1-3",
"total_messages": 30,
"messages": [
{
"index": 1,
"role": "user",
"content": "can I create a 3D model in .3mf?"
},
{
"index": 2,
"role": "assistant",
"content": "I'll help you create a 3D model using PythonOCC and convert it to .3mf format..."
}
]
}4. Search Projects
Find files by technology
search_projects({
query: "interface",
file_types: ["ts", "js"],
limit: 10
})Search all project files
search_projects({
query: "streamlit",
limit: 5
})Example Response:
{
"total_found": 3,
"results": [
{
"project": "ad_campaign_dashboard",
"file": "ad_campaign_dashboard/app.py",
"match": "import streamlit as st",
"line": 1
}
]
}5. Get Project Overview
Analyze project structure and tech stack
get_project_overview({
project_name: "memex_targeted_search_server"
})Example Response:
{
"name": "memex_targeted_search_server",
"path": "/Users/user/Workspace/memex_targeted_search_server",
"file_count": 8,
"directories": ["dist", "src"],
"file_types": {
"ts": 1,
"js": 1,
"json": 3,
"md": 1
},
"main_files": ["package.json", "README.md"],
"technologies": ["JavaScript/TypeScript"]
}Real-World Usage Scenarios
Scenario 1: "I forgot that command..."
// User: "I don't remember what the command is to run the memex agent cli"
find_command({
query: "memex agent",
command_type: "cli",
limit: 5
})
// User: "What was that firebase command to deploy?"
find_command({
query: "firebase deploy",
command_type: "cli",
limit: 3
})
// Result: Finds exact commands with context from previous conversationsScenario 2: Finding Related Work
// Agent: "I need to find previous conversations about Blender projects"
search_conversations({
query: "blender",
limit: 5
})
// Result: Finds 2 conversations about 3D Manhattan cityscape and geometric skyscraper
// Agent can then drill down into specific conversations for detailsScenario 3: Code Reference Lookup
// Agent: "Show me Python projects that use Streamlit"
search_projects({
query: "streamlit",
file_types: ["py"],
limit: 10
})
// Result: Finds specific Python files with Streamlit imports
// Agent can then examine project structure and implementation patternsScenario 4: Cross-Reference Discovery
// Agent: "Find conversations from January 2025 about 3D modeling"
search_conversations({
query: "3D model",
date_from: "2025-01-01",
date_to: "2025-01-31",
limit: 5
})
// Agent: "Now show me the related project files"
get_project_overview({
project_name: "cad_example"
})No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.