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)
pressroom_link_github
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)
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)