PersonaMate
by enrodrigu
Overview
PersonaMate is a personal knowledge graph assistant that leverages AI and the Model Context Protocol (MCP) to manage personal contact data and relationships.
Installation
docker compose up -d neo4j mcpEnvironment Variables
- OPENAI_API_KEY
- NEO4J_URI
- NEO4J_USER
- NEO4J_PASSWORD
- NEO4J_DB
Security Notes
CRITICAL: The `utils/neo4j_graph.py` file constructs Cypher queries using f-strings for node labels (`type`) and relationship types (`edgetype`). This direct interpolation without sanitization of user-provided input (e.g., `type1`, `type2`, `linktype` from MCP tools) is vulnerable to Cypher injection attacks, allowing arbitrary database manipulation. Additionally, the MCP server runs without any authentication by default, enabling anyone with network access to invoke its tools and potentially perform data operations. Default Neo4j credentials (`neo4j`/`personamate` or `neo4j-pass`) are weak and hardcoded but can be overridden by environment variables.
Similar Servers
mcp-neo4j
The MCP Neo4j Cypher server enables AI models to interact with a Neo4j graph database, execute Cypher queries (read and write), explore the graph schema, and manage query performance and response sizes.
context-portal
Manages structured project context for AI assistants and developer tools, enabling Retrieval Augmented Generation (RAG) and prompt caching within IDEs.
obsidian-mcp-plugin
This plugin connects your Obsidian vault to AI assistants through MCP (Model Context Protocol), enabling them to understand and navigate your notes as a connected knowledge graph.
mcp
Enables AI models (LLMs) to interact with a Neo4j graph database by providing a structured set of tools via the Model Context Protocol (MCP).