Skip to main content
Glama
pressadvantage-mcp

pressadvantage-mcp

by hamza-shamas

pressadvantage-mcp

MCP server wrapping the Press Advantage API. Enables AI assistants (Claude Code, Claude Desktop, Cursor, etc.) to manage press releases, organizations, distributions, and more via natural language.

What it does

Once configured, you can talk to Claude naturally instead of writing API calls:

"List my organizations" "Create a sandbox press release for org 5 titled 'Acme Launches New Product'" "What state is release 123 in?" "Get the pickup URLs for release 456"

Related MCP server: wrapmcp

Requirements

  • Node.js 18+

  • A Press Advantage API key (get it from your PA account settings)

  • Claude Code CLI

Setup

1. Clone and build

git clone https://github.com/velluto/pressadvantage-mcp.git
cd pressadvantage-mcp
npm install
npm run build

2. Register with Claude Code

claude mcp add pressadvantage node /path/to/pressadvantage-mcp/dist/index.js -e PRESS_ADVANTAGE_API_KEY='your-api-key-here'

Replace /path/to/pressadvantage-mcp with the actual path where you cloned the repo.

3. Restart Claude Code

That's it. The tools are now available in any Claude Code conversation.

Testing locally (without Claude)

Use the MCP Inspector to browse and call tools directly in a browser UI:

PRESS_ADVANTAGE_API_KEY='your-api-key-here' npx @modelcontextprotocol/inspector node dist/index.js

Available tools (37 total)

Group

Tools

Organizations

list_organizations, get_organization, create_organization, update_organization, list_organization_releases

Releases

list_releases, get_release, create_release, order_written_release, revise_release, approve_release, reject_release_to_writers, cancel_release, finalize_draft_release, get_release_pickup_urls

Distributions

list_distributions, add_distribution_upgrade, upgrade_to_premium

Retargeting Pixels

list_pixels, get_pixel, create_pixel, update_pixel

Scheduled Orders

list_scheduled_orders, get_scheduled_order, create_scheduled_order, update_scheduled_order, add_scheduled_video, add_scheduled_image, add_scheduled_subject, add_scheduled_keyword, add_first_release_keyword

Sandbox (testing)

sandbox_editor_rejects, sandbox_editor_approves, sandbox_distribution_ordered, sandbox_distribution_completed, sandbox_approve_with_exception, sandbox_writers_deliver

Notes

  • Each teammate needs their own PA API key — keys are per-account

  • Sandbox tools simulate state transitions without real distribution — use them for testing

  • The server process runs locally on your machine and makes real HTTP requests to app.pressadvantage.com

Available Tools

37 tools
add_distribution_upgradeB

Add a specific distribution channel (wire) to an existing release

Inputs: release_id (required), distribution_id (required).

add_first_release_keywordA

Add a keyword specifically for the first release in a scheduled order

Inputs: keyword (required), scheduled_order_id (required), url.

add_scheduled_imageA

Attach an image to a scheduled release order

Inputs: url (required), scheduled_order_id (required), alt.

add_scheduled_keywordC

Add a keyword to a scheduled release order

Inputs: keyword (required), scheduled_order_id (required), url.

add_scheduled_subjectA

Add a subject/topic to a scheduled release order

Inputs: subject (required), scheduled_order_id (required).

add_scheduled_videoA

Attach a video to a scheduled release order

Inputs: url (required), scheduled_order_id (required), title.

approve_releaseA

Approve the content of a release that is waiting for customer approval. Optionally include edited content.

Inputs: id (required), body, title.

cancel_releaseB

Cancel a press release order

Inputs: id (required).

create_organizationC

Create a new organization

Inputs: name (required), address, about_text, twitter_id, +7 more.

create_pixelA

Create a new retargeting pixel to attach to press releases

Inputs: code (required), name (required).

create_releaseA

Create a self-written press release. The customer provides the full content. Use order_written_release instead if you want Press Advantage writers to write it.

Inputs: body (required), title (required), organization_id (required), description, +5 more.

create_scheduled_orderA

Create a new scheduled release order that automatically generates recurring press releases

Inputs: organization_id (required), active, order_type, description, +3 more.

finalize_draft_releaseB

Convert a draft release into an active order, submitting it for processing

Inputs: id (required).

get_organizationA

Get details of a single organization by ID

Inputs: id (required).

get_pixelA

Get details of a single retargeting pixel

Inputs: id (required).

get_releaseA

Get details and current state of a single press release

Inputs: id (required).

get_release_pickup_urlsA

Get the list of pickup URLs showing where this release was published across news outlets. Only available once the release is in 'completed' state.

Inputs: id (required).

get_scheduled_orderA

Get details of a single scheduled release order

Inputs: id (required).

list_distributionsA

List available distribution add-on channels for a release. Use the returned IDs with add_distribution_upgrade to add channels.

Inputs: release_id (required).

list_organization_releasesA

List all releases belonging to a specific organization

Inputs: id (required).

list_organizationsA

List all organizations in the account

Inputs: no named parameters.

list_pixelsA

List all retargeting pixels in the account

Inputs: no named parameters.

list_releasesA

List all press releases in the account

Inputs: no named parameters.

list_scheduled_ordersA

List all scheduled release orders in the account

Inputs: no named parameters.

order_written_releaseA

Order a professionally written press release. Press Advantage writers will create the content based on your brief.

Inputs: url (required), main_keyword (required), organization_id (required), notes, +7 more.

reject_release_to_writersB

Reject the release content and send it back to writers with revision instructions

Inputs: id (required), rewrite_instructions (required).

revise_releaseB

Submit revised content for a release that needs content revision

Inputs: id (required), body, title.

sandbox_approve_with_exceptionB

[SANDBOX/TESTING ONLY] Simulate an editor approving an order that has a guideline exception

Inputs: id (required).

sandbox_distribution_completedA

[SANDBOX/TESTING ONLY] Simulate distribution completing — release moves to 'completed' state

Inputs: id (required).

sandbox_distribution_orderedA

[SANDBOX/TESTING ONLY] Simulate distribution being ordered / triggered

Inputs: id (required).

sandbox_editor_approvesA

[SANDBOX/TESTING ONLY] Simulate an editor approving the release content

Inputs: id (required).

sandbox_editor_rejectsA

[SANDBOX/TESTING ONLY] Simulate an editor rejecting the release content back to the customer for revision

Inputs: id (required).

sandbox_writers_deliverA

[SANDBOX/TESTING ONLY] Simulate writers delivering content for a written-for-you release

Inputs: id (required).

update_organizationC

Update an existing organization

Inputs: id (required), name, address, about_text, +8 more.

update_pixelA

Update an existing retargeting pixel

Inputs: id (required), code, name.

update_scheduled_orderB

Update an existing scheduled release order

Inputs: id (required), active, order_type, description, +4 more.

upgrade_to_premiumB

Upgrade an existing release to premium distribution, adding Yahoo Finance and other premium outlets

Inputs: release_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 37 tools

    Disambiguation4/5

    Most tools are clearly separated by resource and action, such as releases, scheduled orders, organizations, and pixels. Potential overlaps like create_release vs order_written_release are explicitly distinguished, and sandbox tools are clearly labeled as testing-only. The main challenge is the sheer number of options, but each has a distinct purpose.

    Naming Consistency3/5

    The naming pattern is mostly verb_noun (list_releases, create_organization, update_pixel), but there are notable deviations. For example, sandbox_editor_rejects and sandbox_editor_approves use a noun-verb structure while sandbox_approve_with_exception uses a verb-first structure, and add_first_release_keyword is a verbose variant of add_scheduled_keyword. This mixed style is still readable but not fully consistent.

    Tool Count2/5

    With 37 tools, the server has an excessive number for a single domain, exceeding the typical well-scoped range of 3-15 tools. The 5 sandbox simulation tools add bulk and are only for testing, further inflating the count. This makes the tool surface feel heavy and difficult for agents to navigate efficiently.

    Completeness4/5

    The toolset provides extensive coverage of press release management: full lifecycle for releases (create, get, approve, reject, revise, cancel, finalize), scheduled orders, organization management, pixels, distribution upgrades, and pickup URLs. Minor gaps include missing delete operations for scheduled orders and releases (though cancel exists), but the core workflows are solid.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers