BAMF.ai
LinkedIn and X content, scheduling, analytics and outreach agent for founders, via your BAMF login.
| Endpoint | https://mcp.bamf.ai (streamable-http) |
|---|---|
| Registry version | 1.1.0 |
| Now | 148 tools · grade F (12) · pin ts_3660ba0c516fdf2f52ea8e0d19dc8dad · protocol 2025-06-18 |
| First / last listed | 2026-10-31 03:28 UTC / 2026-10-31 03:28 UTC |
| Grade over time | 2026-10-31: F (12), 148 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: bamf.list_site_projects bamf.create_site_project bamf.get_site_artifact bamf.save_site_artifact bamf.list_sites bamf.list_site_workspaces bamf.get_site bamf.manage_site bamf.publish_site bamf.get_agent_capabilities bamf.search_intelligence bamf.get_intelligence_resource_context bamf.get_intelligence_processing_status bamf.route_agent_workflow bamf.get_agent_identity bamf.get_onboarding bamf.advance_onboarding bamf.get_profile bamf.get_agent_creator_context bamf.list_agent_media bamf.list_agent_brand_kits bamf.list_creator_follows bamf.follow_creator bamf.unfollow_creator bamf.list_creator_spaces bamf.get_creator_context bamf.list_scheduled_posts bamf.preview_post bamf.create_post_draft bamf.message_client bamf.invite_client_to_space bamf.update_client_contact bamf.send_linkedin_reauth_link bamf.check_linkedin_session bamf.reconnect_linkedin bamf.open_cloud_computer bamf.request_login bamf.run_design_session bamf.plugins.list bamf.plugins.call bamf.ensure_proxy bamf.manage_proxy bamf.create_x_post_draft bamf.generate_post bamf.generate_x_post bamf.edit_post bamf.generate_post_edit bamf.edit_carousel_slide bamf.edit_post_image bamf.list_post_versions bamf.revert_post_version bamf.delete_post bamf.schedule_post bamf.boost_post bamf.list_boost_tiers bamf.list_boost_groups bamf.estimate_boost bamf.unschedule_post bamf.pause_scheduled_post bamf.resume_scheduled_post bamf.publish_post_now bamf.list_ideas bamf.generate_ideas bamf.create_idea bamf.create_post_request bamf.read_team_channel bamf.message_team_channel bamf.list_client_channels bamf.share_to_channel bamf.publish_notion_status_block bamf.list_client_approvals bamf.get_client_approval bamf.decide_client_approval bamf.list_post_requests bamf.list_interviews bamf.create_interview_link bamf.run_research bamf.run_ai_roundup bamf.search_knowledge bamf.process_knowledge bamf.create_interview_transcript bamf.add_knowledge_doc bamf.save_agent_artifact bamf.add_memory bamf.get_brain bamf.propose_brain_update bamf.list_profile_packages bamf.get_profile_package bamf.get_profile_capture_status bamf.create_profile_package bamf.update_profile_package bamf.duplicate_profile_package bamf.select_profile_package bamf.archive_profile_package bamf.list_media bamf.list_media_folders bamf.list_integrations bamf.list_brand_kits bamf.list_design_references bamf.instantiate_design_reference bamf.update_brand_kit_references bamf.add_media bamf.create_media_folder bamf.move_media_items bamf.generate_image bamf.generate_carousel bamf.generate_video bamf.generate_carousel_pdf bamf.list_saved_people_lists bamf.read_saved_people_list bamf.query_people bamf.search_crm_leads bamf.start_outreach_discovery bamf.resume_outreach_discovery bamf.get_outreach_discovery_status bamf.cancel_outreach_discovery bamf.save_outreach_discovery bamf.prepare_outreach_campaign bamf.approve_outreach_campaign bamf.queue_outreach_campaign bamf.cancel_outreach_campaign bamf.get_outreach_campaign_status bamf.admit_outreach_campaign_execution bamf.prepare_exact_thread_reply bamf.prepare_outreach_growth_delivery bamf.list_jobs bamf.get_job bamf.get_run_status bamf.cancel_job bamf.get_analytics_summary bamf.get_creator_analytics_report bamf.get_funnel_mix bamf.find_funnel_examples bamf.find_competitor_ads bamf.suggest_ad_keywords bamf.list_linkedin_posts bamf.get_x_analytics_summary bamf.list_x_posts bamf.list_x_bookmarks bamf.sync_x_analytics bamf.list_ai_analyses bamf.create_video_project bamf.generate_video_script bamf.narrate_video_project bamf.transcribe_video_captions bamf.schedule_video_post bamf.get_video_analytics_summary bamf.create_job
bamf.list_site_projects | List client projects available as destinations for site HTML artifacts. Requires sites:read. params: workspace_id*, params |
bamf.create_site_project | Create a client project destination for site artifacts. Requires sites:write; supply title and agent_lanes in params. params: workspace_id*, params*, idempotency_key* |
bamf.get_site_artifact | Read exact persisted client project HTML artifact/version including content and provenance. Requires sites:read; params needs artifact_id and optional version_id. params: workspace_id*, params* |
bamf.save_site_artifact | Persist complete agent-authored HTML as an immutable client project artifact version. Requires sites:write. params needs project_id,title,artifact_format=html,content,provenance {artifact_schema:bamf-visual-artifact/v1,revision,optional provider/source_session_url},idempotency_key. Updates require artifact_id and expected_updated_at. Returns real artifact/version IDs; does not publish. params: workspace_id*, params*, idempotency_key* |
bamf.list_sites | List hosted sites in an authorized managed client workspace. Requires sites:read; creator-scoped keys and unbound native workspaces are unsupported. params: workspace_id* |
bamf.list_site_workspaces | Discover authorized managed client workspaces for hosted site operations. Requires sites:read. Returns IDs and names only. params: none |
bamf.get_site | Read site sessions, previews, version source/diffs, access, Site tool capabilities, merch reviews, print templates, and connection history. For get_site_builds, params may include the optional positive integer before_version returned as versions_page.next_before_version to load the next 20 metadata-only history rows. Requires sites:read. Existing authorized managed client workspace required. params: workspace_id*, action*, params* |
bamf.manage_site | Create or revise site sessions, context, templates and preview versions; save a site-scoped merch review; rename or archive a site; retry or cancel a build; or attach its analytics Pixel. Requires sites:write and an authorized managed client workspace. Archive and cancel affect existing site/build state; this tool does not publish. params: workspace_id*, action*, params*, idempotency_key* |
bamf.publish_site | Request or resolve exact publish approval, change access, or execute an approved version operation. Requires sites:publish; preserve approval and version bindings. Existing authorized managed client workspace required. params: workspace_id*, action*, params*, idempotency_key* |
bamf.get_agent_capabilities | Return the current BAMF app/Stack/API/MCP workflow capability map, safety contract, skill routing, and preferred tools. Use this before planning a BAMF Bot workflow. params: none |
bamf.search_intelligence | Search the authenticated creator's indexed media, bookmarks, and documents. Returns source-linked evidence and citations; only reads existing intelligence projections. params: author_id*, query*, limit |
bamf.get_intelligence_resource_context | Get source-linked evidence, facts, and relationships for one intelligence resource the authenticated creator can access. params: resource_id* |
bamf.get_intelligence_processing_status | Read recent intelligence processing jobs for the authenticated creator, optionally limited to one resource. params: resource_id, limit |
bamf.route_agent_workflow | Deterministically route a natural-language BAMF request to the recommended app workflow, BAMF Stack skill, REST endpoints, MCP tools, scopes, and approval policy. params: request, intent, workflow_id, visual_type, post_id, current_post_id, has_post_id, wants_to_mutate, context |
bamf.get_agent_identity | Return the authenticated BAMF actor identity through the canonical server-resolved authority path. params: none |
bamf.get_onboarding | Start or resume BAMF Bot setup for the signed-in person: the same ordered steps, progress and rewards as onboarding on bamf.ai. Returns each step with its status, how to run it here (ask, call a listed BAMF tool, or share web_url), the next step and time saved. Creates the person's creator space on first use if they just signed up from this app. params: creator_id |
bamf.advance_onboarding | Finish or skip one BAMF Bot setup step and save it on the same record as the web onboarding, so the person can continue on bamf.ai or here. Optionally saves their answer for the step and their profile basics (name, website, LinkedIn, role, industry, bio). Returns the updated onboarding status, including any credit rewards BAMF verified. params: creator_id, step*, outcome, answer, profile |
bamf.get_profile | Return the profile represented by this request's authenticated credentials. The opaque id is unique within this app and remains unchanged across token refresh, reconnection, and display-metadata changes. params: none |
bamf.get_agent_creator_context | Return a versioned, positive-projection creator context for the server-authorized creator space. params: creator_id*, sections, limit |
bamf.list_agent_media | Return versioned, positive-projection media assets for server-authorized creator spaces. params: creator_id, limit |
bamf.list_agent_brand_kits | Return versioned, positive-projection brand packs and brand-kit projects for server-authorized creator spaces. params: creator_id, limit |
bamf.list_creator_follows | List creator profiles followed by a workspace. params: workspace_id*, author_id* |
bamf.follow_creator | Follow a creator profile in a workspace. params: workspace_id*, author_id*, profile*, platform, idempotency_key* |
bamf.unfollow_creator | Unfollow a creator profile in a workspace. params: workspace_id*, author_id*, creator_profile_id*, idempotency_key* |
bamf.list_creator_spaces | List creator spaces available to the authenticated BAMF API key. Defaults to a compact paginated discovery projection; request detail=full only when the complete public creator record is required. params: detail, limit, cursor, offset |
bamf.get_creator_context | Return the comprehensive creator context bundle for one creator space: knowledge docs, voice profile, AI analyses, integrations, interviews, LinkedIn profile/posts/analytics, website, website screenshot, brand kits, media, and REST/MCP availability notes. Sections are scope-gated and report omitted sections when the key lacks a read scope. params: creator_id*, sections, limit |
bamf.list_scheduled_posts | List upcoming scheduled posts with preview-ready content, media, carousel slides, and first comments. params: creator_id, limit |
bamf.preview_post | Return a rich preview for one post, including media and first comment. params: post_id* |
bamf.create_post_draft | Create a draft post for a creator space after the user approves exact content. Defaults to LinkedIn; pass platform=x for X drafts. Supports first comments and media fields. params: creator_id*, content*, topic, platform, post_type, first_comment, generated_image_url, uploaded_image_url, document_url, video_url, article_url, article_title, funnel_plan, sources |
bamf.message_client | Relay a message to a client through the agency communication gateway (their WhatsApp / iMessage and email). Agency staff keys only. TWO-STEP: confirm=false (default) returns the plan only (client, channels, live or dry-run, exact preview text, warnings) and sends nothing; call again with confirm=true only after the user approves the exact preview. Live delivery is still governed by the gateway's t params: client*, message*, link, attribution, confirm |
bamf.invite_client_to_space | Text a client an invite to their BAMF space from the BAMF line (+1 213-853-2189). Agency staff keys only. Finds the client's mobile from their Notion space, then GoHighLevel; asks when neither has it (pass phone). The invite is client role with client view locked (only the agency owner can change it). TWO-STEP: confirm=false (default) returns the plan only (number source, masked number, SMS draft params: client*, phone, text, confirm |
bamf.update_client_contact | Update a client's contact info (phone, email, company) in all three places at once: their BAMF client record, their Notion client page property, and the agency's GoHighLevel contact (updated by email/name match, created when missing). Agency staff keys only. TWO-STEP: confirm=false (default) returns the plan only (what each of the three writes will do, or why one is skipped); call again with confi params: client*, phone, email, company, confirm |
bamf.send_linkedin_reauth_link | Send a client a one-tap LinkedIn reconnect link over their preferred channels (BAMF delivers to EVERY resolved channel, not just the first). With no channels given, uses the user's saved preference, defaulting to Slack (posted in the client channel so the team sees it) + SMS + email. The team gets a '✅ reconnected by <name> at <time>' confirmation in Slack once both reconnect steps verify. Agency params: client*, channels, confirm |
bamf.check_linkedin_session | Check a client's LinkedIn login status in BAMF Connect and Multilogin. Agency staff keys only. Read-only. params: client* |
bamf.reconnect_linkedin | Start a cloud-browser LinkedIn reconnect for a client: opens the client's own scoped BAMF Cloud browser on the LinkedIn sign-in so THEY log in themselves. Credentials are never typed, stored, or returned by BAMF. Client-scoped: the client (or their agent), or the client's agency owner/admin/manager; client may be omitted when you have exactly one client space. TWO-STEP: confirm=false (default) ret params: client, confirm |
bamf.open_cloud_computer | Open a page on the user's own BAMF Cloud computer (a persistent cloud desktop with a full-screen browser) so they can watch the agent use it, live, in their BAMF chat. Runs inside BAMF chat: returns the exact chat message that opens it there. https pages only. LinkedIn opens in the dedicated BAMF Cloud LinkedIn profile. params: url* |
bamf.request_login | Ask the user to sign in to a site on their BAMF Cloud computer. The user types their own password and two-step code in the live view; BAMF never types credentials. Returns the exact BAMF chat message that opens the sign-in; the chat waits for the signed-in page, then continues. params: site* |
bamf.run_design_session | Make an infographic PNG (1080x1350) or a 15s motion clip MP4 (1080x1920, Remotion) from a post, built by the user's OWN connected Claude Code (or Codex) on their BAMF Cloud computer. Runs inside BAMF chat: returns the exact chat message that starts it there. BAMF never uses its own Claude/Codex access; if the user has not connected one, the chat asks them to. The file lands in the media library as params: kind*, brief, post_id, worker |
bamf.plugins.list | List the plugins the user connected in BAMF for a workspace (GitHub, Gmail, Google Calendar, and remote MCP providers such as Fireflies), each with its status (connected, needs_reauth, not_connected) and the exact tools you can call through bamf.plugins.call: name, short description, access (read or write) and argument hints. Remote MCP tools are listed live. Never returns tokens or secrets. Requi params: workspace_id |
bamf.plugins.call | Run a tool on one of the user's connected plugins, as the user, server-side: GitHub (github.list_repos, github.read_repo), Gmail (gmail.search), Google Calendar (calendar.upcoming, calendar.free_slots), or any remote MCP provider tool (e.g. plugin fireflies, tool fireflies_get_transcripts; tool tools/list lists them). Call bamf.plugins.list first to see what is connected. Read tools need plugins:r params: workspace_id, plugin*, tool*, args |
bamf.ensure_proxy | Ensure a client's cloud-browser profile has a residential proxy (attaches one when missing, no-op when healthy). BAMF platform admin only. TWO-STEP: confirm=false (default) returns the plan only; call again with confirm=true only after the operator approves. Optional country/region/city set the initial location. Proxy host and credentials are never returned. Reports 'not available yet' until the c params: client*, country, region, city, confirm |
bamf.manage_proxy | Raw cloud-proxy operations for a client's cloud-browser profile: rotate (fresh IP, same region), relocate (new country/region), or disable. BAMF platform admin only; never agency-scoped. These change the client's apparent location to LinkedIn, so prefer bamf.ensure_proxy. TWO-STEP: confirm=false (default) returns the plan and risk warning only; call again with confirm=true only after the operator params: client*, action*, country, region, city, confirm |
bamf.create_x_post_draft | Create an X-native draft after exact approval. Use for single X posts, threads, image posts, long-form X drafts, and resource/DM campaign drafts; this does not publish. params: creator_id*, content*, topic, x_format, thread_items, media_plan, auto_dm_campaign |
bamf.generate_post | Generate post concepts and a reviewable draft candidate from BAMF unified creator context. Defaults to LinkedIn; pass platform=x for X-native hooks, threads, and growth-focused drafts. If the brief involves recent news, trends, benchmarks, or exact numbers, pass research_policy/source_urls/research_notes or run bamf.run_research first. If the brief needs creator POV, pass mini_interview_answers or params: creator_id*, brief*, topic, post_type, platform, tone, include_first_comment, media_plan, constraints, template_category, use_template_inspiration, research_policy, source_urls, research_notes, evidence_needs, interview_policy, mini_interview_answers |
bamf.generate_x_post | Generate X-native single posts, threads, image posts, resource/auto-DM posts, long-form X posts, replies, quotes, or bookmark remixes from creator context, X bookmarks, and saved X analytics. This creates an async review job only. params: creator_id*, brief*, x_format, engagement_goal, thread_length, source_material, media_plan, constraints, research_policy, source_urls, research_notes, mini_interview_answers |
bamf.edit_post | Patch an existing draft or scheduled post after the user approves exact edits. Supports first comments and media fields. params: post_id*, content, edit_instruction, topic, post_type, first_comment, generated_image_url, uploaded_image_url, carousel_slides, document_url, video_url, article_url, article_title |
bamf.generate_post_edit | Generate a reviewable edit proposal, quality audit, deterministic quality comparison, and PATCH payload for a draft, scheduled post, or rough pasted draft. Use edit_mode=full_rewrite for weak/generic/third-person drafts. If the edit needs current facts or data, pass research_policy/source_urls/research_notes or run research first; if it needs authentic POV, pass mini_interview_answers or ask up to params: creator_id*, post_id, current_content, source_material, current_first_comment, instructions, edit_mode, template_category, use_template_inspiration, preserve_points, must_preserve, avoid, diagnostic_notes, personalization_notes, quality_bar, media_notes, research_policy, source_urls, research_notes, evidence_needs, interview_policy, mini_interview_answers |
bamf.edit_carousel_slide | Edit ONE slide of an existing carousel post in place, the same as asking the in-app BAMF Bot to change one slide. Pass title/body/cta/content to change the slide copy, image_instruction to edit that slide's current image (everything else kept), or rerender=true to re-render a prompt-carousel page from its stored spec. The prior slide copy/image is saved in carousel_slides[].text_versions/image_ver params: post_id*, slide*, title, body, cta, content, image_instruction, rerender |
bamf.edit_post_image | Edit the post's CURRENT image in place (same path as the in-app chat image edit). Default keeps everything else the same; brand marks are left out unless the instruction asks for them. The replaced image is appended to generation_metadata.image_history so bamf.revert_post_version can restore it. Pass reference_version (an image_history index) to also give the editor an earlier version. Always upda params: post_id*, instruction*, keep_everything_else, reference_version |
bamf.list_post_versions | List every saved version of a post: copy versions (post history), the post image_history, and each carousel slide's image and text versions. Use the ids/indexes with bamf.revert_post_version. params: post_id* |
bamf.revert_post_version | Restore a saved version on the same post: kind=text (version_id), image (index into image_history), slide_image (slide + image_url; prompt carousels step back one version), or slide_text (slide + version_id). The current state is kept as a version, so a revert is itself reversible. Never creates a post. params: post_id*, kind*, version_id, index, slide, image_url |
bamf.delete_post | Delete a normal BAMF content post. params: post_id* |
bamf.schedule_post | Schedule a post for a future time. Creator-scoped API keys may use this. Optionally arm engagement boost so authentic first-hour engagement fires automatically when the post goes live. params: post_id*, scheduled_for*, boost |
bamf.boost_post | Apply engagement boost to a post. Published posts boost immediately; scheduled posts are armed for publish time. Requires the posts:boost scope. params: post_id*, approved*, tier, engagement_type |
bamf.list_boost_tiers | List available engagement boost tiers (basic/power/mega) with reach and token cost. params: none |
bamf.list_boost_groups | List the BAMF-labeled engagement groups (LinkedIn) a post can be boosted into, with name, category, region, language, industry tags, and member count. Optionally filter to a creator's matched groups. params: author_id |
bamf.estimate_boost | Estimate the projected first-wave reach (people, reactions, comments) for boosting a creator's post. params: author_id*, tier |
bamf.unschedule_post | Unschedule a post. Creator-scoped API keys may use this. params: post_id* |
bamf.pause_scheduled_post | Pause auto-publishing while keeping the scheduled time visible in BAMF. params: post_id* |
bamf.resume_scheduled_post | Resume a paused scheduled post using its stored scheduled time. params: post_id* |
bamf.publish_post_now | Publish a post immediately. User-scoped keys only; creator-scoped keys receive a helpful 403. params: post_id* |
bamf.list_ideas | List content ideas for a creator space. params: creator_id, status, search, limit |
bamf.generate_ideas | Generate evidence-backed creator post ideas with source labels, why-now context, creator fit, and confidence. External research is adaptive by default; private X bookmarks are opt-in and can be limited to selected folder ids. params: creator_id*, query, platforms, formats, include_x_bookmarks, x_bookmark_folder_ids, external_research_mode, external_sources |
bamf.create_idea | Create a content idea for a creator space. params: creator_id*, title*, content*, tags |
bamf.create_post_request | Create a client post request: the BAMF team drafts it into the client's Notion content approval board (status "Post request") and is pinged in the client's Slack channel per agency rules. Use for managed (agency client) creators; it does not publish. params: creator_id*, idea_text*, brief, links |
bamf.read_team_channel | Read the latest messages (default 20, max 50) from the shared Slack channel pinned in your own client space, as plain text with author and time. Requires creator_spaces:read and membership in that client space; the channel always comes from the space's pin. params: workspace_id, limit |
bamf.message_team_channel | Post a message to your agency team in the shared Slack channel pinned in your own client space, sent by the BAMF Slack bot and attributed to you (e.g. "Jonathan (via Muse)"). Requires team_channel:write. TWO-STEP: confirm=false (default) returns the plan and exact preview text and sends nothing; call again with confirm=true only after the user approves the exact preview. Replaying the same idempot params: workspace_id, text*, confirm, idempotency_key |
bamf.list_client_channels | List the client's shared Slack channels this creator space can post into (client channels only; agency-internal channels are never listed). Requires creator_spaces:read. params: creator_id* |
bamf.share_to_channel | Post a message into the client's own shared Slack channel, attributed to the calling agent. Requires channels:write. Only client channels attached to this creator's workspace are allowed; agency-internal channels are refused. dry_run=true returns the exact text without posting. Replaying the same idempotency_key never posts twice. params: creator_id*, channel_id*, text*, link, dry_run, idempotency_key* |
bamf.publish_notion_status_block | Refresh an agency status visual (client content pipeline, approval queue, or client interview progress) inside a Notion page. The snapshot is refreshed in place from BAMF data, it never publishes posts, and it is for agency staff only (platform admin or owner/admin/manager). dry_run=true returns the HTML without calling Notion. Requires client_approvals:write (client_approvals:read for dry_run). params: kind*, workspace_id*, notion_page_id, block_id, dry_run |
bamf.list_client_approvals | List content approval requests for the workspaces this connection can reach. Requires client_approvals:read. params: creator_id, workspace_id, status, limit |
bamf.get_client_approval | Read one content approval request with its post and comments. Requires client_approvals:read. params: approval_id* |
bamf.decide_client_approval | Record a client decision on an approval request: approved, changes_requested (comment required) or rejected; team members may only resubmit as pending. Requires client_approvals:write. Approving never schedules or publishes. params: approval_id*, status*, comment, idempotency_key* |
bamf.list_post_requests | List a client creator's recent post requests with their pipeline state and Notion link. params: creator_id*, limit |
bamf.list_interviews | List creator interviews from transcript knowledge documents and app-native chat interview sessions. params: creator_id, limit |
bamf.create_interview_link | Create a secure hosted content-interview link for a creator. It returns ready-to-share copy for BAMF.ai, Slack, WhatsApp, or another connected conversation, but never starts an in-channel interview or sends through a provider. params: creator_id*, label, expires_days, max_uses, contact_metadata |
bamf.run_research | Run an async BAMF research brief job over a topic, source URLs, and/or notes. Use it when current/recent facts, benchmark data, trends, or source-backed visual claims would strengthen a post. BAMF uses live web search (treg) when available and returns copy-fit facts, post angles, and a knowledge-doc handoff instead of a raw data dump. params: creator_id*, query, topic, source_urls, notes, desired_outputs, use_web_research, use_perplexity |
bamf.run_ai_roundup | Run the AI roundup series for a creator: ingest curated source pages (source_posts), extract news stories, verify each against a primary source (official blog, GitHub repo, announcement), dedupe against past roundups, rank, and save drafts: an X thread, a branded LinkedIn document carousel, a companion video draft, and on weekly runs a deep-dive/hot-take post. Unverified stories are dropped. Draft params: creator_id*, workspace_id, cadence, series, eval_run, dry_run |
bamf.search_knowledge | Search creator knowledge documents. params: creator_id, search, limit |
bamf.process_knowledge | Process a knowledge document or raw content into summaries, durable facts, post ideas, and interview insights. This creates an async job and does not create ideas automatically. params: creator_id*, document_id, title, content, tags, type, metadata |
bamf.create_interview_transcript | Save an interview transcript as a BAMF knowledge document and optionally queue interview-specific knowledge processing. params: creator_id*, title*, transcript*, interviewee, interviewer, tags, process |
bamf.add_knowledge_doc | Add a knowledge or memory document to a creator space. API documentation: https://bamf.ai/docs/mcp/overview params: creator_id*, path, title*, content*, tags |
bamf.save_agent_artifact | Save an approved Markdown report, analysis, research result, or dashboard summary as durable BAMF creator knowledge with Claude, ChatGPT, Codex, or BAMF session provenance. Show the exact destination, title, content summary, and provenance to the user before calling this write tool. params: creator_id*, title*, content*, path, tags, source_provider*, source_session_url, source_session_id, source_artifact_type, created_by_agent |
bamf.add_memory | Add a short durable memory to the creator's knowledge base. params: creator_id*, memory*, title |
bamf.get_brain | Read your personal or company brain as Brain format v1 files. Returns the manifest plus BRAIN.md and the brain markdown files, with secrets redacted. Company brain requires an owner, admin, manager or client role. params: creator_id*, kind |
bamf.propose_brain_update | Propose a change to a brain; the owner approves it in BAMF. This only queues a proposal and never edits the brain. params: creator_id*, kind*, target*, summary*, body* |
bamf.list_profile_packages | List saved Profile Studio packages for a creator. Returns safe package content and selection state, never raw capture provenance or provider credentials. params: creator_id, include_archived, limit |
bamf.get_profile_package | Read one saved Profile Studio package. This is BAMF package data only, not a live LinkedIn profile read or application. params: profile_package_id* |
bamf.get_profile_capture_status | Read safe Original/current profile capture status for a creator. It returns timestamps and verification state, never capture provenance, browser runs, or raw provider payloads. params: creator_id* |
bamf.create_profile_package | Save a new versioned Profile Studio package after exact user approval. This reversible BAMF record write does not apply changes or publish anything to LinkedIn. params: creator_id*, title*, notes, thumbnail_url, snapshot* |
bamf.update_profile_package | Update a saved Profile Studio package after exact approval. The tool first fetches the exact ETag, saves with a stable idempotency key, and validates the returned receipt. This reversible package write does not modify a live LinkedIn profile. params: profile_package_id*, idempotency_key, title, notes, thumbnail_url, is_archived, snapshot |
bamf.duplicate_profile_package | Duplicate a saved Profile Studio package as a draft variation after exact approval. This is reversible and never applies the variation to LinkedIn. params: profile_package_id*, title |
bamf.select_profile_package | Mark a saved Profile Studio package selected after exact approval. Selection is reversible BAMF metadata, not live LinkedIn application or publishing. params: profile_package_id* |
bamf.archive_profile_package | Archive a saved Profile Studio package after exact approval. Archive is reversible through update_profile_package and never changes LinkedIn. params: profile_package_id* |
bamf.list_media | List media assets for a creator space. params: creator_id, limit |
bamf.list_media_folders | List Media Library folders for a creator space. params: creator_id |
bamf.list_integrations | List connected creator integrations and per-author integration settings without exposing tokens, cookies, or secrets. params: creator_id |
bamf.list_brand_kits | List creator brand packs and generated brand kit projects/pages. params: creator_id, limit |
bamf.list_design_references | List curated design references (non-rejected) with name, category, tags, fonts, palette, and source attribution. Never returns raw HTML. Use the id or slug with bamf.instantiate_design_reference. Pass platform (linkedin|x|instagram) and/or post_type to get the built-in brand-free default post references (category post_reference: aspect ratio, copy skeleton, do/don't notes); brand kits always win o params: category, query, platform, post_type, include_guide, limit |
bamf.instantiate_design_reference | Return a design reference's template markdown with BAMF slots (name, logo, palette, fonts) filled from the creator's brand kit. Read-only; provide reference_id or slug plus brand_kit_project_id or creator_id. params: reference_id, slug, brand_kit_project_id, brand_pack_id, creator_id |
bamf.update_brand_kit_references | Attach approved HTTPS style references to a creator-scoped BAMF brand kit. Use append to preserve current references or replace only when the user explicitly asks to replace that asset role. This updates durable brand context; it does not generate or publish media. params: creator_id*, brand_pack_id, pack_type, mode, asset_role, reference_urls, inline_reference_data_urls, name, description, tags, palette, fonts, visual_style_prompt, brand_rules, negative_prompt, notes, trigger_keywords, reference_name, reference_notes, is_default_reference |
bamf.add_media | Register an external media URL as a BAMF media asset. API documentation: https://bamf.ai/docs/mcp/overview params: creator_id*, url*, visual_type |
bamf.create_media_folder | Create a Media Library folder for a creator space after user approval. params: creator_id*, name*, workspace_id |
bamf.move_media_items | Move selected media assets into a Media Library folder, or clear the folder with folder_id null. params: item_ids*, folder_id |
bamf.generate_image | Create a BAMF image generation job. Supports quote cards, creator portraits, infographics, animated infographics (GIF + MP4 via format=motion_infographic), and package-bound LinkedIn profile banners/Featured images. Pass reference_bindings to preserve official identity/product/brand truth separately from inspiration used only for style/layout. For profile_banner/profile_featured, profile_package_i params: creator_id*, prompt*, visual_type, engine, size_preset, format, output_formats, profile_package_id, profile_asset_kind, size, quality, n, referenceImageUrls, likenessReferenceImageUrls, styleReferenceImageUrls, reference_bindings, post_id, alt_text, research_policy, source_urls, research_notes, visual_copy_strategy |
bamf.generate_carousel | Generate carousel slide images, package them as a LinkedIn-ready PDF, and optionally attach it to a post. Pass reference_bindings to preserve official identity/product/brand truth separately from inspiration used only for style/layout. Slide copy should follow the source post structure when relevant while rephrasing for clearer, more emotional visual impact instead of repeating the post verbatim. params: creator_id*, title, slides*, size, quality, referenceImageUrls, likenessReferenceImageUrls, styleReferenceImageUrls, reference_bindings, post_id, research_policy, source_urls, research_notes, visual_copy_strategy |
bamf.generate_video | Create a paid Higgsfield Seedance 2.5 video job. Pass image_url or an official likeness reference binding to use image-to-video and preserve the creator shown in the approved source image; otherwise BAMF uses text-to-video. Poll with bamf.get_job; success returns a BAMF-hosted MP4 media asset plus the provider request receipt. params: creator_id*, prompt*, image_url, reference_bindings, duration, resolution, aspect_ratio, generate_audio |
bamf.generate_carousel_pdf | Convert existing slide image URLs into a LinkedIn-ready carousel PDF and optionally attach it to a post. params: creator_id*, title, slide_image_urls*, post_id |
bamf.list_saved_people_lists | List the current bounded catalog of saved master-contact lists, supported CRM system segments, and receipt-verified reviewed CRM lead lists in your signed-in workspace. Unmarked manual CRM lists and company/unknown domains are not included. The first 100 combined entries are returned and completeness is false. JWT session and CRM read access required; no provider calls. params: workspace_id* |
bamf.read_saved_people_list | Read one server-authorized native people list with explicit master_contacts or crm_leads domain. Master-contact IDs are verified by the scoped native reader; CRM system-segment and receipt-verified reviewed-lead IDs must appear in the current bounded catalog. Unmarked manual CRM lists and company/unknown domains are unsupported. JWT session and CRM read access required; page is bounded and no prov params: workspace_id*, list_id*, member_kind*, limit, offset |
bamf.query_people | Read people in your authorized client workspace by activity signals, ICP fit, channels, stage, lane, tags, and recency. Requires a signed-in BAMF user session and CRM read access; never calls a provider or sends messages. params: workspace_id*, params |
bamf.search_crm_leads | Search existing CRM leads in your authorized client workspace by name, company, title, headline, campaign, or connection status. Requires a signed-in BAMF user session and CRM read access; never calls a provider or sends messages. params: workspace_id*, params |
bamf.start_outreach_discovery | Start a tenant- and principal-scoped, provider-read-only outreach discovery session. This discovers candidates only; it never creates or sends a campaign. params: workspace_id*, session_id*, principal_context_ref_id*, gateway_run_id*, provider*, provider_account_id*, capability_receipt_ref*, source_mode*, targeting*, search_criteria, apollo_enrichment_approval, apollo_preview_session_id, idempotency_key* |
bamf.resume_outreach_discovery | Resume a scoped outreach discovery session from server-owned coverage. Caller-supplied provider cursors or organization IDs are not accepted as authority. params: discovery_session_id*, workspace_id*, session_id*, principal_context_ref_id*, gateway_run_id*, provider*, provider_account_id*, capability_receipt_ref*, source_mode*, targeting*, idempotency_key* |
bamf.get_outreach_discovery_status | Read the status of one tenant- and principal-scoped outreach discovery session. This never mutates a provider. params: discovery_session_id*, workspace_id*, session_id*, principal_context_ref_id*, gateway_run_id*, provider*, provider_account_id*, capability_receipt_ref* |
bamf.cancel_outreach_discovery | Request cancellation of one scoped outreach discovery session. This cancels discovery only and never mutates a provider campaign. params: discovery_session_id*, workspace_id*, session_id*, principal_context_ref_id*, gateway_run_id*, provider*, provider_account_id*, capability_receipt_ref*, idempotency_key* |
bamf.save_outreach_discovery | Explicitly save the current non-excluded candidates from a completed or partial discovery as a durable list snapshot. This does not create, enroll, or send a campaign. params: discovery_session_id*, workspace_id*, session_id*, principal_context_ref_id*, gateway_run_id*, provider*, provider_account_id*, capability_receipt_ref*, idempotency_key* |
bamf.prepare_outreach_campaign | Prepare a reviewable outreach draft from an owned native master-contact or CRM-lead saved list, or prepare discovery campaign copy against an exact durable list revision and connector account. Native saved lists require a signed-in BAMF user session, CRM read and outreach write access; they create only a local draft and never call a provider, activate, queue or send. params: workspace_id*, session_id, principal_context_ref_id, idempotency_key*, native_saved_list, binding, plan |
bamf.approve_outreach_campaign | Approve the exact prepared campaign fingerprint until an explicit expiry. Approval alone never queues or sends. params: campaign_id*, workspace_id*, session_id*, principal_context_ref_id*, approval_ref*, action_fingerprint*, approval_expires_at*, idempotency_key* |
bamf.queue_outreach_campaign | Queue an approved exact campaign after its list, connector, fingerprint, and approval remain current. This state transition does not send. params: campaign_id*, workspace_id*, session_id*, principal_context_ref_id*, idempotency_key* |
bamf.cancel_outreach_campaign | Cancel a prepared, approved, or queued campaign without invoking a provider. params: campaign_id*, workspace_id*, session_id*, principal_context_ref_id*, idempotency_key* |
bamf.get_outreach_campaign_status | Read redacted state, canonical workspace/list-version/connector bindings, readiness evidence, admission evidence, and any matching provider-confirmation receipt for one tenant- and principal-scoped campaign. params: campaign_id*, workspace_id*, session_id*, principal_context_ref_id* |
bamf.admit_outreach_campaign_execution | Admit the exact queued campaign into executing state after rechecking current list, connector, fingerprint, and approval, returning canonical binding and admission evidence. This is admission only: it never calls a provider and is not proof of send or delivery. params: campaign_id*, workspace_id*, session_id*, principal_context_ref_id*, action_fingerprint*, idempotency_key* |
bamf.prepare_exact_thread_reply | Evaluate and persist a reply or follow-up against an exact provider thread/message receipt, current approval, suppression state, and evidence-backed identity. Returns prepared or stopped only and never calls or sends through a provider. params: workspace_id*, idempotency_key*, intent* |
bamf.prepare_outreach_growth_delivery | Persist a preparation-only resource giveaway, newsletter, and booking handoff for one exact eligible comment, recipient, account, thread, approval, and artifact revisions. Never calls, sends, or claims delivery through a provider. params: schema_version*, tenant_id*, workspace_id*, principal_context_ref_id*, idempotency_key*, recipient*, eligibility*, artifacts*, approval*, suppression*, delivery* |
bamf.list_jobs | List recent BAMF async jobs for a creator space. params: creator_id, status, job_type, limit |
bamf.get_job | Read one BAMF async job status and output. params: job_id* |
bamf.get_run_status | Live named status of an agent run or API job: the run, its sub-agents, tool calls, status, partial result, cost, and timing. Poll with after_sequence set to the last seen sequence to fetch only new events. Same events as the chat stream and the REST SSE stream. params: run_id*, after_sequence |
bamf.cancel_job | Cancel a queued or running BAMF async job. params: job_id* |
bamf.get_analytics_summary | Get LinkedIn Late-authoritative analytics totals for a creator space. Pass platform=x or use bamf.get_x_analytics_summary for X metrics. params: creator_id, platform |
bamf.get_creator_analytics_report | Build a native, interactive LinkedIn analytics report across every creator space the signed-in BAMF account can access. Use for creator portfolios, leaderboards, 30/60/90-day comparisons, charts, profile links, and BAMF drill-down links instead of manually calling analytics once per creator. params: days |
bamf.get_funnel_mix | Get a creator's TOF/MOF/BOF funnel mix from tagged LinkedIn posts: per-stage counts and performance, per-format stats, the resolved goal target (audience_growth 60/30/10, balanced 45/35/20, pipeline 30/45/25, launch 30/30/40, or the creator override), gaps vs target, neglected stages, best formats per stage, and a quotable gap line. Read-only. params: creator_id, days |
bamf.find_funnel_examples | Find top AI-tagged example posts for a funnel stage (and optional format) to model a draft on: inspiration library (by likes), post templates, or the creator's own posts (by impressions). Returns excerpt, stage, format, media type, and metrics. Read-only. params: stage*, format, source, creator_id, limit |
bamf.find_competitor_ads | List the longest-running competitor ads (Meta, LinkedIn, TikTok) already tracked in the creator's workspace: advertiser, headline, copy, format, days running. Longest-running is the performance proxy. Optional platform and text filter. Read-only. params: platform, q, creator_id, limit |
bamf.suggest_ad_keywords | Related keywords with monthly search volume, CPC, and competition for a topic, to pick ad targeting. Cached 14 days; a fresh lookup costs about one cent and is capped per workspace per day. Read-only. params: keyword*, country, creator_id |
bamf.list_linkedin_posts | List discovered LinkedIn-native posts for a creator with Late-authoritative official_* performance fields when available. params: creator_id, limit |
bamf.get_x_analytics_summary | Get saved X analytics totals, top posts, and latest follower/profile snapshot for a creator space. params: creator_id |
bamf.list_x_posts | List saved X post analytics rows for a creator, including impressions, likes, replies, reposts, quotes, bookmarks, clicks, engagement rate, and post URLs when available. params: creator_id, limit |
bamf.list_x_bookmarks | List synced private X bookmarks and folders for a creator so agents can generate ideas, bookmark remixes, quote drafts, replies, and resource posts from saved inspiration. params: creator_id, limit, status, folder_id, folder_name, search, since |
bamf.sync_x_analytics | Start an explicit X analytics sync for a creator after user approval. Cron normally keeps this fresh, so use only when the user asks to refresh X analytics now. params: creator_id*, native_pages, native_limit |
bamf.list_ai_analyses | List saved AI analysis reports for a creator profile and LinkedIn analytics performance. params: creator_id, limit |
bamf.create_video_project | Create a Video Studio project (viral_repurpose or talking_head) and return the artifact the BAMF work pane opens. params: creator_id*, title, template, aspect_ratio, source_url, source_asset_id, source_clip_id, caption |
bamf.generate_video_script | Read the video script brief for a project, or save the approved script, burned-in caption, and post copy back onto it. params: video_project_id*, script, caption, post_body |
bamf.narrate_video_project | Narrate a video project with the creator's own ElevenLabs voice. Requires an authenticated BAMF user session. params: video_project_id*, text, voice_id |
bamf.transcribe_video_captions | Produce or persist word-level burned-in captions for a video project via Whisper. Requires an authenticated BAMF user session when transcribing. params: video_project_id*, captions |
bamf.schedule_video_post | Schedule or publish an exported video project to LinkedIn, X, Instagram Reels, YouTube Shorts, and TikTok. Requires exact user approval of the video, copy, and platform plan. params: video_project_id*, content*, title, platforms*, video_url, thumbnail_url, scheduled_for, publish_now, timezone, approved*, idempotency_key |
bamf.get_video_analytics_summary | Read the video analytics rollup (Reels/Shorts/TikTok views, watch-through, saves) that sync-video-analytics maintains. params: creator_id, platforms |
bamf.create_job | Create an async BAMF generation/research job. Prefer typed tools such as generate_post, run_research, generate_image, and generate_carousel_pdf. params: creator_id*, job_type*, input |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.