@git-fabric/aiana
Aiana is a semantic memory MCP server backed by Qdrant Cloud that stores, searches, and recalls project-scoped knowledge (including Claude's answers) so the gateway can answer locally instead of escalating.
Search memories (
aiana_memory_search) — semantic search with project filter, result limit, and minimum similarity score.Add memories (
aiana_memory_add) — store notes, preferences, patterns, or insights; content is auto-scrubbed for secrets (GitHub/OpenAI tokens, bearer tokens, JWTs, passwords).Recall project context (
aiana_memory_recall) — top-N relevant memories scoped to a project, seeded by the project name.Delete memories (
aiana_memory_delete) — permanently remove a memory by ID.Export / import (
aiana_memory_export,aiana_memory_import) — dump all (or project-filtered) memories as JSONL-compatible records and re-import them, overwriting duplicate IDs.List sessions (
aiana_session_list) — group memories sharing asessionIdinto sessions by project, sorted by recent activity.Store preferences (
aiana_preference_add) — save user preferences astype=preferencememories that are searchable and recallable.Rate recalled memories (
aiana_memory_feedback) — record helpful/neutral/not-helpful feedback with an optional reason to tune relevance.Inspect status (
aiana_status) — collection stats: total count, per-project breakdown, embedding model, collection name.Check health (
aiana_health) — ping Qdrant Cloud and report connection status and latency.
Fetches documentation from upstream GitHub repositories on demand, currently indexing the qdrant/qdrant repository for Qdrant collection, point, search, filter, snapshot, and indexing docs as a fallback reference library.
Uses OpenAI's text-embedding-3-small model to generate vector embeddings for semantic memory search and recall.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@git-fabric/aiana Search my memories for the database schema notes from our last session"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@git-fabric/aiana
Aiana memory fabric — semantic memory, session context, and cross-project recall as a composable MCP layer.
Part of the git-fabric ecosystem. Built on the fabric-sdk architecture.
Role
Aiana is both a fabric spoke and a core system component. As a spoke, it registers with the gateway like any other fabric and serves tools over MCP. As a core component, it powers the AIANA feedback loop — the mechanism that indexes Claude's answers back into local knowledge. Every time Claude answers a question, Aiana can store that answer as a memory. The next time a similar question arrives, the gateway routes to Aiana first (local preference 100) instead of escalating to Claude. Over time, the escalation rate trends toward zero.
Related MCP server: Sovereign Universal Memory MCP
Tools
Tool | Description |
| Semantic search over stored memories |
| Store a new memory (auto-scrubbed for secrets) |
| Recall top-N relevant memories for a project |
| Permanently delete a memory by ID |
| Export all memories as a JSONL-compatible array |
| Import memories from an exported array |
| List sessions grouped by project |
| Store a user preference (type=preference memory) |
| Record helpfulness feedback on a recalled memory |
| Collection stats: count, by-project breakdown, model |
| Ping Qdrant Cloud, return latency |
Architecture — OSI Layer Mapping
Layer 7 — Application app.ts (FabricApp factory, 11 tools)
Layer 6 — Presentation bin/cli.js (MCP stdio + HTTP, aiana_query handler)
Layer 5 — Session layers/sessions.ts (read-only, derived from memory sessionIds)
Layer 4 — Transport MCP protocol (stdio + StreamableHTTP)
Layer 3 — Network Gateway registration (AS65010, fabric.memory.*)
Layer 2 — Data Link adapters/env.ts (Qdrant REST + OpenAI embeddings)
Layer 1 — Physical Qdrant CloudZero footprint: no local state, no SQLite, no Redis. Qdrant Cloud is the only store.
Gateway Registration
Aiana registers dynamically with the gateway at startup — there is no static gateway.yaml. When GATEWAY_URL is set, bin/cli.js sends a POST to /register with the fabric's AS number, MCP endpoint, and advertised routes. The gateway accepts the routes into its F-RIB and begins routing queries to Aiana. A keepalive runs every 30 seconds to maintain the session.
Property | Value |
|
|
|
|
Advertised Routes
Prefix | Description |
| Semantic memory — recall, search, add, feedback, sessions |
| Project-scoped context retrieval |
| Semantic similarity search over stored memories |
| Memory storage with secret scrubbing |
| Rate recalled memories for relevance tuning |
| List sessions grouped by project |
All routes advertise local_pref: 100 — highest priority. The gateway prefers Aiana over Claude for any query matching these prefixes.
Qdrant Collection
Property | Value |
Collection |
|
Dimensions | 1536 |
Distance | Cosine |
Embedding model |
|
Library
Aiana includes a reference library (library.ts) that fetches documentation from upstream Git repositories on demand. Currently indexes the qdrant/qdrant repository for collection, point, search, filter, snapshot, and indexing documentation. Library queries are checked after memory queries — if Aiana has no stored memory for a topic, it falls back to reference docs before yielding to Claude.
Usage
Standalone MCP server (stdio)
QDRANT_URL=https://xxx.qdrant.io:6333 \
QDRANT_API_KEY=your-key \
OPENAI_API_KEY=sk-... \
npx @git-fabric/aianaHTTP mode (gateway-connected)
QDRANT_URL=https://xxx.qdrant.io:6333 \
QDRANT_API_KEY=your-key \
OPENAI_API_KEY=sk-... \
MCP_HTTP_PORT=8200 \
GATEWAY_URL=http://gateway.fabric-sdk:8080 \
npx @git-fabric/aianaProgrammatic
import { createApp } from "@git-fabric/aiana";
const app = createApp();
// app.tools, app.health(), etc.Environment Variables
Variable | Required | Description |
| Yes | Qdrant Cloud base URL (e.g. |
| Yes | Qdrant Cloud API key |
| Yes | OpenAI API key for |
| No | Port for HTTP/StreamableHTTP server. Omit for stdio mode. |
| No | Gateway base URL for dynamic registration (e.g. |
| No | IP address advertised to gateway. Defaults to |
| No | Ollama endpoint for local inference. Defaults to |
| No | Ollama model name. Defaults to |
Secret Scrubbing
All content is scrubbed before embedding and storage. Redacted patterns:
GitHub tokens (
ghp_,ghs_,github_pat_)OpenAI keys (
sk-...)Bearer tokens in headers
JWT tokens (3-part base64)
Password patterns
License
MIT
Available Tools
11 toolsaiana_healthA
Ping Qdrant Cloud and return connection status and latency.
Inputs: no named parameters.
aiana_memory_addA
Store a new memory. Content is automatically scrubbed for secrets before embedding and storage.
Inputs: content (required), memoryType, project.
aiana_memory_deleteC
Permanently delete a memory by its ID.
Inputs: id (required).
aiana_memory_exportA
Export all stored memories as an array of memory records (JSONL-compatible). Optionally filter by project.
Inputs: project.
aiana_memory_feedbackB
Record feedback on a recalled memory to improve future relevance. Rating: 1=helpful, 0=neutral, -1=not helpful.
Inputs: memoryId (required), query (required), rating (required), reason.
aiana_memory_importA
Import memories from a previously exported array of memory records. Duplicate IDs are overwritten.
Inputs: memories (required).
aiana_memory_recallA
Recall the most relevant memories for a project. Uses the project name as a semantic seed and returns the top-N most relevant memories scoped to that project.
Inputs: project (required), maxItems.
aiana_memory_searchC
Semantic search over stored memories. Returns memories ranked by relevance to the query.
Inputs: query (required), project, limit, minScore.
aiana_preference_addB
Store a user preference as a memory with type=preference. Preferences are searchable and recallable like any other memory.
Inputs: preference (required), project.
aiana_session_listB
List sessions grouped by project. Sessions are derived from memories that share a sessionId. Returns sessions sorted by most-recent activity.
Inputs: project, limit.
aiana_statusB
Return collection stats: total memory count, memories per project, embedding model, and collection name.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose with no overlap: health check, memory CRUD operations, feedback, import/export, recall, search, preference management, session listing, and status reporting. The descriptions make it unambiguous which tool to use for each task.
All tools follow a consistent 'aiana_' prefix with descriptive snake_case naming (e.g., aiana_memory_add, aiana_session_list). The pattern is uniform across all 11 tools, making them predictable and easy to understand.
With 11 tools, this server is well-scoped for its memory management domain. It covers essential operations like add, delete, recall, search, import/export, and status checks without being overwhelming or sparse.
The toolset provides complete coverage for memory lifecycle management: creation (add), retrieval (recall, search), update (feedback, preference_add), deletion, import/export, and monitoring (health, status). No obvious gaps exist for the stated purpose.
Maintenance
Related MCP Connectors
Memory system for AI agents with semantic search. Store and recall memories with ease.
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceUniversal AI memory layer that provides cross-client, cross-repo context management with semantic search, automatic code indexing, and session management. Enables persistent developer memory across projects with typed memories, graph-based relationships, and RAG-powered retrieval.6MIT
- AlicenseNot gradedqualityDmaintenanceProvides a persistent, vendor-neutral memory layer that allows AI tools and agents to share context and knowledge across different platforms while maintaining local data ownership. It enables users to store, recall, and manage structured memories through hybrid semantic search and automated context assembly.29 npmApache 2.0
- AlicenseAqualityBmaintenanceA portable, self-hosted semantic memory layer for LLM agents, enabling them to search and add memories by meaning over the Model Context Protocol.252MIT
- AlicenseNot gradedqualityDmaintenanceProvides durable memory for AI agents with structured storage, semantic search, OAuth authentication, and lifecycle controls.10Apache 2.0