Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_documents | Hybrid (semantic + keyword) search across indexed workspace documents (PRDs, decision logs, session logs, etc.). Call this tool first when the user asks about project-related content. Filter by project ID or doc_type (prd, session_log, decision_log, document). |
| view_file_full | Return full contents of a file as a structured view. CSV → markdown table, XLSX → tables per sheet, MD → raw text, DOCX → paragraphs. Use when the user wants to see the complete file, not just search results. |
| list_sources | List all indexed source files. |
| read_file | Read file contents by absolute path. |
| organize_files | Organize files in the workspace. action: 'move', 'archive', 'rename', 'list'. Always call suggest_cleanup first and get user confirmation before organizing. |
| suggest_cleanup | Generate cleanup suggestions for the workspace. Detects root-level files, backup files, large files, empty directories. Call this tool first when cleanup is requested. |
| project_status | Get project status including HANDOFF.md, recent changes, and file statistics. Call automatically when asked about project status. |
| extract_decisions | Extract decisions from session logs and decision logs. Call automatically when asked about past decisions. |
| audit_prd | Audit a PRD file for quality and completeness against a 13-section structure. Checks section coverage, Mermaid syntax, wireframes, versioning, and changelog. check_sprawl=True: Detect multiple versions of the same PRD (suggest archiving old ones) check_consistency=True: Check cross-PRD consistency for period selectors and tiers |
| remember | Save a piece of knowledge for cross-session persistence. Use this when the user says 'remember this' or when important decisions, preferences, or facts should be preserved across conversations. |
| recall | Search past memories from previous sessions. Call this when the user asks 'what did I say about...', 'do you remember...', or references past conversations. Supports time filters (since/until as ISO date, e.g. '2026-03-01') and category filter (decision/preference/fact). |
| learn | Auto-learn: save new knowledge and immediately index it for search. Use this to capture insights, patterns, or facts discovered during conversation. |
| knowledge_graph | Build a knowledge graph from indexed documents showing relationships between concepts, decisions, and entities. Returns a Mermaid diagram of the document relationships. scope: 'project' (single project) or 'all' (entire workspace) max_nodes: limit the number of nodes in the graph (default 30) |
| explore_connections | Show connections for a specific document or concept in the knowledge graph. Returns related documents, shared topics, and a focused Mermaid subgraph. |
| unified_search | Search across BOTH indexed documents AND past memories in one call. Returns combined results ranked by similarity. Use this instead of calling search_documents + recall separately. |
| ingest_documents | Index (or re-index) all workspace documents into the vector store. Run this when setting up Tessera for the first time, or when you want to rebuild the entire index from scratch. Optionally pass specific directory paths to index only those. |
| sync_documents | Incrementally sync the index with your workspace. Only processes new, changed, or deleted files since the last sync. Much faster than full ingestion. Run this when you've updated some documents. |
| tessera_status | Show Tessera server health: tracked files, sync history, index size, cache stats, and watcher status. Call this when asked about server status or troubleshooting. |
| list_memories | List saved memories with optional filtering. Use to browse what Tessera has remembered across sessions. |
| forget_memory | Delete a specific memory by filename (without .md extension). Use list_memories first to find the memory to delete. |
| check_document_freshness | Check for stale/outdated documents that haven't been modified recently. Returns a list grouped by project showing file names and days since last update. Use this proactively to suggest document reviews. |
| health_check | Run a comprehensive health check on the Tessera workspace. Checks: config validity, dependencies, index status, stale documents, zero-result query patterns. Returns actionable recommendations. |
| search_analytics | Show search usage analytics: total queries, top queries, zero-result queries, response times, and daily trends. Use for understanding search patterns. |
| export_memories | Export all saved memories as JSON for backup or transfer. Returns a JSON string with all memories and their metadata. |
| import_memories | Import memories from a JSON string (batch import). Format: [{"content": "...", "tags": ["..."], "source": "..."}]. Use export_memories to get the expected format. |
| find_similar | Find documents similar to a given document. Returns related documents ranked by similarity. Use this when users ask 'what else is related to this document'. |
| memory_tags | List all unique tags across saved memories with their counts. Useful for browsing memory categories. |
| search_by_tag | Search memories by a specific tag. Use memory_tags first to see available tags. |
| memory_categories | List all memory categories with counts. Categories are auto-detected: decision, preference, fact, reference, context. |
| search_by_category | Search memories by category (e.g. 'decision', 'preference', 'fact'). Use memory_categories first to see available categories. |
| decision_timeline | Show decision timeline — how decisions evolved over time, grouped by topic. Detects when you changed your mind about something. |
| context_window | Build an optimal context window for a query within a token budget. Retrieves relevant memories and documents, assembles them in priority order, and truncates to fit. Use this to prepare context for another AI tool. |
| smart_suggest | Get personalized query suggestions based on your past searches and memories. Analyzes patterns to recommend what you might want to explore next. |
| topic_map | Generate a topic map showing how your knowledge is organized. Clusters memories by shared keywords and shows topic distribution. Use format='mermaid' for a visual Mermaid mindmap diagram. |
| knowledge_stats | Get knowledge statistics — total memories, category breakdown, tag distribution, growth by month, and date range. A dashboard overview of everything Tessera knows. |
| user_profile | View your user profile — preferences, decisions, top topics, language preference, tool usage patterns, and knowledge areas. |
| session_prime | Get a session-start context briefing with recent decisions, preferences, active topics, and last session summary. Call this at the beginning of a conversation to prime your context with the user's recent knowledge. |
| memory_lineage | Trace the provenance lineage of a memory — where it came from, which session created it, and what parent memories it was derived from. |
| provenance_stats | Get aggregate provenance statistics — how many memories have provenance, breakdown by source type and session. |
| list_projects | List all project spaces with memory counts, latest activity, and top tags. Shows how knowledge is distributed across projects. |
| assign_memory_project | Assign a memory to a project space. Use this to organize memories by project context (e.g., 'tessera', 'frontend-app', 'api-design'). |
| export_knowledge | Export all your knowledge in various formats. Supported formats: 'markdown' (default), 'obsidian' (with wikilinks and frontmatter), 'csv' (spreadsheet-compatible), 'json' (machine-readable). Use 'obsidian' to import into Obsidian vaults. |
| export_for_ai | Export memories for use in another AI tool. Supported targets: 'chatgpt' (ChatGPT memory JSON), 'gemini' (Gemini context format), 'standard' (Tessera interchange format). Use this when migrating knowledge to another AI platform. |
| import_from_ai | Import memories from another AI tool. Paste the exported JSON data and specify the source: 'chatgpt', 'gemini', or 'standard'. Memories will be automatically categorized and stored in Tessera. |
| import_conversations | Import past conversations from ChatGPT, Claude, or Gemini exports. Paste the exported JSON data and specify the source: 'chatgpt', 'claude', 'gemini', or 'text'. Tessera extracts decisions, preferences, and facts from the conversations. Use this to recover knowledge from past AI interactions. |
| migrate_data | Migrate Tessera data to the latest schema version. Creates a backup before migration. Use dry_run=True to preview changes. Handles v0.6.x through v1.0.0 data format upgrades. |
| vault_status | Check vault encryption status. When TESSERA_VAULT_KEY is set, memories are encrypted at rest using AES-256-CBC. All encryption is local — no cloud, no external services. |
| toggle_auto_learn | Toggle or check auto-learning status. When enabled, Tessera automatically extracts decisions, preferences, and facts from conversations. Call without arguments to check status. |
| review_learned | Review recently auto-learned memories. Shows memories created by auto-extract, digest, or session summary. |
| digest_conversation | Digest the current conversation: extract decisions, preferences, and facts from this session's interactions and save them as memories automatically. Call this at the end of a conversation to preserve important knowledge. You can also pass a summary text to extract facts from. |
| session_interactions | View what happened in the current or past sessions. Shows tool calls, queries, and results — useful for reviewing what was discussed and decided. |
| recent_sessions | View summary of recent sessions — when they started, ended, and how many tool calls were made. Useful for understanding usage patterns over time. |
| detect_contradictions | Detect contradictions among your stored memories. Finds decisions, preferences, or facts that conflict with each other. Shows severity (HIGH/MEDIUM) and which memory is newer. Use periodically to keep your knowledge base consistent. |
| deep_search | Search documents using multiple query angles for better recall. Decomposes your query into 2-4 perspectives (core keywords, individual terms, reversed emphasis) and merges the best results. Each result includes a verdict: confident match, possible match, or low relevance. Use when standard search misses relevant results. |
| deep_recall | Search memories using multiple query angles for better recall. Like deep_search but for memories. Decomposes the query into multiple perspectives and merges results. Each result includes a confidence verdict. Use when recall misses relevant memories. |
| memory_confidence | Analyze confidence scores for all memories. Rates each memory based on repetition (confirmed by other memories), source diversity, recency, and category stability. Returns high-confidence memories you can trust and low-confidence ones that may need review. |
| memory_health | Analyze memory health: classify all memories as healthy, stale (90+ days old), or orphaned (minimal metadata). Returns a health score, breakdown, recommendations for cleanup, and growth statistics over time. |
| list_plugin_hooks | List all registered plugin hooks. Shows which events have hooks attached and what scripts/functions will be called. Configure hooks in workspace.yaml under 'hooks:' section. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| document_index | Provide a browsable index of all indexed documents. |
| workspace_status | Provide current workspace status across all projects. |