memoket

Memoket — access your recording transcripts, summaries, and key takeaways over MCP.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
86%
Naming quality
100%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'list_conversations' description contains placeholder textin list_conversations
  • INFOTool description contains placeholder or incomplete textin list_conversations

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,764Tokens (tool definitions)
~2.1 KBTypical response size
Moderate attention impact (1.38% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "memoket": {
      "url": "https://mcp.memoket.ai/mcp"
    }
  }
}

Remote endpoints

https://mcp.memoket.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_recordings(conversation_ids, end_time, query, search_types, start_time)

[search] Unified recording search. Runs bounded searches over transcript lines, topic segments, memory atoms, participant metadata, titles, briefs, summaries, and action items in one call. Returns typed hits plus conversation_ids, line_ids, segment_ids, memory_atom_ids, participant_ids, brief_ids, summary_ids, action_item_ids. Chat execution expands hits into readable evidence automatically; external callers can fetch returned ids where a matching fetcher is advertised.

Input Schema

{
  "type": "object",
  "properties": {
    "conversation_ids": {
      "description": "Optional: restrict to these opaque recording ids.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "end_time": {
      "description": "ISO 8601; filters by recording started_at.",
      "type": "string"
    },
    "query": {
      "description": "Required. One phrase for a single concept, or a JSON array string of 2-4 distinct facets.",
      "type": "string"
    },
    "search_types": {
      "description": "Optional lane filter. Omit to search all. Allowed: transcript, segment, memory_atom, participant, title, brief, summary, action_item.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "start_time": {
      "description": "ISO 8601; filters by recording started_at.",
      "type": "string"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "Tool-specific result payload; shape varies per tool (object for most; may be null/array/text for some). Intentionally type-unconstrained for strict-validating clients."
    },
    "took_ms": {
      "type": "integer"
    },
    "tool": {
      "type": "string"
    }
  },
  "required": [
    "tool",
    "result"
  ]
}
🟢get_conversations(conversation_ids)

[metadata_query] Conversation-level metadata for the given conversation_ids: id, title, started_at, ended_at, duration_seconds, participants, language_code. No transcript, brief, or summary body.

Input Schema

{
  "type": "object",
  "properties": {
    "conversation_ids": {
      "description": "required, non-empty; opaque recording ids",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "Tool-specific result payload; shape varies per tool (object for most; may be null/array/text for some). Intentionally type-unconstrained for strict-validating clients."
    },
    "took_ms": {
      "type": "integer"
    },
    "tool": {
      "type": "string"
    }
  },
  "required": [
    "tool",
    "result"
  ]
}
🟢get_transcripts_by_participant(conversation_ids, limit, participant_ids, query)

[content_fetch] Transcript lines associated with participant_ids in conversation_ids. Turns participant metadata into transcript evidence for exposed search results.

Input Schema

{
  "type": "object",
  "properties": {
    "conversation_ids": {
      "description": "recording ids scoped by participant hits",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "limit": {
      "type": "integer"
    },
    "participant_ids": {
      "description": "participant ids from search_recordings.participant_ids",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "query": {
      "type": "string"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "Tool-specific result payload; shape varies per tool (object for most; may be null/array/text for some). Intentionally type-unconstrained for strict-validating clients."
    },
    "took_ms": {
      "type": "integer"
    },
    "tool": {
      "type": "string"
    }
  },
  "required": [
    "tool",
    "result"
  ]
}
🟢get_brief(brief_ids, conversation_ids, offset)

[content_fetch] Per-conversation compact report body for the given conversation_ids using Brief -> Summary -> Standard, where Standard is the first completed non-empty type=0 report.

Input Schema

{
  "type": "object",
  "properties": {
    "brief_ids": {
      "description": "optional brief ids from search_recordings.brief_ids",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "conversation_ids": {
      "description": "recording ids from brief hits",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "offset": {
      "type": "integer"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "Tool-specific result payload; shape varies per tool (object for most; may be null/array/text for some). Intentionally type-unconstrained for strict-validating clients."
    },
    "took_ms": {
      "type": "integer"
    },
    "tool": {
      "type": "string"
    }
  },
  "required": [
    "tool",
    "result"
  ]
}
🟢get_summaries(conversation_ids, offset, summary_ids)

[content_fetch] Per-conversation summary body. With summary_ids, fetch exact summary reports from search_recordings. With conversation_ids only, fetch the latest summary report for each conversation. Paginated (offset).

Input Schema

{
  "type": "object",
  "properties": {
    "conversation_ids": {
      "description": "required, non-empty; ids are opaque strings (may be 19-digit snowflake)",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "offset": {
      "type": "integer"
    },
    "summary_ids": {
      "description": "optional summary ids from search_recordings.summary_ids",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "Tool-specific result payload; shape varies per tool (object for most; may be null/array/text for some). Intentionally type-unconstrained for strict-validating clients."
    },
    "took_ms": {
      "type": "integer"
    },
    "tool": {
      "type": "string"
    }
  },
  "required": [
    "tool",
    "result"
  ]
}
🟢get_transcripts(conversation_id, offset, text_offset)

[content_fetch] Verbatim transcript of ONE recording; at most 100 lines / 4000 characters per page. Resume using both next_offset and next_text_offset from the returned item, including within a long line.

Input Schema

{
  "type": "object",
  "properties": {
    "conversation_id": {
      "description": "required; opaque id string (may be 19-digit snowflake)",
      "type": "string"
    },
    "offset": {
      "type": "integer"
    },
    "text_offset": {
      "description": "Character offset inside the first line; use returned next_text_offset, default 0.",
      "type": "integer"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "Tool-specific result payload; shape varies per tool (object for most; may be null/array/text for some). Intentionally type-unconstrained for strict-validating clients."
    },
    "took_ms": {
      "type": "integer"
    },
    "tool": {
      "type": "string"
    }
  },
  "required": [
    "tool",
    "result"
  ]
}
🟢list_conversations(count, desc, end_time, offset, order_by, ...)

[metadata_query] List recordings by time window / participants. Returns id, title, started_at, ended_at, duration_seconds, participants, language_code (no content). Paginated (count default 100, max 200; offset). order_by ranks within the window. NOTE: `participants` are speaker labels — placeholders ('Speaker A/B') unless the user tagged them, not necessarily real names.

Input Schema

{
  "type": "object",
  "properties": {
    "count": {
      "description": "page size (default 100, max 200)",
      "type": "integer"
    },
    "desc": {
      "description": "true = descending (default); false = ascending.",
      "type": "boolean"
    },
    "end_time": {
      "description": "ISO 8601, filters on started_at",
      "type": "string"
    },
    "offset": {
      "description": "page offset; use the response's next_offset",
      "type": "integer"
    },
    "order_by": {
      "description": "duration_seconds | started_at | action_item_count — server sorts the whole window and returns the top `count`.",
      "type": "string"
    },
    "participant_names": {
      "description": "Exact case-insensitive filter on stored tagged participant names. Use when participant-field membership is requested; un-tagged or anonymized people do not match.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "start_time": {
      "description": "ISO 8601, filters on started_at",
      "type": "string"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "Tool-specific result payload; shape varies per tool (object for most; may be null/array/text for some). Intentionally type-unconstrained for strict-validating clients."
    },
    "took_ms": {
      "type": "integer"
    },
    "tool": {
      "type": "string"
    }
  },
  "required": [
    "tool",
    "result"
  ]
}

Recommended Prompts

search_research
Search for information about [topic] using memoket
Expected tools: search_recordings
find_specific
Find [specific item] using memoket
Expected tools: search_recordings
retrieve_data
Get details about [item] from memoket
Expected tools: get_transcripts
fetch_info
Fetch [information type] using memoket
Expected tools: get_transcripts
list_items
List all [items] available in memoket
Expected tools: list_conversations

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools