Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Takes for Mac

MCPB · TAKES-MCP.MCPB

Tools for the Takes Mac app: scripts, takes, edits and posts for talking-head videos

Available components

40 Trust /100

Last scanned (19 hours ago)

Scores higher than 75% of MCPB servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 1 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability60
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 16297 tokens (~220/item across 74 items; 74 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
  • Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 75 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Oct 26 +1
    • Security disclosure: fail → pass ▲ functional
  • 15 Oct 26 +4
    • Tool safety: pass → unverified ▼ security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Schema quality: 192 → 220 ▼ functional
    • Schema quality: 192 → 218 ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Tool coverage: 74% → 100% ▲ functional
    • Stability: unverified → 0.07 ▲ functional
    • Destructive annotations: All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation. functional
    • Package version: 2026.10.9 → 2026.10.15 functional
    • Package version: 2026.10.9 → 2026.10.13 functional
  • 13 Oct 26 +26
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 74 functional
    • First check of Destructive annotations: 0 functional
    • First check of Schema quality: good functional
  • 12 Oct 26 9

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 17 Oct 2026 · Analysed mcpb/https://github.com/marvtub/takes-public/releases/download/v2026.10.15/takes-mcp.mcpb@2026.10.15

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 74 exposed · ~14,979 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
save_broll ~178

Save a video of a session into the user's b-roll library (_library/broll/<folder>/, an APFS clone), so every session can use it (list_broll, add_broll). Gemini describes it in the background and writes the description and keywords into the clip. Only on the user's ask.

NameTypeReqDescription
filestringyesTake number, file in the session ('take-03-camera.mov', 'edits/x.mp4'), or absolute path.
folderstringyesA folder from list_broll ('1 Desk work'), or a new one.
namestring–A short name; without it the description names the clip.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.

No output schema declared.

No examples provided.

save_to_library ~317

Keep a reusable part of an edit in the style library: a title card, lower third, caption look, transition, cover layout, sound. It becomes the next version of assets/<group>/<name>, with your note, and shows on the app's Styles board, where the user comments on it. Do it after each edit for every part a later video could use again. Save a playable preview (.mp4 or .png), and pass source_dir to keep the HyperFrames composition that makes it.

NameTypeReqDescription
filestringyesThe rendered part: absolute, or relative to session.
groupstringyesMotion, Titles, Captions, Covers, Logos, Sounds, or another one-word group.
librarystring–A library: 'style:<Name>' for one of the user's styles (e.g. 'style:Magazine'; a new name makes a new style), a project name for that project's own additions, or 'comments' for the comment copilot's…
namestringyesShort slug, e.g. 'lower-third'. Same name = a new version.
notestringyesOne line: what it is and when to use it.
sessionstring–Session as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
source_dirstring–Optional folder that makes it (e.g. the HyperFrames composition).

No output schema declared.

No examples provided.

script_history ~64

List saved versions of the script and variants, newest first, with author, note and a preview.

NameTypeReqDescription
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.

No output schema declared.

No examples provided.

search_media ~197

Find footage by meaning across the whole library, on this Mac: clips by what they show ('hands typing', 'walking outside at night', 'close-up of a phone'), stills and thumbnails, and the words said in transcripts and scripts ('where I talk about pricing'). Each hit has path, kind (video, image, speech, script) and, for video and speech, 'at' (seconds into the file). A b-roll clip found by its description has 'about' (that description). Best hit first. Use it to find b-roll for a storyboard shot or an edit before asking the user to film it, and to find an old take or clip the user describes. Same search as ⌘K in the app.

NameTypeReqDescription
kindsarray–Only these kinds. Omit for all.
limitinteger–Default 12.
querystringyesWhat to find, in plain words.

No output schema declared.

No examples provided.

set_best_cut ~232

Set the best cut of a storyboard take after you checked it. The best_cut from Gemini (or from the transcript, without a key) is only a first suggestion: compare it with the transcript and the frames, then write the range you use here (by=agent; the first range stays under gemini). The user sees it on the take in the Storyboard tab. This only marks a range. To make the clip, call cut_take with that range.

NameTypeReqDescription
cleanboolean–Every word of the shot's lines is there. Default true.
endnumberyesSeconds from the start of the take.
saidstring–What the user says in the range, word for word.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
startnumberyesSeconds from the start of the take.
takeintegeryesTake number.
whystringyesOne short sentence: what you checked, and what you changed.

No output schema declared.

No examples provided.

set_favorite_script ~87

Mark one script as the favorite (star on its tab): 'main' or a variant id. Omit draft to clear it.

NameTypeReqDescription
draftstring–'main' or a variant id.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.

No output schema declared.

No examples provided.

set_hooks ~147

Offer several hooks (opening lines) for a session. Replaces earlier hook options. The app shows them above the teleprompter; picking one puts it in the script's first paragraph (the hook slot), and each take records which hook it opened with (take field 'hook'). Write script.md with your best hook as its own first paragraph. Use this for hook options; use variants for different whole scripts.

NameTypeReqDescription
hooksarrayyesThe hook options, best first: [{text, note}].
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.

No output schema declared.

No examples provided.

set_keeper ~77

Star or unstar a take as the keeper.

NameTypeReqDescription
keeperboolean–true stars the take as the keeper.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
takeintegeryesTake number.

No output schema declared.

No examples provided.

set_plan ~112

Save the posting days the user picked. Overwrites the plan. Returns get_plan.

NameTypeReqDescription
daysarrayyesWeekdays: mon, tue, wed, thu, fri, sat, sun.
platformsarray–Which posts fill a slot. Default [linkedin].
timestring–Usual posting time, HH:MM 24-hour. Default 09:00.
weeksinteger–How many weeks the Plan board shows, 2 to 12. Default: unchanged.

No output schema declared.

No examples provided.

set_post ~709

Write the session's post for LinkedIn (default, posts/linkedin.md) or X (platform=x, posts/x.md). One session holds one post per platform, so the LinkedIn post and its X version sit together. LinkedIn: the app shows a real LinkedIn feed post with the video, cut after three lines with '…more', so put the hook in the first two lines. Max 3000 characters. X: the app shows a real X post, or a thread when you pass several tweets (tweets=[...], or text with a line holding only '---' between tweets). The media goes on the first tweet. The timeline cuts a tweet over 280 characters with 'Show more' (the user has Premium, so longer is allowed). The user edits the post in the app and comments on selected text; fix those comments with set_post. YouTube (platform=youtube): the long wide video. Pass title (max 100) and the description as text (chapters as '0:00 Intro' lines). Vertical (platform=vertical, also for tiktok/reels/shorts): one caption for TikTok, Instagram Reels and YouTube Shorts with the 9:16 edit; hook in the first line, max 2200 characters, at most 5 hashtags; title is the Shorts title, on picks the places. The old text stays in history. get_session returns them as 'post', 'x_post', 'youtube_post', 'vertical_post'. Posts are plain text only: they show no markdown. No video? The post works without one (text only, or pass an image). For other versions use create_post_variants; for opening options set_post_hooks. With variant=<slug> it edits that variant instead of the main post.

NameTypeReqDescription
first_commentstring–LinkedIn only. Optional: the first comment the user posts under it (links, resources, a question). The app shows it under the post as the user's comment. One per session, shared by the variants. Empt…
mediastring–Optional: the video or image to show, e.g. 'edits/hook-v3.mp4'. Default: the newest edit.
namestring–With variant: rename it.
notestring–What changed, e.g. 'Shorter hook'.
onarray–vertical only: where it goes. Default all three.
platformstring–Which post of the session: linkedin (default, posts/linkedin.md), x (posts/x.md), youtube (the long wide video: title + description, posts/youtube.md) or vertical (one vertical video and caption for…
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
textstring–The whole post, as it will appear.
titlestring–youtube: the video title. vertical: the Shorts title (empty: YouTube uses the caption's first line). Max 100 characters.
tweetsarray–X only, instead of text: the tweets of a thread in order (one item = one tweet).
variantstring–Optional: edit this post variant (slug) instead of the main post.

No output schema declared.

No examples provided.

set_post_hooks ~206

Offer several hooks for the LinkedIn or X post: opening lines (LinkedIn: the part above '…more', about two lines; X: the first tweet's opening). Replaces earlier hooks for that platform. The app lists them above the post; picking one replaces the post's first paragraph. Write the post with your best hook as its own first paragraph.

NameTypeReqDescription
hooksarrayyesThe hook options, best first: [{text, note}].
platformstring–Which post of the session: linkedin (default, posts/linkedin.md), x (posts/x.md), youtube (the long wide video: title + description, posts/youtube.md) or vertical (one vertical video and caption for…
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.

No output schema declared.

No examples provided.

set_post_status ~378

Record what you did on LinkedIn or X (platform=x) for a session's post. status=scheduled after you scheduled it (records the time and text you scheduled, so later changes show up as an action); status=posted with url once it is live (also marks the session published); ready to undo. The user marks posts ready in the app; only set ready or draft when asked. A post you were asked to schedule that has no time: pass at, the time you picked on the platform.

NameTypeReqDescription
atstring–The time it goes out (or went out), ISO 8601 with offset, e.g. 2026-09-29T09:32:00-07:00. Pass it with status=scheduled when the post has no time yet or you scheduled it for another time: the post ta…
first_comment_postedboolean–true after you posted first_comment under the live post.
platformstring–Which post of the session: linkedin (default, posts/linkedin.md), x (posts/x.md), youtube (the long wide video: title + description, posts/youtube.md) or vertical (one vertical video and caption for…
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
statusstringyesdraft, ready, scheduled or posted.
tzstring–Optional IANA zone for at, e.g. America/Los_Angeles. Default: the post's zone, else this Mac's.
urlstring–Link to the live post (status=posted).

No output schema declared.

No examples provided.

set_published ~170

Mark a session as published once its video is live on social media, so the user and other agents know it is done (the app shows it on the session). One entry per platform; call again for each platform. published=false unmarks (with platform: only that one). The user then cleans up the session's files in the app; do not trash them yourself.

NameTypeReqDescription
platformstring–Where it went live: LinkedIn, X, YouTube, Instagram, TikTok, …
publishedboolean–false to unmark. Default true.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
urlstring–Link to the post.

No output schema declared.

No examples provided.

set_rule ~359

Add, change, turn off or remove one learned rule. text is one sentence (at most 220 characters); put the rest in details. Keep each area small (10 rules): sharpen a rule before you add one. When an area is full, add the new rule with merge_into (the closest rule) and merged (one sentence for both): The user approves the merge on the Feedback board. Both rules are on until the user decides. Never change a rule the user wrote (by_user) without asking first. A check makes check_edit measure the rule: length: At most {max} seconds long. loudness: Integrated loudness in LUFS: {target, tolerance} (default -14 ± 1). pauses: No silence longer than {max} seconds (default 0.4), quieter than {floor} dB (default -35). peak: True peak in dBTP: {max} (default -1).

NameTypeReqDescription
areastring–The area the rule is for.
checkobject–{kind, target, tolerance, max, floor}. null removes it.
detailsstring–Longer words for the rule, at most 600 characters. '' removes them.
idstring–The rule to change. Omit to add a new rule.
merge_intostring–With a new rule in a full area: the id of the closest rule in the same area.
mergedstring–With merge_into: one sentence that holds both rules.
onboolean–false turns the rule off, true on.
removeboolean–true removes the rule.
textstring–The rule, one short sentence.

No output schema declared.

No examples provided.

set_storyboard ~558

Write the session's storyboard: the video as a row of shots that the user sees as a horizontal timeline of sketches on the Storyboard tab, each with its script lines. Use it with the storyboard skill when the user brainstorms a video idea. Replaces the earlier storyboard. Each shot covers one or two script paragraphs: 'say' is those lines word for word from script.md, 'do' is how to film or build it in one short line, 'sketch' is what the frame shows (people, props, framing, the camera move or the motion as arrows; never text in the frame). A sketch already drawn is kept; a new or changed sketch is drawn in the background, about 30 s. redraw=true draws a shot again with the same sketch text. With no image key, nothing is drawn and the answer says so: ask the user for a key, or pass your own sketch as the shot's 'image'. 'video' puts a real clip on the shot instead of a sketch (a file from list_broll, or a file in the session such as edits/x.mp4 or a still such as generated/x.png); the app shows its frame and plays it on hover. 'variants' puts several clips or stills on one shot (A, B, C... in that order) for the user to choose from: the shot shows as a stack; the user flips through them and picks one; 'video' is the one in the video (default the first). Left out, the shot keeps its variants. A new Higgsfield or Replicate clip for a shot keeps the old one as a variant. The user records takes per shot and comments on shots: get_session's 'storyboard' lists each shot's id, section, takes and open comments. 'format' is the video's shape: the cards and sketches use it.

NameTypeReqDescription
formatstring–The video's shape as W:H, any shape: 16:9 (YouTube, a landscape launch video), 9:16 (Reels, Shorts, TikTok), 4:5 (LinkedIn feed), 1:1, 21:9 (cinema), 4:3, 3:4... Set it on the first call; later calls…
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
shotsarrayyesThe shots in order: [{id, section, kind, say, do, sketch, seconds, video, variants, image, redraw}].

No output schema declared.

No examples provided.

set_style ~116

Set the style of one video (session) or of a whole project. The user usually picks it on the app's Assets tab. Only when asked.

NameTypeReqDescription
projectstring–Project name, to set the style of every session in it.
sessionstring–Session as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
stylestringyesA style name from get_library. With session, empty = use the project's.

No output schema declared.

No examples provided.

stop_job ~94

Stop a running job and every process it started. Files it wrote so far leave the session (they go to its .jobs folder). Higgsfield and Replicate clips cannot be stopped.

NameTypeReqDescription
idstringyesJob id from run_job.
sessionstring–Session as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.

No output schema declared.

No examples provided.

trash_sessions ~33

Move whole sessions to the macOS Trash (recoverable).

NameTypeReqDescription
sessionsarrayyesSessions as 'Project/folder'.

No output schema declared.

No examples provided.

trash_takes ~101

Move takes to the macOS Trash (recoverable). Pass take numbers, or non_keepers=true to trash every take without a star.

NameTypeReqDescription
non_keepersboolean–true trashes every take without a star.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
takesarray–Take numbers to trash.

No output schema declared.

No examples provided.

update_session ~147

Change a session's title (renames its folder) and/or replace its main script. Script changes are saved to history on both sides, so they can be undone. Give a short note. After a rename, use the returned path or the session id; the old path still works.

NameTypeReqDescription
notestring–What changed, e.g. 'Tighter hook'.
scriptstring–The new main script, in markdown.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
titlestring–New title. Renames the folder.

No output schema declared.

No examples provided.

update_variant ~124

Edit or rename a variant: its script, its name (the tab label) or its note. History keeps the old text.

NameTypeReqDescription
namestring–New tab label, 1-4 words.
notestring–One line: what changed or why.
scriptstring–The variant's new script.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
variantstringyesVariant id from get_session.

No output schema declared.

No examples provided.

use_post_variant ~168

Make a post variant the main post (the one that is scheduled). The old main goes to post history and the variant tab closes. Only when the user asks; the user usually does it in the app.

NameTypeReqDescription
platformstring–Which post of the session: linkedin (default, posts/linkedin.md), x (posts/x.md), youtube (the long wide video: title + description, posts/youtube.md) or vertical (one vertical video and caption for…
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
variantstringyesPost variant id from get_session.

No output schema declared.

No examples provided.

voiceover ~300

Make a voice-over with ElevenLabs: reads text (default: the session's script.md) in a voice (default: The user's default voice, usually a clone) and writes generated/<name>-vN.wav (48 kHz mono, -14 LUFS), shown on the Assets tab with the voice's name. Write the text as spoken words only. Costs ElevenLabs characters (about one per letter): one voice-over per ask.

NameTypeReqDescription
modelstring–ElevenLabs model id. Default eleven_multilingual_v2; eleven_v3 is more expressive.
namestring–Short file name. Default voiceover-<voice>.
sessionstringyesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
similaritynumber–0-1. How close to the original voice.
speednumber–0.7-1.2. Default 1.
stabilitynumber–0-1. Lower = more emotion, higher = steadier.
stylenumber–0-1. Style exaggeration.
textstring–The words to say. Leave out for script.md.
voicestring–A voice name or id from the ElevenLabs account (voices). Leave out for the default voice (the user picks it in Plugins › Voices).

No output schema declared.

No examples provided.

voices ~251

ElevenLabs voices: the account's own voices (the user's clone, designed and saved voices), the default voice, the plan and characters left. search=<words> searches the ElevenLabs voice library (with gender, accent, language, age, use_case); add=<add id from search> with name saves one to the account; set_default=<voice> makes a voice the default. Not set up: tell the user to open Plugins › Voices.

NameTypeReqDescription
accentstring–With search: e.g. american, british.
addstring–'<public_owner_id>/<voice_id>' from a search result.
agestring–With search: young, middle_aged or old.
genderstring–With search: male, female or neutral.
languagestring–With search: language code, e.g. en.
namestring–With add: the name the voice gets in the account.
searchstring–Words to search the ElevenLabs voice library for.
set_defaultstring–A voice name or id to make the default.
use_casestring–With search: e.g. narrative_story, conversational.

No output schema declared.

No examples provided.

Install

How do I install the Takes for Mac MCP server?

Takes for Mac ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 20e105b74f466d1f85116b3564394342f928b80410cbabc76a6c27e3e55c67ef; the commands to do that are on this page. If it does not match, do not open it.

mcpb · takes-mcp.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

20e105b74f466d1f85116b3564394342f928b80410cbabc76a6c27e3e55c67ef

macOS / Linux

echo "20e105b74f466d1f85116b3564394342f928b80410cbabc76a6c27e3e55c67ef  takes-mcp.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\takes-mcp.mcpb).Hash -eq "20e105b74f466d1f85116b3564394342f928b80410cbabc76a6c27e3e55c67ef"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the Takes for Mac MCP server?

Takes for Mac is an MCP server listed in the public MCP registry as io.github.marvtub/takes. Tools for the Takes Mac app: scripts, takes, edits and posts for talking-head videos. This page covers its MCPB bundle (https://github.com/marvtub/takes-public/releases/download/v2026.10.15/takes-mcp.mcpb).

Is the Takes for Mac MCP server safe to use?

Takes for Mac scores 40 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Takes for Mac MCP server expose?

Takes for Mac exposes 74 tools: list_projects, create_project, list_sessions, get_session, create_session, and 69 more. Their descriptions and schemas cost roughly 14,979 tokens of context every time the server is loaded.

What licence is the Takes for Mac MCP server under?

Takes for Mac declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.