Home / Servers

@sechel-mcp/mcp-server

by samucasdev

@sechel-mcp/mcp-server

MCP server factory for Sechel — registers all 24 persistent memory tools (mem_* + ping) on an @modelcontextprotocol/sdk server instance.

Install

npm i @sechel-mcp/mcp-server

Quick Start

import { createDb } from '@sechel-mcp/core';
import { createSechelServer } from '@sechel-mcp/mcp-server';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const db = await createDb({ url: 'file:./sechel.db' });
const transport = new StdioServerTransport();

const server = await createSechelServer({
  transport,
  db,
  tenantId: 'default',
});

// Server is connected and ready via stdio

With HTTP transport:

import { WebStandardStreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js';

const transport = new WebStandardStreamableHTTPServerTransport({
  enableJsonResponse: true,
});

const server = await createSechelServer({
  transport,
  db,
  tenantId: 'default',
});

// Handle HTTP requests via transport.handleRequest(request)

API Reference

createSechelServer(config: SechelServerConfig): Promise<McpServer>

Creates an McpServer, registers all 24 tools, connects to the given transport, and returns the server.

interface SechelServerConfig {
  transport: Transport;           // Stdio | StreamableHTTP | InMemory transport
  db: Kysely<CortexDB>;          // Connected Kysely database from @sechel-mcp/core
  tenantId: string;               // Tenant ID for data scoping
  auth?: {
    required: boolean;            // Whether auth is required for tool calls
    requiredScopes?: string[];    // Required OAuth scopes
  };
}

Tools

The server registers these tools (all prefixed with mem_):

ToolDescription
mem_saveSave a memory observation
mem_searchFTS5 full-text search across observations
mem_get_observationGet full content of a specific observation
mem_contextGet recent session context
mem_timelineGet chronological neighborhood of an observation
mem_updateUpdate an existing observation
mem_deleteSoft (or hard) delete an observation
mem_pinPin an observation
mem_unpinUnpin an observation
mem_suggest_topic_keySuggest a stable topic_key for upserts
mem_comparePersist a semantic verdict between two observations
mem_judgeRecord a verdict on a pending memory conflict
mem_session_startRegister a new coding session
mem_session_endMark a session as completed
mem_session_summarySave an end-of-session summary
mem_statsGet observation and session counts
mem_doctorRun operational diagnostics
mem_reviewReview observation lifecycle state
mem_capture_passiveExtract and save learnings from text
mem_save_promptSave a user prompt
mem_current_projectDetect the current project
mem_merge_projectsRename a project across all tables
pingHealth check (no auth required)

Auth

Auth is handled via the MCP SDK's built-in authInfo mechanism. The transport may provide validated auth info (OAuth, bearer token, or InMemoryTransport's authInfo option). When auth.required is true, tools return an Unauthorized error if no valid auth info is present. ping always skips auth.

License

MIT — see LICENSE at the repo root.

Related servers

n8n

by n8n-io

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

NOASSERTION198,904

@modelcontextprotocol/server-everything

Official

by modelcontextprotocol

MCP server that exercises all the features of the MCP protocol

89,105

@modelcontextprotocol/server-filesystem

Official

by modelcontextprotocol

MCP server for filesystem access

SEE LICENSE IN LICENSE89,105

mcp-server-fetch

Official

by modelcontextprotocol

A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

89,105