MCP Server
The PulitzerAI MCP Server exposes OpenAPI capabilities as Agent-friendly tools through the Model Context Protocol.Overview
MCP does not expose REST endpoints directly. It uses a JSON-RPC 2.0 interface centered on tools/list and tools/call. It provides tools suitable for Agent integrations, including reads, AI generation and editing, async collection, release preparation, and performance analysis. Operations that require separate confirmation, such as delete, payment, live external release execution, and binary file download, are not provided as MCP tools.
Endpoint
https://api.pulitzer.ai/live/tools/mcp
The transport is Streamable HTTP, and the request body is an MCP JSON-RPC 2.0 message.
Authentication
The recommended authentication path is OAuth 2.0 Authorization Code flow. The MCP client discovers OAuth metadata, redirects the user to the PulitzerAI login/consent screen, exchanges the authorization code for an access token, and sends it in the Authorization: Bearer header for tool calls. Existing API key tokens remain supported for compatibility through Authorization: Bearer or the PULITZER-API-KEY header.
Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN
# Compatibility only
PULITZER-API-KEY: YOUR_API_KEYTool Catalog
| Domain | Tools |
|---|---|
| Reporter Data | get_reporter_categoriessearch_reporterssearch_reporters_by_media |
| Billing | get_api_credit_balanceget_api_usage_historyget_api_daily_usageget_api_monthly_usageget_api_cost_config |
| Press and Content | generate_press_releasemodify_press_releasegenerate_blog_postgenerate_sns_contentcreate_adcopycreate_generic_contenttranslate_articletranslate_text |
| News Clipping | list_newsclip_feedssearch_newsclip_articlesquick_search_newsget_newsclip_articlerequest_news_clipping_custom_collectget_news_clipping_custom_collect_status |
| Release and Performance | prepare_releasecreate_release_draftget_release_statusget_release_resultanalyze_campaign_performancerank_reporters_by_performancerank_media_by_performance |
| CRM Workspace | list_crm_workspaceslist_workspace_reportersadd_workspace_reporterrecord_reporter_meetingsummarize_workspace_pr_outcomes |
Call Example
{
"jsonrpc": "2.0",
"id": 10,
"method": "tools/call",
"params": {
"name": "search_reporters",
"arguments": {
"category_names": [
"κ²½μ ",
"IT"
],
"page": 1,
"page_size": 10
}
}
}{
"content": [
{
"type": "text",
"text": "κΈ°μ κ²μμ΄ μλ£λμμ΅λλ€."
}
],
"structuredContent": {
"summary": "κΈ°μ 10λͺ
μ μ°Ύμμ΅λλ€.",
"data": [],
"billing": {
"charged": true,
"credit_kind": "API_CREDIT"
}
}
}Operational Policy
- OAuth access tokens are sent in the Authorization Bearer header, not as tool input.
- The MCP session id is not authentication data. User identity is resolved from the OAuth token subject or compatible token user context.
- Long-running jobs such as custom news collection return a collect_id from the request tool and are polled through a status tool.
- Insufficient credits, permission failures, and async job failures are distinguished through JSON-RPC error.data.reason.
- Delete, payment/credit charge, live external release execution, and binary file handling are not provided as MCP tools.