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
🟢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"
  ]
}
🟢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"
  ]
}

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
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools