section

Synth Environment

Environment: Synth (AI Synthesis Module)

Location: /opt/mcp-servers/synth/mcp_synth_server.py Version: 1.0.0 Status: ✅ WORKING

Purpose

Universal AI enrichment layer for Nexus environments: - Generate structured summaries of any content - Create training dataset pairs for LARS fine-tuning - Batch processing for migrations and backfills

Architecture

  • Stateless processor: No Redis storage required
  • API: OpenRouter with DeepSeek model (deepseek/deepseek-chat)
  • Credentials: Locker de76f4a8 (OpenRouter API key)
  • Max Content: 40,000 characters (truncated if longer)
  • Timezone: America/Denver for timestamps

Tools (4 total)

Tool Parameters Description
summarize content (req), content_type (req), max_length Generate structured summary with key_points and topics
dataset content (req), content_type (req), format Generate training pairs (qa, instruct, or chat format)
enrich content (req), content_type (req) Full enrichment - summary + dataset in one API call
batch items (req), content_type (req) Bulk processing for migrations, processes array of items

Content Types Supported

Type Generates
transcript Key takeaways, actionable advice
kb Concepts, relationships, technical details
document Executive summary, findings, recommendations
contact Context, interaction history
context Decisions, progress, next steps
corpus Subject matter, extracted info, relevance

Dataset Formats

  • qa: Question-answer pairs (default)
  • instruct: Instruction-response pairs
  • chat: Conversational exchanges

Output Structures

summarize

{
  "summary": "structured text with bullet points",
  "key_points": ["point 1", "point 2", ...],
  "topics": ["topic 1", "topic 2", ...],
  "content_type": "kb",
  "tokens_used": 813,
  "timestamp": "2026-01-06T16:28:47.412550-07:00"
}

dataset

{
  "pairs": [{"prompt": "...", "response": "..."}, ...],
  "format": "qa",
  "count": 5,
  "content_type": "kb",
  "tokens_used": 575
}

enrich

{
  "summary": {"text": "...", "key_points": [...], "topics": [...]},
  "dataset": {"pairs": [...], "format": "qa", "count": 5},
  "content_type": "document",
  "tokens_used": 837
}

Integration Pattern

Content source → synth.enrich() → summary + training pairs
                       ↓
              Store summary in KB/Context
              Store pairs for LARS training

Use Cases

  1. Auto-save workflows: Call synth.enrich on new transcripts/documents
  2. KB enrichment: Generate summaries for KB nodes
  3. LARS training: Create dataset pairs from corpus content
  4. Migrations: Batch process existing content for enrichment

Security Assessment

✅ API key stored in Locker (not hardcoded) ✅ Stateless - no persistent data ✅ Content truncation prevents memory issues


Audited by Maverick (a_7yma) | Documented by Rocky (o_cq0c) | 2026-01-06

ID: 47431891
Path: Nexus 3.0 Complete Environment Reference > Synth Environment
Updated: 2026-01-06T16:34:07