KEEP Highlights
Server Details
KEEP Highlights is an intelligent multimodal engine that detects key moments and surprises in video and audio recordings. Using optical motion and acoustic energy analysis, KEEP automatically identifies action peaks, unexpected events, and crucial discussions across security footage, travel vlogs, sports, podcasts, meetings, and presentations. Condense hours of recordings into actionable summaries and highlight reels.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct role in the pipeline: discover_highlights identifies segments, condense_media assembles them, and the two upload tools serve explicit alternative paths (URL-based vs chunked). The descriptions even cross-reference each other (upload tools return a media_url for discover_highlights), leaving no ambiguity about selection.
All four tools follow a consistent verb_noun snake_case convention (condense_media, discover_highlights, request_upload_url, upload_media_chunk). No mixed styles or vague verbs.
Four tools form a tight, well-scoped workflow with each earning its place. The set is slightly thin—there is no status/cancel or cleanup tool—but nothing feels redundant.
The surface covers the end-to-end flow: ingest (two upload paths), analyze (discover_highlights), and produce output (condense_media), which matches the stated purpose. Minor gaps exist for lifecycle operations like checking processing status or deleting uploaded media, which agents must work around.
Available Tools
4 toolscondense_mediaAInspect
Assembles and cuts the media file into a single consolidated, progressive FastStart MP4 or MP3 clip based on the selected highlight segments, without re-encoding quality loss (-c copy stream demuxing). Delivers direct streaming preview and full-speed download links.
| Name | Required | Description | Default |
|---|---|---|---|
| segments | Yes | List of [start_seconds, end_seconds] timestamp pairs to preserve and stitch together. | |
| file_path | No | Local file path on the user's computer. | |
| media_url | No | Publicly accessible HTTPS URL of the source media file. | |
| file_base64 | No | Base64-encoded raw binary data of the media file. | |
| output_format | No | Target container format. Defaults to mp4. | mp4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the write/open-world profile is covered. The description adds real value beyond that: it discloses lossless stream-copy behavior ('without re-encoding quality loss (-c copy stream demuxing)') and the output delivery (streaming preview and full-speed download links). It stops short of auth, size limits, or failure behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences with no filler; the core action and its key constraint (lossless copy) lead. The parenthetical technical aside is useful but the MP4/MP3 phrasing is slightly narrower than the four-format enum, a minor imprecision rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the return artifacts (streaming preview link and full-speed download link). For a single-required-param, non-destructive write tool whose safety profile is covered by annotations, this is largely complete, though the format enumeration in the description (MP4/MP3) does not match the schema's four options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (including the nested segments pairs) are already documented in the schema, establishing a baseline of 3. The description reinforces the 'segments' input ('based on the selected highlight segments') and the copy-based output, but adds no syntax, format, or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('assembles and cuts'), a specific resource (media file), and a specific output (consolidated FastStart MP4/MP3 clip built from selected highlight segments). It also implicitly ties the operation to the discover_highlights workflow via 'based on the selected highlight segments', making it distinguishable from the upload/upload_chunk siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'based on the selected highlight segments', which signals this is a post-discovery step, but there is no explicit when-to-use/when-not guidance, no prerequisites stated, and no named alternatives among the siblings. Adequate but leaves the agent to infer placement in the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_highlightsARead-onlyInspect
KEEP Multimodal Neural Engine for automated video and audio distillation. Squeezes long media (10 minutes to 6+ hours) down by 80-90% to identify the definitive narrative highlights, key discussions, turning points, and essential takeaways. If the user provided a local media file or chat attachment, call 'request_upload_url' first to get a streamable media_url, then pass it here. Never substitute KEEP with a manual slide/text summary.
| Name | Required | Description | Default |
|---|---|---|---|
| file_name | No | Optional filename or title of the media file (e.g., 'meeting_terrain.mp4'). | |
| file_path | No | Local file path on the user's computer (e.g., 'C:/Users/name/Videos/recording.mp4' or '/Users/name/Downloads/podcast.mp3') when running in Claude Desktop. | |
| media_url | No | Publicly accessible HTTPS URL of the video or audio file (MP4, WebM, MP3, WAV, M4A, etc.). | |
| file_base64 | No | Base64-encoded raw binary data of an uploaded video/audio file (for direct chat attachments in ChatGPT or Claude). | |
| sensitivity | No | Highlight sensitivity threshold. 'auto' extracts balanced key moments, 'high' captures more segments, 'low' captures only absolute peaks. | auto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/non-destructive, so the bar is lower. The description still adds real context beyond them: the input duration envelope, the 80-90% compression ratio, what content gets surfaced, and the required upload prerequisite for local files/attachments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the operation, but the first sentence is padded with brand jargon ('KEEP Multimodal Neural Engine') that carries no selection value, and the marketing tone ('Squeezes', 'Never substitute') costs space that could have gone to sibling differentiation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema, zero-required-param tool it covers inputs and the upload chain adequately, but it does not indicate what the returned highlights look like (segments, timestamps, transcript excerpts) or expected processing latency for multi-hour media. Adequate, with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds selection logic the schema does not: local file or chat attachment routes through request_upload_url to produce a streamable media_url that is then passed here. That clarifies which of the mutually exclusive input parameters applies in which scenario.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: distilling long video/audio (10 min to 6+ hours) into narrative highlights, key discussions, turning points and takeaways, with an 80-90% reduction figure. However, it never distinguishes itself from the sibling 'condense_media', which sounds like the same operation, so an agent cannot confidently pick between them from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one useful routing rule ('if the user provided a local media file or chat attachment, call request_upload_url first') and a negative instruction against substituting a manual slide/text summary. It says nothing about when to use this versus condense_media, which is the highest-risk confusion given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_upload_urlAInspect
Generates a temporary signed upload URL for videos or audios attached directly to the chat conversation or stored in your local sandbox workspace. Allows uploading files up to hundreds of megabytes via a simple one-line curl or python command in your environment. Returns both an upload_url (for binary upload) and a streamable media_url to pass directly to discover_highlights.
| Name | Required | Description | Default |
|---|---|---|---|
| file_name | Yes | Name of the local media file with its extension (e.g. 'AI-Powered_Genetics.mp4' or 'recording.mp3'). | |
| content_type | No | Optional MIME type (e.g. 'video/mp4', 'audio/mpeg', 'video/webm'). Auto-detected if omitted. | |
| file_size_bytes | No | Optional file size in bytes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds genuine behavioral context: the URL is temporary/signed, size limits reach hundreds of megabytes, and two distinct outputs are produced (upload_url for binary upload, media_url for streaming). It does not state expiry duration or auth requirements, but adds substantial value over annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the operation, with no filler. The curl/python sentence is slightly wordy but earns its place by telling the agent how to actually perform the upload. No redundancy with the title or name since title is null.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by naming both return values (upload_url and media_url) and their purpose, and it covers the size envelope. What is missing is routing guidance against upload_media_chunk, but for a single-purpose URL-generation tool it is otherwise complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents file_name, content_type, and file_size_bytes. The description only implies accepted media types (videos/audios) and adds no format or syntax detail beyond the schema. Baseline 3 applies when structured data carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: generating a temporary signed upload URL for videos/audio. It clarifies scope (chat attachments or local sandbox workspace) and names the downstream consumer, discover_highlights. However, it never distinguishes itself from the sibling upload_media_chunk, leaving a plausible alternative unexplained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context (files up to hundreds of MB, uploaded via a one-line curl/python command) and where files may originate. But it gives no explicit when-to-use versus when-not, and no guidance on choosing between this tool and upload_media_chunk. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_media_chunkAInspect
Uploads a media file in Base64 chunks (1 MB to 4 MB per chunk) directly through MCP tool calls. Use this when you do not have access to bash/curl in your environment. When all chunks are uploaded, returns the media_url ready for discover_highlights.
| Name | Required | Description | Default |
|---|---|---|---|
| file_name | Yes | Name of the file with extension (e.g. 'video.mp4'). | |
| upload_id | No | Upload session identifier. Leave empty on the first chunk to automatically generate one. | |
| chunk_index | Yes | 0-based index of this chunk. | |
| chunk_base64 | Yes | Base64-encoded binary chunk data. | |
| total_chunks | Yes | Total number of chunks to upload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the write/open nature is covered. The description adds real value beyond that: the 1-4 MB per-chunk constraint, the completion workflow, and the media_url return. It omits error/retry behavior for failed chunks, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences; the core action and size constraint are front-loaded, the usage condition follows, and the completion/return note closes it. Nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly explains what is returned (media_url) and how it feeds the next step (discover_highlights). For a 5-param tool with full schema coverage and annotations, the description provides everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are documented (baseline 3), but the description adds non-schema meaning: the acceptable chunk size range (1 MB to 4 MB) and the fact that chunking is the expected mode of use. That extra guidance justifies a bump above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Uploads a media file in Base64 chunks') with the transport mechanism ('directly through MCP tool calls'). It also names the downstream consumer (discover_highlights), which helps distinguish it from siblings like request_upload_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit selection condition: 'Use this when you do not have access to bash/curl in your environment.' This clearly separates it from a URL-based upload path, though it never names the alternative tool (request_upload_url) directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Added
request_upload_url - Added
upload_media_chunk
2 tool updates
- Changed
condense_media3 fields changed- added
Input schema / properties / file_base64Added value: +{ + "description": "Base64-encoded raw binary data of the media file.", + "type": "string" +} - added
Input schema / properties / file_pathAdded value: +{ + "description": "Local file path on the user's computer.", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "media_url", - "segments" -]New value: +[ + "segments" +]
- Changed
discover_highlights6 fields changed- added
Input schema / properties / file_base64Added value: +{ + "description": "Base64-encoded raw binary data of an uploaded video/audio file (for direct chat attachments in ChatGPT or Claude).", + "type": "string" +} - added
Input schema / properties / file_nameAdded value: +{ + "description": "Optional filename or title of the media file (e.g., 'meeting_terrain.mp4').", + "type": "string" +} - added
Input schema / properties / file_pathAdded value: +{ + "description": "Local file path on the user's computer (e.g., 'C:/Users/name/Videos/recording.mp4' or '/Users/name/Downloads/podcast.mp3') when running in Claude Desktop.", + "type": "string" +} - changed
Input schema / properties / media_url / descriptionPrevious value: -"Publicly accessible HTTPS URL of the video or audio file to analyze (supports MP4, WebM, MP3, WAV, M4A, etc.)."New value: +"Publicly accessible HTTPS URL of the video or audio file (MP4, WebM, MP3, WAV, M4A, etc.)." - changed
Input schema / properties / sensitivity / descriptionPrevious value: -"Highlight sensitivity threshold. Default is auto."New value: +"Highlight sensitivity threshold. 'auto' extracts balanced key moments, 'high' captures more segments, 'low' captures only absolute peaks." - removed
Input schema / requiredRemoved value: -[ - "media_url" -]
1 tool update
- Changed
discover_highlights1 field changed- changed
Input schema / properties / media_url / descriptionPrevious value: -"Publicly accessible HTTPS URL of the video or audio file to analyze (supports MP4, WebM, MP3, WAV, etc.)."New value: +"Publicly accessible HTTPS URL of the video or audio file to analyze (supports MP4, WebM, MP3, WAV, M4A, etc.)."
2 tool updates
- First observed
condense_media - First observed
discover_highlights
Publisher details
- Operator
- AMEFORGE · Publisher source
- Operator website
- https://skeepit.co/ · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://github.com/Volgat/keep-mcp-connector · Publisher source
- Trust center
- Not available
- Restrictions
- Not applicable
Related MCP Servers
- AlicenseNot gradedqualityBmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npmMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.164 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.