ClaudeCodeMod

All shelves / MCP servers

PostgMem

dariogriffo/postg-mem · 16 stars · C# · MIT

MCP server MCP server to store memories in postgres

Install

The repo has no one-line install. Follow its README.

Open the repo

Files

README.md

PostgMem

A Model Context Protocol (MCP) server implementation that provides vector memory storage using PostgreSQL and pgvector for AI applications.

Overview

PostgMem is a .NET-based service that allows AI agents to store, retrieve, and search through memories using vector embeddings. It leverages PostgreSQL with the pgvector extension to provide efficient similarity search capabilities.

Key features:

  • Store structured memories with vector embeddings
  • Retrieve memories by ID
  • Semantic search through memories using vector similarity
  • Filter search results using tags
  • MCP (Model Context Protocol) integration for easy use with AI agents

Technologies

  • .NET 9.0
  • PostgreSQL with pgvector extension
  • Model Context Protocol (MCP)
  • ASP.NET Core
  • Npgsql for PostgreSQL connectivity

Prerequisites

  • .NET 9.0 SDK
  • PostgreSQL database with pgvector extension installed
  • Text embedding API (default configuration uses Ollama)

Setup

Database Configuration

  1. Create a PostgreSQL database for the application
  2. Install the pgvector extension in your database:
    CREATE EXTENSION vector;
  3. Create the memories table:
    CREATE TABLE memories (
        id UUID PRIMARY KEY,
        type TEXT NOT NULL,
        content JSONB NOT NULL,
        source TEXT NOT NULL,
        embedding VECTOR(384) NOT NULL,
        tags TEXT[] NOT NULL,
        confidence DOUBLE PRECISION NOT NULL,
        created_at TIMESTAMP WITH TIME ZONE NOT NULL,
        updated_at TIMESTAMP WITH TIME ZONE NOT NULL
    );

Environment Configuration

Configure the application settings in the .env file:

ConnectionStrings__Storage="Host=localhost;Database=mcp_memory;Username=postgres;Password=postgres"
Embeddings__ApiUrl=http://localhost:11434/
Embeddings__Model=all-minilm:33m-l12-v2-fp16
  • ConnectionStrings__Storage: PostgreSQL connection string
  • Embeddings__ApiUrl: URL of your embedding API (defaults to Ollama)
  • Embeddings__Model: The embedding model to use

Running the Application

  1. Navigate to the PostgMem directory
  2. Run the application:
    dotnet run
    
  3. The MCP server will be available at http://localhost:5000 by default

MCP Tools

The following MCP tools are available:

Store

Store a new memory in the database.

Parameters:

  • type (string): The type of memory (e.g., 'conversation', 'document', etc.)
  • content (string): The content of the memory as a JSON object
  • source (string): The source of the memory (e.g., 'user', 'system', etc.)
  • tags (string[]): Optional tags to categorize the memory
  • confidence (double): Confidence score for the memory (0.0 to 1.0)

Search

Search for memories similar to the provided text.

Parameters:

  • query (string): The text to search for similar memories
  • limit (int): Maximum number of results to return (default: 10)
  • minSimilarity (double): Minimum similarity threshold (0.0 to 1.0) (default: 0.7)
  • filterTags (string[]): Optional tags to filter memories

Get

Retrieve a specific memory by ID.

Parameters:

  • id (Guid): The ID of the memory to retrieve

Delete

Delete a memory by ID.

Parameters:

  • id (Guid): The ID of the memory to delete

Implementation Details

  • Memory.cs: Defines the data model for memories
  • Storage.cs: Handles database operations for storing and retrieving memories
  • EmbeddingService.cs: Generates vector embeddings for text
  • MemoryTools.cs: Implements MCP tools for interacting with the memory storage

License

[Your license information here]

Contributing

[Your contribution guidelines here]

Facts

Kind
MCP server
Repo
dariogriffo/postg-mem
Group
Uncategorized
Stars
16
License
MIT
Language
C#
Last push
2025-05-01
Forks
6

More on this shelf

  1. 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
  2. 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
  3. 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
  4. 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
  5. 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
  6. 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k