1. Conduid
  2. AI
  3. Consciousness
MCP server · AI

Consciousness

A powerful, pluggable vector memory and Model Context Protocol (MCP) server for local semantic search and long-term memory.

Unclaimed MIT last commit 6 months ago generative-aiartificial-intelligenceaiagentic-aimemory
62Good

Scored 19 hours ago · breakdown

About Consciousness

Consciousness is an MCP server published by one710 in the AI category: a powerful, pluggable vector memory and Model Context Protocol (MCP) server for local semantic search and long-term memory.

The repository has 3 stars and 0 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/one710/consciousness

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (4)

add_to_scoped_memoryStore content scoped to a session

Parameters not published.

clear_scoped_memoryClear all memories for a session

Parameters not published.

forget_scoped_memoryRemove a specific memory by ID within a session

Parameters not published.

search_scoped_memorySemantic search within a session (`cosine`, `euclidean`, `dts`)

Parameters not published.

Ask AI

✦

Ask AI about Consciousness

Powered by Claude · Grounded in docs

I know everything about Consciousness. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 19 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.1.0v1.1.0
v1.0.3v1.0.3
v1.0.2v1.0.2
v1.0.1v1.0.1
v1.0.0v1.0.0

README

@one710/consciousness

npm version npm downloads Build Status

A powerful, pluggable vector memory and Model Context Protocol (MCP) server for local semantic search and long-term memory.

Features

  • MCP Integration: Fully compatible with the Model Context Protocol.
  • Session-Scoped & Universal Memory: Scoped tools isolate memory per sessionId; universal tools provide shared, session-independent storage.
  • Pluggable Architecture: Easily swap embedding providers and vector stores.
  • Multiple Storage Backends: Memory, Filesystem, ChromaDB, and Supabase (pgvector) via optional entry points.
  • Optional embedding entry points: Hugging Face and AI SDK providers load only when imported from @one710/consciousness/huggingface or @one710/consciousness/aisdk.
  • Semantic Search: Use state-of-the-art embeddings for intelligent memory retrieval.
  • DTS Indexing: Optimized search using Distance to Samples (DTS) logic.

Quick Start (using npx)

You can run the consciousness MCP server directly without installation using npx:

npx @one710/consciousness

By default, this will start an MCP server named "consciousness" using a FilesystemVectorStore (persisted to ./memory_store.json) and HFEmbeddingProvider.

Installation

npm install @one710/consciousness

Usage in Code

Creating an MCP Server

import { createServer, MemoryVectorStore } from "@one710/consciousness";
import { HFEmbeddingProvider } from "@one710/consciousness/huggingface";

const provider = new HFEmbeddingProvider();
const store = new MemoryVectorStore(provider);
const server = createServer("my-server", "1.0.0", store);

// Connect to transport (e.g., Stdio)
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const transport = new StdioServerTransport();
await server.connect(transport);

Embedding Providers

Hugging Face (Local)

Uses @huggingface/transformers to generate embeddings locally on your CPU/GPU. Import the optional entry so the main package graph does not load Transformers until you use this provider:

import { HFEmbeddingProvider } from "@one710/consciousness/huggingface";

const provider = new HFEmbeddingProvider();

AI SDK (Cloud/Remote)

Uses the Vercel AI SDK to connect to any supported provider (e.g., OpenAI, Anthropic, Google). Install ai and the provider package you use, then import:

import { AISDKEmbeddingProvider } from "@one710/consciousness/aisdk";
import { openai } from "@ai-sdk/openai";

const provider = new AISDKEmbeddingProvider(
  openai.embedding("text-embedding-3-small"),
  1536, // Dimensions
);

Vector Stores

Memory Store (In-memory)

import { MemoryVectorStore } from "@one710/consciousness";

const store = new MemoryVectorStore(provider);

Filesystem Store (Local Persistence)

import { FilesystemVectorStore } from "@one710/consciousness";

const store = new FilesystemVectorStore(provider, "./memory-data.json");

Chroma Store (Distributed/Managed)

Install chromadb alongside this package, then import the optional entry (the main package does not depend on Chroma):

import { ChromaVectorStore } from "@one710/consciousness/chroma";
import { ChromaClient } from "chromadb";

const client = new ChromaClient();
const store = new ChromaVectorStore(provider, client, "my-collection");

Supabase Store (pgvector)

Install @supabase/supabase-js, apply the SQL under supabase/migrations/ in your project. In that migration, set embedding_dim in the DO block to your provider’s width (e.g. 1536 for OpenAI text-embedding-3-small, 384 for the default MiniLM model) before the first run. Then:

import { createClient } from "@supabase/supabase-js";
import { SupabaseVectorStore } from "@one710/consciousness/supabase";

const client = createClient(url, key);
const store = new SupabaseVectorStore(provider, client);

Working with Sessions

All store operations require a sessionId to isolate memories:

const sessionId = "user-123";

// Store a memory
await store.add(sessionId, "The capital of France is Paris");

// Search within the session
const results = await store.search(sessionId, "France", {
  method: "cosine",
  limit: 5,
});

// Forget a specific memory
await store.forget(sessionId, results[0].item.id);

// Clear all memories for the session
await store.clear(sessionId);

MCP Tools

The MCP server exposes two sets of tools:

Scoped Tools (require sessionId)

Tool Description
add_to_scoped_memory Store content scoped to a session
search_scoped_memory Semantic search within a session (cosine, euclidean, dts)
forget_scoped_memory Remove a specific memory by ID within a session
clear_scoped_memory Clear all memories for a session

Universal Tools (no sessionId needed)

Tool Description
add_to_universal_memory Store content in shared, session-independent memory
search_universal_memory Semantic search across universal memory (cosine, euclidean, dts)
forget_universal_memory Remove a specific memory by ID from universal memory
clear_universal_memory Clear all universal memories

Local Supabase (Docker) and tests

The repo includes a Supabase CLI project under supabase/. With Docker running:

yarn supabase:start

That pulls images, applies supabase/migrations/, and exposes the API at http://127.0.0.1:54321 (see yarn supabase:status). Stop with yarn supabase:stop.

Integration tests in test/supabase-vector-store.test.ts probe that URL with the default local service role JWT. If the stack is down, they skip with a short console warning so yarn test still finishes. To force-skip them (e.g. in CI without Docker):

SKIP_SUPABASE_TESTS=1 yarn test

To run only the Supabase tests:

yarn supabase:start   # once per machine session
yarn test:supabase

Override URL/key when needed: SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY (or API_URL / SERVICE_ROLE_KEY from supabase status --output env).

Chroma + Supabase via Docker Compose (integration tests)

docker-compose.test.yml runs Chroma (port 8000), Postgres + pgvector (host 54332), PostgREST, and a tiny nginx gateway so @supabase/supabase-js keeps using the /rest/v1/ paths it expects. Defaults avoid colliding with Supabase CLI on 54321 / 54322; the API for tests is http://127.0.0.1:54331.

yarn docker:test:up    # wait until containers are healthy
yarn docker:test       # sets SUPABASE_URL=http://127.0.0.1:54331 and runs the full suite
yarn docker:test:down  # stop and remove volumes

yarn test expects Chroma on localhost:8000 (e.g. yarn docker:test:up before a full run). test/chroma.test.ts uses ChromaClient defaults to match the compose mapping. SKIP_SUPABASE_TESTS still applies when no Supabase-compatible API is reachable on SUPABASE_URL (default http://127.0.0.1:54321).

License

This project is licensed under the MIT License.

README fetched from the repository 19 hours ago. The original is authoritative.

Questions

About Consciousness

How do I install Consciousness?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Consciousness safe to use with an AI agent?

Its trust score is 62 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Consciousness still maintained?

The last commit was 6 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.