Skip to main content
Glama
alrcatraz

astra-knowledge-base-mcp

by alrcatraz

astra-knowledge-base-mcp

MCP (Model Context Protocol) server for managing and searching multi-tenant knowledge bases.

Part of Astra AI Agent Infrastructure

License GitHub stars GitHub last commit Sponsor

Overview

Astra Knowledge Base MCP provides AI agents with persistent, searchable knowledge bases backed by PostgreSQL 16+ with pgvector — hybrid full-text and vector search, plus SAG (SQL-Retrieval Augmented Generation) for relational reasoning across chunks.

Each knowledge base is an isolated namespace. Content is auto-chunked on ingestion (recursive, heading-anchor, or semantic splitting), embedded via any OpenAI-compatible endpoint, and indexed for three complimentary retrieval paths.

Related MCP server: agent-memory

Prerequisites

  • Python 3.11+

  • uv — Python package manager (pip install uv)

  • PostgreSQL 16+ with pgvector — installation guide: pgvector.org

Setup

1. Configure PostgreSQL

Create the database and enable pgvector:

CREATE DATABASE astra_kb;
\c astra_kb
CREATE EXTENSION IF NOT EXISTS vector;

2. Install dependencies

uv sync

3. Configure environment

# Embedding endpoint (any OpenAI-compatible API)
export ASTRA_EMBED_BASE_URL=https://api.siliconflow.cn/v1
export ASTRA_EMBED_API_KEY=sk-...
export ASTRA_EMBED_MODEL=Qwen/Qwen3-VL-Embedding-8B
export ASTRA_EMBED_DIM=1024

# Optional: LLM endpoint for SAG extraction
export ASTRA_LLM_BASE_URL=https://api.siliconflow.cn/v1
export ASTRA_LLM_API_KEY=sk-...
export ASTRA_LLM_MODEL=THUDM/GLM-Z1-9B-0414

# PostgreSQL connection
export ASTRA_KB_PG_DSN=dbname=astra_kb user=postgres host=/run/postgresql

4. Start

uv run server.py

Configuration

Variable

Default

Description

ASTRA_KB_BACKEND

postgres

Backend — PostgreSQL only

ASTRA_KB_PG_DSN

dbname=astra_kb user=postgres host=/run/postgresql

PostgreSQL connection string

ASTRA_EMBED_BASE_URL

— (required)

OpenAI-compatible embedding endpoint

ASTRA_EMBED_API_KEY

Embedding API key (optional for local models)

ASTRA_EMBED_MODEL

Qwen/Qwen3-VL-Embedding-8B

Embedding model (supports VL for text+image)

ASTRA_EMBED_DIM

1024

Embedding vector dimension

ASTRA_LLM_BASE_URL

— (required for SAG)

LLM endpoint for event/entity extraction

ASTRA_LLM_API_KEY

LLM API key

ASTRA_LLM_MODEL

THUDM/GLM-Z1-9B-0414

LLM model for extraction

No hardcoded provider defaults. ASTRA_EMBED_BASE_URL and ASTRA_LLM_BASE_URL must be set explicitly. The old SILICONFLOW_API_KEY fallback has been removed — use ASTRA_EMBED_API_KEY or ASTRA_LLM_API_KEY instead.

Usage

MCP Tools

Tool

Description

kb_list

List all knowledge bases with enable/disable status

kb_create

Create a new empty knowledge base

kb_delete

Permanently delete a knowledge base and all its content

kb_enable / kb_disable

Toggle KB visibility in search

kb_add

Add text content (auto-chunked + embedded)

kb_update

Update a chunk (replace or append mode)

kb_delete_chunk

Delete a single chunk by ID

kb_list_chunks

List chunks in a knowledge base (paginated)

kb_search

Search across KBs — modes: hybrid (default), fts, vector, sag_fast, sag_precise

kb_extract

Extract events and entities from unprocessed chunks (SAG indexing)

kb_import_file

Import a file (PDF, DOCX, PPTX, TXT, MD) via MarkItDown

kb_import_jsonl

Import chunks from a JSONL file

kb_export_jsonl

Export all chunks to JSONL

kb_stats

Knowledge base statistics and overview

kb_diff

Track chunk changes over time

mgmt_list_tables

List mgmt schema tables (services, health_log, api_keys)

mgmt_query

Query operational data from mgmt tables

Registering in Hermes Agent

Add to your Hermes config.yaml:

mcp_servers:
  astra-knowledge-base:
    command: /path/to/astra-knowledge-base-mcp/scripts/run.sh
    enabled: true

Then restart Hermes Agent. The tools become available automatically.

Architecture

AI Agent (Hermes)
    │  MCP stdio protocol
    ▼
astra-knowledge-base-mcp (Python, uv run)
    │
    ├── PostgreSQL (psycopg2 + pgvector) → astra_kb
    │   ├── kb_registry         ← KB metadata & status
    │   ├── kb_*.chunks         ← Per-KB schema (tsvector FTS + vector(1024))
    │   ├── kb_*.events         ← SAG event index (vector(1024))
    │   ├── kb_*.entities       ← SAG entity index (vector(1024))
    │   └── mgmt                ← Operational data (services, health_log, api_keys)
    │
    └── Embedding cache (PostgreSQL) → embed_cache table

Three complimentary retrieval paths:

  • FTS — keyword search via PostgreSQL tsvector / ts_rank

  • Vector — semantic search via cosine similarity on pgvector indexes

  • SAG — SQL-Retrieval Augmented Generation: event-entity extraction + query-time hyperedge expansion for multi-hop reasoning across chunks

Agent Guide

See AGENTS.md for AI-agent-oriented documentation (entry points, workflows, Hermes integration).

Dependencies

  • PostgreSQL 16+ with pgvector — primary data store

  • psycopg2-binary — PostgreSQL driver

  • MarkItDown — file import (PDF, DOCX, PPTX)

Retrieval Strategy

We implement SAG (SQL-Retrieval Augmented Generation) — an original retrieval architecture that replaces both traditional RAG and GraphRAG. SAG uses event-entity indexing and query-time dynamic hyperedges to deliver both semantic retrieval and relational reasoning in a single pipeline.

Reference:

Our implementation follows the SAG algorithm directly on our PostgreSQL/pgvector infrastructure, without wrapping the reference package.

License

MIT — see LICENSE.


中文版

概述

Astra Knowledge Base MCP 为 AI Agent 提供基于 PostgreSQL 16+ + pgvector 的持久化、可搜索知识库——支持混合全文/向量检索和 SAG(SQL 检索增强生成)关联推理。

每个知识库是隔离的命名空间,内容引入时自动分块(递归、heading-anchor 或语义切分),通过任意 OpenAI 兼容的端点进行向量化,并建立三种互补的检索路径。

Minimal setup:

export ASTRA_EMBED_BASE_URL=https://api.siliconflow.cn/v1
export ASTRA_EMBED_API_KEY=sk-...
uv run server.py

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    MCP server providing persistent memory management for AI agents using SQLite and FTS5, enabling storage, full-text search, and recall of memories with namespace isolation.
    Last updated
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A local-first MCP server for durable agent memory using SQLite and FTS5, enabling knowledge graph storage, search, and recall for AI agents.
    Last updated
    20
    1
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A SQLite-backed MCP memory server providing persistent memory storage with full-text search and knowledge graph capabilities for AI assistants.
    Last updated
    35
    MIT

View all related MCP servers

Related MCP Connectors

  • Local-first RAG engine with MCP server for AI agent integration.

  • Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

View all MCP Connectors

Latest Blog Posts

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/alrcatraz/astra-knowledge-base-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server