MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

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

创建于 2/20/2026
更新于 5 days ago
Repository documentation and setup instructions

@one710/consciousness

npm version npm downloads Build Status License: MIT

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: Supports Memory, Filesystem, and ChromaDB stores out of the box.
  • 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 } from "@one710/consciousness";
import { MemoryVectorStore } from "@one710/consciousness/vector/memory";
import { HFEmbeddingProvider } from "@one710/consciousness/embeddings/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 { HFEmbeddingProvider } from "@one710/consciousness/embeddings/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).

import { AISDKEmbeddingProvider } from "@one710/consciousness/embeddings/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/vector/memory";
const store = new MemoryVectorStore(provider);

Filesystem Store (Local Persistence)

import { FilesystemVectorStore } from "@one710/consciousness/vector/filesystem";
const store = new FilesystemVectorStore(provider, "./memory-data.json");

Chroma Store (Distributed/Managed)

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

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

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 |

License

This project is licensed under the MIT License.

快速设置
此服务器的安装指南

安装包 (如果需要)

npx @modelcontextprotocol/server-consciousness

Cursor 配置 (mcp.json)

{ "mcpServers": { "one710-consciousness": { "command": "npx", "args": [ "one710-consciousness" ] } } }