Overview
The Trix MCP server exposes several tools that AI assistants can use to manage memories. These tools are automatically available to any MCP-compatible client once configured.
You don't need to call these tools directly. AI assistants automatically select the appropriate tool based on your natural language requests.
Tool Categories
- Memory Tools - Store, recall, list, and manage memories
- Audio Tools - Transcribe, search, and analyze audio/video content
- Topic Tools - Work with LLM-extracted topics
- Cluster Tools - Organize memories into semantic groups
- Enrichment Tools - Add LLM-generated metadata to memories
store_memory
Store a new memory in Trix. Use this tool to save important information for later recall.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | Yes | The content to store as a memory |
tags | string[] | No | Tags to categorize the memory |
metadata | object | No | Additional metadata to attach |
session_id | string | No | Link memory to a specific session for tracking conversation context |
Example
// Tool: store_memory
// Parameters:
{
"content": "The user prefers dark mode in all applications",
"tags": ["preference", "ui"],
"metadata": {
"source": "conversation",
"confidence": 0.95
}
}
// Returns:
{
"id": "mem_abc123",
"content": "The user prefers dark mode in all applications",
"created_at": "2024-01-15T10:30:00Z"
}Example Prompts
- "Remember that I prefer TypeScript over JavaScript"
- "Save this: my favorite color is blue"
- "Store this information for later: meeting with John at 3pm tomorrow"
search_memories
Search for relevant memories using semantic similarity. This tool finds memories that are conceptually related to your query, even if they don't contain the exact words.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | The search query |
limit | number | No (default: 10) | Maximum number of results |
threshold | number | No (default: 0.5) | Minimum similarity score (0-1) |
Example
// Tool: search_memories
// Parameters:
{
"query": "What are the user's UI preferences?",
"limit": 5,
"threshold": 0.7
}
// Returns:
{
"memories": [
{
"id": "mem_abc123",
"content": "The user prefers dark mode in all applications",
"similarity": 0.92,
"tags": ["preference", "ui"]
}
]
}There is no dedicated list tool. Use search_memories with a broad
query to browse stored memories, or use list_pinned_memories / list_protected_memories for filtered listing.
delete_memory
Delete a specific memory. Use this when information is no longer relevant or was stored incorrectly.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
memory_id | string | Yes | ID of the memory to delete |
Example
// Tool: delete_memory
// Parameters:
{
"id": "mem_abc123"
}
// Returns:
{
"success": true,
"deleted_id": "mem_abc123"
}Memory Management Tools
Tools for managing memory lifecycle, including pinning, protection, and soft deletion.
pin_memory
Pin a memory to prevent it from decaying over time. Pinned memories maintain their priority and are always included in relevant search results.
| Parameter | Type | Required | Description |
|---|---|---|---|
memory_id | string | Yes | The ID of the memory |
unpin_memory
Unpin a previously pinned memory, allowing it to decay naturally.
protect_memory
Set the protection level for a memory to prevent accidental deletion.
| Parameter | Type | Required | Description |
|---|---|---|---|
memory_id | string | Yes | The ID of the memory to protect |
level | "none" | "soft" | "hard" | Yes | Protection level: none removes protection, soft warns before deletion, hard prevents deletion |
soft_delete_memory
Soft delete a memory, allowing it to be restored later. Soft-deleted memories are hidden from normal queries but can be recovered.
restore_memory
Restore a soft-deleted memory, making it visible and searchable again.
Soft-deleted memories are automatically purged after 30 days.
Use restore_memory to recover them before the purge period ends.
Topic Tools
Tools for working with LLM-extracted topics from memories.
get_memory_topics
Get the topics extracted from a memory. Topics are automatically categorized and scored for relevance.
| Parameter | Type | Required | Description |
|---|---|---|---|
memory_id | string | Yes | The ID of the memory |
refresh | boolean | No (default: false) | Force re-extraction of topics |
min_relevance | number | No | Minimum relevance score (0.0-1.0) |
categories | string[] | No | Filter by categories: technology, business, science, people, places, events, concepts |
search_by_topic
Find memories that are related to a specific topic.
| Parameter | Type | Required | Description |
|---|---|---|---|
topic | string | Yes | The topic to search for |
limit | number | No (default: 10) | Maximum number of results |
Cluster Tools
Tools for working with automatically generated memory clusters.
list_clusters
List clusters at a specific scale. Clusters group related memories together.
| Parameter | Type | Required | Description |
|---|---|---|---|
scale | "fine" | "medium" | "coarse" | No (default: medium) | Cluster scale |
limit | number | No (default: 20) | Maximum number of clusters to return |
get_cluster_details
Get details about a specific cluster, optionally including its member memories.
| Parameter | Type | Required | Description |
|---|---|---|---|
cluster_id | string | Yes | The ID of the cluster |
include_memories | boolean | No (default: false) | Include member memories in the response |
Cluster scales determine granularity: fine creates small, specific clusters (3-10 memories), medium creates balanced clusters (10-50 memories), and coarse creates
large thematic clusters (50+ memories).
Clustering Tools
Tools for triggering cluster generation to organize memories.
trigger_clustering
Trigger cluster generation for memories. This organizes memories into semantic groups at different scales (fine, medium, coarse) for better discovery.
| Parameter | Type | Required | Description |
|---|---|---|---|
space_id | string | No | Limit clustering to a specific space |
memory_ids | string[] | No | Specific memory IDs to include in clustering |
Enrichment Tools
Tools for enriching memories with LLM-generated metadata.
enrich_memory
Enrich a memory with LLM-generated metadata including topics, summaries, entities, and quality scores.
| Parameter | Type | Required | Description |
|---|---|---|---|
memory_id | string | Yes | ID of the memory to enrich |
operations | string[] | No | Enrichment types: "topics", "summary", "entities", "quality", "facts" |
Audio Tools
Tools for working with audio and video content, including transcription, search, and segment extraction.
Audio tools work with uploaded audio and video files. Transcription is performed automatically or can be triggered manually. All transcripts are indexed for semantic search.
list_audio_files
List audio files with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No (default: 20) | Maximum number of results |
offset | number | No (default: 0) | Number of results to skip for pagination |
space_id | string | No | Filter by space ID |
transcription_status | "pending" | "processing" | "completed" | "failed" | No | Filter by transcription status |
get_audio_transcript
Get the full transcript for an audio file. Optionally include detailed segment information and speaker identification.
| Parameter | Type | Required | Description |
|---|---|---|---|
audio_file_id | string | Yes | The ID of the audio file |
include_segments | boolean | No (default: false) | Include timestamped segments |
include_speakers | boolean | No (default: false) | Include speaker diarization info |
search_audio_transcripts
Search within audio transcripts using semantic search. Returns matches with timestamps, speaker information, and clip URLs for precise navigation.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | The search query |
limit | number | No (default: 10) | Maximum number of results |
threshold | number | No (default: 0.5) | Minimum similarity score (0-1) |
space_id | string | No | Filter by space ID |
get_audio_segments
Get transcript segments with timestamps and speaker information.
| Parameter | Type | Required | Description |
|---|---|---|---|
audio_file_id | string | Yes | The ID of the audio file |
speaker | string | No | Filter by speaker ID (e.g., "speaker_1") |
start_time | number | No | Start time in seconds |
end_time | number | No | End time in seconds |
trigger_transcription
Start a transcription job for an audio or video file.
| Parameter | Type | Required | Description |
|---|---|---|---|
memory_id | string | Yes | The memory ID of the uploaded audio/video file |
language | string | No | Language code (e.g., "en", "es", "fr"). Auto-detected if not specified. |
enable_diarization | boolean | No (default: true) | Enable speaker diarization to identify different speakers |
enable_entity_detection | boolean | No (default: false) | Detect and tag entities like names, dates, locations |
Transcription jobs run asynchronously. Processing time depends on audio duration and selected options. Diarization and entity detection add additional processing time but provide richer metadata.
semantic_search (Enhanced)
The semantic_search tool has been enhanced to search across
both memories and audio transcripts.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | The search query |
limit | number | No (default: 10) | Maximum number of results |
threshold | number | No (default: 0.5) | Minimum similarity score (0-1) |
include_types | string[] | No (default: ["memories"]) | Content types to search: ["memories"], ["audio"], or ["memories", "audio"] |
space_id | string | No | Filter by space ID |
Updated Tool Parameters
Several existing tools have been enhanced with new parameters for pinning, protection, quality filtering, and cluster awareness.
store_memory (Updated)
The store_memory tool now accepts additional parameters for memory management:
| Parameter | Type | Description |
|---|---|---|
is_pinned | boolean | Pin the memory immediately upon creation |
protection_level | "none" | "soft" | "hard" | Set initial protection level |
search_memories (Updated)
The search_memories tool now supports additional filtering options:
| Parameter | Type | Description |
|---|---|---|
cluster_scale | "fine" | "medium" | "coarse" | Filter results by cluster scale |
min_quality | number | Minimum quality score (0.0-1.0) |
pinned | boolean | Filter to only pinned memories |
protected | boolean | Filter to only protected memories |
list_memories (Updated)
The list_memories tool now supports additional filtering options:
| Parameter | Type | Description |
|---|---|---|
pinned | boolean | Filter to only pinned memories |
protected | boolean | Filter to only protected memories |
min_quality | number | Minimum quality score (0.0-1.0) |
include_deleted | boolean | Include soft-deleted memories in results |