Skip to main content

Your eternal second brain, running locally. Private, fast, and built for AI agents that actually remember.

Project description

🧠 Eternity MCP

Your Eternal Second Brain, Running Locally.

Eternity MCP is a lightweight, privacy-focused memory server designed to provide long-term memory for LLMs and AI agents using the Model Context Protocol (MCP).

It combines structured storage (SQLite) with semantic vector search (ChromaDB), enabling agents to persist and retrieve text, PDF documents, and chat histories across sessions using natural language queries.

Built to run fully locally, Eternity integrates seamlessly with MCP-compatible clients, LangChain, LangGraph, and custom LLM pipelines, giving agents a durable and private memory layer.


🚀 Why Eternity?

Building agents that "remember" is hard. Most solutions rely on expensive cloud vector databases or complex setups. Eternity solves this by being:

  • 🔒 Private & Local: Runs entirely on your machine. No data leaves your network.
  • ⚡ fast & Lightweight: Built on FastAPI and ChromaDB.
  • 🔌 Agent-Ready: Perfect for LangGraph, LangChain, or direct LLM integration.
  • 📄 Multi-Modal: Ingests raw text and PDF documents automatically.
  • 🔎 Semantic Search: Finds matches by meaning, not just keywords.

interface.png

📦 Installation

You can install Eternity directly from PyPI (coming soon) or from source:

# From source
git clone https://github.com/danttis/eternity-mcp.git
cd eternity

🛠️ Usage

1. Start the Server

Run the server in a terminal. It will host the API and the Memory UI.

eternity

Server runs at http://localhost:8000

2. Client Usage (Python)

You can interact with Eternity using simple HTTP requests.

import requests

ETERNITY_URL = "http://localhost:8000"

# 💾 Store a memory
requests.post("{ETERNITY_URL}/add", data={
    "content": "The project deadline is next Friday.",
    "tags": "work,deadline"
})

# 🔍 Search memory
response = requests.get("{ETERNITY_URL}/search", params={"q": "When is the deadline?"})
print(response.json())

3. Integration with LangGraph/AI Agents

Eternity shines when connected to an LLM. Here is a simple pattern for an agent with long-term memory:

  1. Recall: Before answering, search Eternity for context.
  2. Generate: Feed the retrieved context to the LLM.
  3. Memorize: Save the useful parts of the interaction back to Eternity.

(See langgraph_agent.py in the repo for a full, working example using Ollama/Groq).

🔌 API Endpoints

Method Endpoint Description
GET / Web UI to view recent memories.
POST /add Add text or file (PDF). Params: content, tags, file.
GET /search Semantic search. Params: q (query text).

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Inspiration

This project was inspired by Supermemory. We admire their vision for a second brain and their open-source spirit.


Created by Junior Dantas with a little help from AI :)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eternity_mcp-0.1.1.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eternity_mcp-0.1.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file eternity_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: eternity_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for eternity_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ea3d1be335558b509315e346f9d073c946674fc8f982fb2a1c5c9477e946aa52
MD5 5b29a736251b454cb28ea879e2e4e8f5
BLAKE2b-256 1c64d47066bc0278d6d991254a0b77cd8b182cfe2c83103d9d48889bea34da54

See more details on using hashes here.

File details

Details for the file eternity_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: eternity_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for eternity_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 091b838da9dd8ca1696cd7daa05e97908e20f40b7646a6f39e1ea0d6e8041f12
MD5 0fd274b8d2112bf2db292d8761fb8a64
BLAKE2b-256 01fe1f415c214db9d819e766d97248a194f8cf323f723576be3f0dda97f34f87

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page