Self-Learning MCP

Self-Learning MCP

Enables AI agents to learn from their work by recording tasks, extracting patterns, detecting mistakes, and proactively surfacing insights, all using the agent's own model through a cooperative intelligence pattern.

Category
Visit Server

README

Self-Learning MCP Server

Self-improving memory for AI agents — Antigravity-native MCP server

A persistent memory system that lets AI agents learn from their own work. Records tasks, extracts patterns, detects mistakes, and proactively surfaces insights — all using the agent's own model through a cooperative intelligence pattern.

Quick Start (Antigravity)

# 1. Clone and build
git clone <repo-url> && cd Self-Learning-MCP
npm install && npm run build

# 2. Register in Antigravity
node dist/src/cli.js init

That's it. No API keys. No model config. No env vars. The server uses Antigravity's own model for all reasoning.

How It Works

Agent-Cooperative Intelligence

Unlike traditional memory systems that need their own LLM, this server uses a cooperative pattern:

  1. Server handles storage, retrieval, and structuring (SQLite + FTS5)
  2. Agent (running on Antigravity's model) does all reasoning and synthesis
  3. Agent commits learned patterns back to the server
Agent does work → calls mem_end_task → server returns synthesis context
→ agent reasons over it → calls mem_commit_synthesis → patterns stored
→ next task: mem_get_briefing → patterns influence approach

The Learning Loop

┌──────────┐     ┌──────────┐     ┌──────────┐     ┌──────────┐
│  Record  │────▶│  Recall  │────▶│Synthesize│────▶│ Proactive│
│          │     │          │     │          │     │          │
│ Tasks    │     │ Briefings│     │ Patterns │     │ Insights │
│ Steps    │     │ Context  │     │ Anti-pat │     │ Drift    │
│ Errors   │     │ Wiki     │     │ Wiki     │     │ Risks    │
└──────────┘     └──────────┘     └──────────┘     └──────────┘

Compact Wire Codec

All tool outputs use a token-efficient format (~77% smaller than verbose JSON):

Verbose: {"type":"pattern","description":"validate webhooks","confidence":0.95,"tags":["api","security"]}
Compact: {"t":"P","d":"validate webhooks","c":95,"ta":"api|security"}

Tools Reference

Record (6 tools)

Tool Description
mem_start_task Begin a task trace {d, j?, conv?}{tid, has_insights}
mem_record_step Record a step {tid, action, tool?, result?, ok?}
mem_record_correction Record a correction {tid, wrong, fix, cause?}
mem_end_task Close trace {tid, outcome?, summary?} → synthesis context
mem_store_entity Store entity {t, nm, d?, j?, obs?[]}
mem_add_relationship Create edge {src, tgt, rel}

Recall (6 tools)

Tool Description
mem_recall Full-text search {q, n?, t?, j?}
mem_get_context Context packet for topic {topic, j?}
mem_get_wiki Retrieve wiki {j?, sec?}
mem_query_graph Structured query {t?, rel?, j?, since?, n?}
mem_get_entity Entity details {id}
mem_get_briefing Pre-task intelligence {d, j?}

Cooperative (3 tools)

Tool Description
mem_commit_synthesis Commit learned patterns {tid, patterns[], anti[]}
mem_commit_wiki Save wiki sections {sections[{sec, j?, x}]}
mem_regenerate_wiki Gather wiki context {j?}

Proactive (3 tools)

Tool Description
mem_get_insights Active insights {t?, n?}
mem_dismiss_insight Dismiss insight {id, reason?}
mem_set_watch Set watch {condition, entity_id?}

Compact Codec Decoder Ring

Short Key Full Name
t type
d description
c confidence (0-100)
h hit count
j project
nm name
x content
n count / total
tid task ID
ok success
ts timestamp
sec section

Entity Types: T=task, P=pattern, E=error, S=solution, J=project, C=code, R=person

Relationships: RB=resolved_by, DP=depends_on, CB=caused_by, IB=improved_by, FB=followed_by, TF=transferred_from, EF=extracted_from, UI=used_in

Configuration

All optional, via environment variables:

Variable Default Description
SELF_LEARNING_MCP_DB ~/.gemini/antigravity/self-learning-mcp/memory.db Database path
SELF_LEARNING_MCP_PROACTIVE_MIN 30 Minutes between proactive analysis
SELF_LEARNING_MCP_STALENESS_DAYS 30 Days before pattern flagged stale
SELF_LEARNING_MCP_CODEC compact Wire format: compact or verbose
SELF_LEARNING_MCP_LOG info Log level

Architecture

src/
├── server.ts              # MCP entry point + proactive engine startup
├── config.ts              # Env-var configuration
├── cli.ts                 # Init command for Antigravity setup
├── codec/                 # Token-efficient wire format
│   ├── types.ts           # Type codes, field maps
│   ├── encoder.ts         # Internal → compact
│   ├── decoder.ts         # Compact/verbose → internal
│   └── index.ts           # Public API
├── db/
│   ├── schema.sql         # SQLite schema (13 tables + 5 FTS5)
│   └── database.ts        # Database class (SQL embedded)
├── tools/
│   ├── record.ts          # 6 recording tools
│   ├── recall.ts          # 6 recall tools
│   ├── cooperative.ts     # 3 synthesis tools
│   └── proactive.ts       # 3 proactive tools
├── wiki/
│   └── generator.ts       # Wiki context gathering
└── proactive/
    ├── engine.ts           # Hybrid scheduler orchestrator
    ├── staleness-detector.ts
    ├── drift-detector.ts
    ├── risk-forecaster.ts
    ├── opportunity-surfacer.ts
    ├── briefing-assembler.ts
    └── index.ts

Generic MCP Usage

Works with any MCP client, not just Antigravity. Add to your MCP config:

{
  "mcpServers": {
    "self-learning-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/Self-Learning-MCP/dist/src/server.js"]
    }
  }
}

The difference: without instructions.md, the client agent needs to know when to call the memory tools on its own.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured