MCP tools reference

~100 tools organized by feature area. All tools return formatted strings.

MCP tools reference

~100 tools organized by feature area. All tools return formatted strings.

Organizations

pressroom_list_orgs

List all organizations.

pressroom_list_orgs()

pressroom_get_org

Get details for a specific organization including settings and team.

pressroom_get_org(org_id: int)

Core pipeline

pressroom_scout

Run the scout — pull signals from GitHub, HN, Reddit, RSS and other configured sources.

pressroom_scout(org_id: int, since_hours: int = 24)

pressroom_generate

Generate content from current signals. Runs brief → content → humanizer pipeline.

pressroom_generate(org_id: int, channels: list[str] | None = None)

Channels: "linkedin", "blog", "x_thread", "facebook", "release_email", "newsletter", "yt_script"

pressroom_approve

Approve content items, moving them from queued to approved.

pressroom_approve(org_id: int, content_ids: list[int])

pressroom_publish

Publish all approved content to destinations.

pressroom_publish(org_id: int)

pressroom_full_pipeline

Run scout + generate in one call. Does NOT auto-approve.

pressroom_full_pipeline(org_id: int, channels: list[str] | None = None)

Content

pressroom_list_content

List content items filtered by status.

pressroom_list_content(org_id: int, status: str = "queued", limit: int = 50)

Status values: "queued", "approved", "published", "spiked", "" (all)

pressroom_get_content

Get full content item including body text.

pressroom_get_content(content_id: int)

pressroom_spike_content

Spike (reject) content items.

pressroom_spike_content(org_id: int, content_ids: list[int])

pressroom_edit_content

Edit body text or headline.

pressroom_edit_content(org_id: int, content_id: int, body: str = "", headline: str = "")

pressroom_humanize_content

Run the humanizer — removes AI patterns, adds voice.

pressroom_humanize_content(org_id: int, content_id: int)

pressroom_schedule_content

Schedule for future auto-publish.

pressroom_schedule_content(org_id: int, content_id: int, publish_at: str)

publish_at is an ISO datetime string (e.g. "2025-01-15T09:00:00Z").


Content performance

pressroom_content_performance

Get post-publish performance metrics (views, likes, comments, shares) for published content.

pressroom_content_performance(org_id: int)

pressroom_fetch_performance

Trigger a fresh fetch of performance metrics from the publishing platform for a specific content item.

pressroom_fetch_performance(content_id: int)

Signals

pressroom_list_signals

List current signals for an org.

pressroom_list_signals(org_id: int, limit: int = 50)

Stories

pressroom_list_stories

List editorial stories.

pressroom_list_stories(org_id: int, limit: int = 20)

pressroom_create_story

Create an editorial story with signals and angle.

pressroom_create_story(
    org_id: int,
    title: str,
    angle: str = "",
    editorial_notes: str = "",
    signal_ids: list[int] | None = None
)

pressroom_get_story

Get a story with all attached signals and notes.

pressroom_get_story(org_id: int, story_id: int)

pressroom_add_signal_to_story

Attach a signal to a story with editor notes.

pressroom_add_signal_to_story(
    org_id: int,
    story_id: int,
    signal_id: int,
    editor_notes: str = ""
)

pressroom_generate_from_story

Generate content from a curated story.

pressroom_generate_from_story(
    org_id: int,
    story_id: int,
    channels: list[str] | None = None,
    team_member_id: int | None = None
)

pressroom_discover_signals

AI-powered signal discovery for a story.

pressroom_discover_signals(org_id: int, story_id: int, mode: str = "web")

Wire (company-owned sources)

pressroom_list_wire_sources

List Wire sources — GitHub repos, blog RSS, changelogs.

pressroom_list_wire_sources(org_id: int)

pressroom_create_wire_source

Create a Wire source.

pressroom_create_wire_source(
    org_id: int,
    type: str,
    name: str,
    config: dict | None = None
)

Types: "github_release", "github_commit", "rss", "changelog"

Config examples:

  • GitHub: {"repo": "owner/repo"}
  • RSS: {"url": "https://blog.example.com/rss"}

pressroom_fetch_wire

Fetch new signals from Wire sources.

pressroom_fetch_wire(org_id: int, wire_source_id: int | None = None)

pressroom_list_wire_signals

List signals from the Wire.

pressroom_list_wire_signals(org_id: int, limit: int = 40, type: str = "")

SIGINT sources (global library)

pressroom_list_sources

List the global source library.

pressroom_list_sources(type: str = "", active_only: bool = True)

Types: "reddit", "hackernews", "rss", "x_search", "trend"

pressroom_create_source

Create a global source.

pressroom_create_source(
    type: str,
    name: str,
    config: dict | None = None,
    category_tags: list[str] | None = None,
    fetch_interval_hours: int = 6
)

Config examples:

  • Reddit: {"subreddit": "programming"}
  • HN: {"keywords": ["AI", "LLM"]}
  • RSS: {"url": "https://feed.example.com"}

pressroom_sweep_sources

Crawl sources and pull raw signals into the feed.

pressroom_sweep_sources(org_id: int, source_ids: list[int] | None = None)

pressroom_get_feed

Get the SIGINT feed with relevance scores.

pressroom_get_feed(org_id: int, limit: int = 40, min_score: float | None = None)

Settings

pressroom_get_settings

Get all settings (masked).

pressroom_get_settings(org_id: int)

pressroom_update_settings

Update settings.

pressroom_update_settings(org_id: int, settings: dict[str, str])

Common keys:

  • Voice: voice_persona, voice_audience, voice_tone, voice_brand_keywords
  • Company: onboard_company_name, onboard_industry, onboard_topics
  • Scout: scout_github_repos, scout_hn_keywords, scout_subreddits, scout_rss_feeds

pressroom_connection_status

Check all service connections.

pressroom_connection_status(org_id: int)

SEO audit

pressroom_audit

Run SEO audit on a domain.

pressroom_audit(org_id: int, domain: str = "", deep: bool = True)

pressroom_audit_history

Past audit results.

pressroom_audit_history(org_id: int, audit_type: str = "", limit: int = 20)

SEO PR pipeline

pressroom_seo_pr_run

Start an automated audit → fix → PR pipeline.

pressroom_seo_pr_run(
    org_id: int,
    repo_url: str,
    domain: str = "",
    base_branch: str = "main"
)

pressroom_seo_pr_list

List SEO PR runs.

pressroom_seo_pr_list(org_id: int)

pressroom_seo_pr_status

Get run details — plan, PR URL, deploy log.

pressroom_seo_pr_status(org_id: int, run_id: int)

Competitive intelligence

pressroom_competitive_scan

Scan competitor URLs.

pressroom_competitive_scan(org_id: int, competitor_urls: list[str])

pressroom_competitive_results

Get stored results.

pressroom_competitive_results(org_id: int)

AI visibility

pressroom_ai_visibility_scan

Scan AI models for citations.

pressroom_ai_visibility_scan(org_id: int)

pressroom_ai_visibility_results

Get citation results.

pressroom_ai_visibility_results(org_id: int)

pressroom_ai_visibility_questions

Set tracking questions.

pressroom_ai_visibility_questions(org_id: int, questions: list[str])

Analytics

pressroom_analytics

Full dashboard — signals, content, approval rate, top signals.

pressroom_analytics(org_id: int)

Onboarding

pressroom_onboard

Crawl a domain and synthesize a company profile.

pressroom_onboard(org_id: int, domain: str, extra_context: str = "")

pressroom_onboard_apply

Save a profile to org settings.

pressroom_onboard_apply(org_id: int, profile: dict)

pressroom_onboard_status

Check onboarding completeness.

pressroom_onboard_status(org_id: int)

Team

pressroom_list_team

List team members.

pressroom_list_team(org_id: int)

pressroom_add_team_member

Add a team member.

pressroom_add_team_member(
    org_id: int,
    name: str,
    title: str = "",
    bio: str = "",
    email: str = "",
    linkedin_url: str = "",
    expertise_tags: list[str] | None = None
)

pressroom_discover_team

Auto-discover from GitHub and company pages.

pressroom_discover_team(org_id: int)

pressroom_update_team_member

Update a team member’s details.

pressroom_update_team_member(org_id: int, member_id: int, name: str = "", title: str = "", bio: str = "")

pressroom_delete_team_member

Remove a team member.

pressroom_delete_team_member(org_id: int, member_id: int)

pressroom_analyze_voice

Run voice analysis on a team member’s writing samples to generate a voice profile.

pressroom_analyze_voice(org_id: int, member_id: int)

Link a team member to their GitHub profile.

pressroom_link_github(org_id: int, member_id: int, github_username: str)

pressroom_generate_gist

Generate a GitHub gist from content or a brief using a team member’s voice.

pressroom_generate_gist(org_id: int, member_id: int, content_id: int | None = None, brief: str = "")

pressroom_publish_gist

Publish a generated gist to the team member’s linked GitHub account.

pressroom_publish_gist(org_id: int, member_id: int, gist_id: str)

Email

pressroom_compose_email

Compose a draft from a content item.

pressroom_compose_email(org_id: int, content_id: int)

pressroom_list_email_drafts

List email drafts.

pressroom_list_email_drafts(org_id: int, status: str = "", limit: int = 20)

YouTube

pressroom_youtube_script

Generate a YouTube script.

pressroom_youtube_script(org_id: int, content_id: int | None = None, brief: str = "")

pressroom_youtube_list

List scripts.

pressroom_youtube_list(org_id: int)

pressroom_youtube_export

Export as Remotion JSON package.

pressroom_youtube_export(script_id: int)

pressroom_youtube_render

Trigger Remotion video rendering for a script.

pressroom_youtube_render(script_id: int)

pressroom_youtube_upload_footage

Upload raw footage or b-roll to associate with a script.

pressroom_youtube_upload_footage(script_id: int, file_path: str)

pressroom_youtube_publish_rendered

Publish the rendered video to YouTube with script metadata.

pressroom_youtube_publish_rendered(script_id: int)

pressroom_youtube_render_chyron

Render a standalone brand chyron/lower-third overlay.

pressroom_youtube_render_chyron(text: str, style: str = "default")

Skills

pressroom_list_skills

List available skills. Core skills marked as WIRED.

pressroom_list_skills()

pressroom_get_skill

Read a skill’s prompt content.

pressroom_get_skill(skill_name: str)

pressroom_invoke_skill

Run text through a skill’s Claude prompt.

pressroom_invoke_skill(skill_name: str, input_text: str)

Blog management

pressroom_blog_scrape

Scrape an existing blog and import posts into the content library.

pressroom_blog_scrape(org_id: int, url: str)

pressroom_blog_list

List scraped/imported blog posts.

pressroom_blog_list(org_id: int, limit: int = 50)

pressroom_blog_delete

Delete a blog post from the library.

pressroom_blog_delete(org_id: int, post_id: int)

Google Search Console

pressroom_gsc_status

Check GSC connection status and accessible properties.

pressroom_gsc_status(org_id: int)

pressroom_gsc_properties

List available GSC properties (domains and URL prefixes).

pressroom_gsc_properties(org_id: int)

pressroom_gsc_analytics

Query search performance data (clicks, impressions, CTR, position).

pressroom_gsc_analytics(org_id: int, start_date: str = "", end_date: str = "", dimensions: str = "query", row_limit: int = 100)

pressroom_gsc_inspect

Inspect a URL’s index status, crawl info, and mobile usability.

pressroom_gsc_inspect(org_id: int, url: str)

pressroom_gsc_sitemaps

List submitted sitemaps and their processing status.

pressroom_gsc_sitemaps(org_id: int)

pressroom_gsc_summary

Get high-level search summary (total clicks, impressions, avg CTR, avg position).

pressroom_gsc_summary(org_id: int)

pressroom_gsc_blog_performance

Get blog-specific search analytics with per-post breakdowns.

pressroom_gsc_blog_performance(org_id: int, blog_url: str = "", days: int = 28)

Site properties

pressroom_list_properties

List SEO site properties configured for auditing.

pressroom_list_properties(org_id: int)

pressroom_create_property

Create a site property.

pressroom_create_property(org_id: int, domain: str, blog_url: str = "", label: str = "")

pressroom_update_property

Update a site property.

pressroom_update_property(org_id: int, property_id: int, domain: str = "", blog_url: str = "", label: str = "")

pressroom_delete_property

Delete a site property.

pressroom_delete_property(org_id: int, property_id: int)

Brand

pressroom_brand_scrape

Auto-discover brand assets (logos, colors, fonts) from a domain crawl.

pressroom_brand_scrape(org_id: int, domain: str)

pressroom_brand_get

Get discovered brand data for an organization.

pressroom_brand_get(org_id: int)

Assets

pressroom_list_assets

List company assets (logos, images, brand materials).

pressroom_list_assets(org_id: int, type: str = "")

pressroom_create_asset

Add a company asset.

pressroom_create_asset(org_id: int, asset_type: str, url: str, label: str = "", description: str = "")

pressroom_delete_asset

Remove a company asset.

pressroom_delete_asset(org_id: int, asset_id: int)

Medium

pressroom_medium_publish

Publish a content item to Medium as a draft.

pressroom_medium_publish(org_id: int, content_id: int, publish_status: str = "draft")

Slack

pressroom_slack_test

Send a test message to verify the Slack webhook.

pressroom_slack_test(org_id: int)

pressroom_slack_notify

Send a Slack notification for a specific content item.

pressroom_slack_notify(org_id: int, content_id: int)

pressroom_slack_notify_queue

Push the current content queue summary to Slack.

pressroom_slack_notify_queue(org_id: int)

Token usage

pressroom_usage

Get API token consumption by operation type.

pressroom_usage(org_id: int)

pressroom_usage_history

Get token usage over time.

pressroom_usage_history(org_id: int, days: int = 30)

Content import

pressroom_import_paste

Import pasted text as a content item.

pressroom_import_paste(org_id: int, text: str, title: str = "", channel: str = "blog")

Activity log

pressroom_log

Get the war room log of platform actions.

pressroom_log(org_id: int, limit: int = 100, action: str = "")

Company audit

pressroom_company_audit

Run a comprehensive company audit covering SEO, brand presence, and AI visibility.

pressroom_company_audit(org_id: int)

Scoreboard

pressroom_scoreboard

All orgs ranked by SEO score and activity.

pressroom_scoreboard()

pressroom_team_activity

Per-team-member activity stats for an organization.

pressroom_team_activity(org_id: int)

Data sources

pressroom_list_datasources

List configured external data source connections.

pressroom_list_datasources(org_id: int)

pressroom_create_datasource

Create an external data source connection.

pressroom_create_datasource(org_id: int, name: str, type: str, config: dict)

Types: "mcp", "rest_api"

pressroom_delete_datasource

Delete a data source.

pressroom_delete_datasource(org_id: int, datasource_id: int)

pressroom_test_datasource

Test connectivity to a configured data source.

pressroom_test_datasource(org_id: int, datasource_id: int)