Digital Persona Memory MCP Server
Allows creating digital personas from Facebook exported data, enabling chat with the persona.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Digital Persona Memory MCP ServerWhat did Marx say about capitalism?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Digital Persona Memory App
Builds a searchable memory bank from PDF content and exposes it as an MCP tool.
Add it as an MCP server in your favorite AI client (eg: LM Studio) with the included system prompt and chat with your heroes, historical figures, or any collection of PDF content.
Example personas are included for Karl Marx and Friedrich Engels. The personas are built from every work both figures ever published. You can chat, ask them questions, or even debate them as though they were still alive and they'll respond based on their own publicly available works.
Alternative uses include adding your school textbooks in PDF format and asking them questions. No more finding that one page, just ask it to explain whatever you want to know.
A modified version of this app is used to bring Facebook users to life as Digital Personas using their exported Facebook data.
What This App Does
extracts and indexes persona content from PDF-derived JSON sections
builds per-person Chroma memory databases
serves an MCP search tool with semantic ranking plus recency scoring
supports multiple personas by adding folders under
pdf/
Related MCP server: MinerU Document Explorer
Core Features
parser/contains PDF parsing tools to turn PDF persona text into JSON section files.2_build_memory.pyembeds documents and builds a Chroma memory DB.3_avatar_mcp.pyexposessearch_my_memory()as an MCP tool.--namelets you create and query separate memory databases for different personas.config.jsoncentralizes paths, embedding server settings, memory DB defaults, and search tuning.
Project Files
1_prep_data.py: Prepare imported JSON data and normalize text for memory import.2_build_memory.py: Build the Chroma memory database with optional persona selection.3_avatar_mcp.py: Run the MCP server and query the selected memory database.config.json: Configuration for PDF sources, embeddings, memory DB paths, and search settings.parser/: PDF downloader and parser utilities for creating JSON section files from PDFs.
Python Requirements
Install dependencies in your virtual environment:
pip install -r requirements.txtData Layout
PDF Persona Support
Each persona owns a directory under pdf/.
For example:
pdf/marx/(Karl Marx persona, included as a sample)pdf/engles/(Friedrich Engels persona, included as a sample)
Memory DB Layout
The memory database lives under the base path in config.json.
When using --name, a separate collection directory is created:
avatar_memory_db/marx/avatar_memory_db/engles/
Each persona DB contains Chroma persistence files plus a document_index.json.
LM Studio Setup
Before building or querying memory:
Start LM Studio's Local Server.
Load the embedding model configured in
config.json.Confirm
embeddings.api_basematches the Local Server URL.
End-to-End Workflow
1) Add persona-specific PDF data or formatted JSON sections
Option 1: Add PDF files in pdf/<persona>/ and run the parser tools in parser/ to create JSON section files in pdf/<persona>/json/.
You will need to edit the parser tools to meet your specific PDF structure and content. The included parser/ tools are a starting point for common PDF layouts.
Option 2: Add JSON section files directly in pdf/<persona>/json/.
The JSON files should be structured as:
{
"sections": [
{
"title": "Section Title",
"text": "Section text content...",
"timestamp": "2024-01-01T00:00:00Z" // Timestamp is optional but recommended for recency scoring
},
...
]
}2) Prepare JSON data for ingestion
python 1_prep_data.pyThis will normalize the text and prepare the JSON sections for embedding. It will prompt you to select a persona if multiple are present.
3) Build the memory DB
Option 1: Build default collection (no persona name specified. Will use config.json default collection name):
python 2_build_memory.pyOption 2: Build a named persona collection:
JSON files for Karl Marx and Friedrich Engels are included as examples.
python 2_build_memory.py --name marxpython 2_build_memory.py --name engles4) Start the MCP server
Option 1: Run the default DB server:
python 3_avatar_mcp.pyOption 2: Run a named persona DB server:
python 3_avatar_mcp.py --name marxpython 3_avatar_mcp.py --name englesThe exposed MCP tool is:
search_my_memory(topic, num_results=...)Search Behavior
Results are ranked by:
semantic similarity from embeddings
an optional recency boost
Tune behavior in config.json:
search.default_num_resultssearch.candidate_multipliersearch.recency_half_life_dayssearch.recency_weight_alpha
Troubleshooting
No memory results:
Confirm
pdf/<persona>/json/files exist.Confirm prepared_documents.json exists in the persona folder (or whatever filename you specified in
config.json).Rebuild the memory DB.
Collection or DB errors:
Verify
memory_db.pathandcollection_nameinconfig.json.Use
--nameconsistently for build and server.
LM Studio errors:
Confirm the Local Server is running with embedding model loaded.
Check
embeddings.api_base, and ensure the model name inconfig.jsonmatch LM Studio's model name.
Long build times:
Large persona data can take 5-10+ minutes depending on hardware and embedding throughput.
Screenshot of this in action
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Domush/PDF-to-AI-persona'
If you have feedback or need assistance with the MCP directory API, please join our Discord server