GData Server — JSONHTL Notes System

A knowledge management system built around GDBM storage and the JSONHTL document format. It provides REST, command-line, Python module, and MCP access to the notes database.

Architecture Overview

See also: Todo list

Core layers:

Database Layer — GDBM storage with extent attribute handling

HTTP/MCP Server — FastAPI REST API, MCP transport, OAuth gate, and proxy-facing deployment

Client Interface — command-line, Python module, and MCP access

MCP Server and OAuth Access — combined REST/MCP runtime, OAuth dynamic client registration, Codex access, and setup notes

HTTP/MCP Server — combined server process for REST and MCP

Database Layer (gdata.py) — GDBM abstraction with JSON handling

Notes Client (notes_client.py) — CLI and module interface

Backup System — archive import/export with directory structure preservation

Test Infrastructure — test suites for protocols and clients

Document Format

All documents conform to JSONHTL specification with block elements para, heading, codeblock and inline elements plain text, link, and code.

Deployment

Current combined deployment uses gdata_mcp_server.py with REST on 127.0.0.1:8020 and MCP on 127.0.0.1:8023 against .agent_notes.gdbm. Public access is proxied through https://www.critchley.biz with OAuth/bearer-token protection for MCP. Older notes may still mention port 8021 or a separate test deployment; verify against the running process before relying on those details.

Key Features

• JSONHTL document storage with explicit links

• Hierarchical key organisation by convention using /

• REST and MCP access to the same GDBM-backed data

• Command-line and Python client interfaces

• Backup/import/export support

version 1.4  ·  created 2026-02-06  ·  updated 2026-05-28