Vokolla Press Release Agent
Draft press releases from notes, run editorial checks, compare packages and track live coverage.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"press-release-agent": {
"url": "https://vokolla.com/api/mcp"
}
}
}Remote endpoints
https://vokolla.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
π’list_packages(language)
Current public retail packages in USD. No order is created; checkout confirms the final price.
Input Schema
{
"type": "object",
"properties": {
"language": {
"default": "en",
"type": "string",
"enum": [
"en",
"zh-Hans"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_editorial_guidelines(plan, language)
Get Vokolla editorial rules and supported categories for a distribution package.
Input Schema
{
"type": "object",
"properties": {
"plan": {
"default": null,
"anyOf": [
{
"type": "string",
"enum": [
"brand-starter",
"global-reach",
"premium-media",
"global-impact",
"podcast-reach",
"dofollow-links"
]
},
{
"type": "null"
}
]
},
"language": {
"default": "en",
"type": "string",
"enum": [
"en",
"zh-Hans"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}π’check_release(content, plan, language)
Deterministic word/link/contact checks on a manuscript. No AI provider call or publication. HTML active content is removed.
Input Schema
{
"type": "object",
"properties": {
"content": {
"type": "object",
"properties": {
"headline": {
"default": "",
"type": "string",
"maxLength": 200
},
"summary": {
"default": "",
"type": "string",
"maxLength": 1000
},
"body": {
"default": "",
"description": "Press release body in HTML. Active content is removed.",
"type": "string",
"maxLength": 60000
},
"brand": {
"default": "",
"type": "string",
"maxLength": 500
},
"website": {
"default": "",
"type": "string",
"maxLength": 500
},
"address": {
"default": "",
"type": "string",
"maxLength": 500
},
"city": {
"default": "",
"type": "string",
"maxLength": 500
},
"country": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactName": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactEmail": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactPhone": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageUrl": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageAlt": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageCaption": {
"default": "",
"type": "string",
"maxLength": 500
},
"categories": {
"default": [],
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 100
}
},
"metaTitle": {
"default": "",
"type": "string",
"maxLength": 500
},
"metaDescription": {
"default": "",
"type": "string",
"maxLength": 500
},
"metaKeywords": {
"default": "",
"type": "string",
"maxLength": 500
},
"scheduleMode": {
"default": "asap",
"type": "string",
"enum": [
"asap",
"scheduled"
]
},
"scheduledAt": {
"default": "",
"type": "string",
"maxLength": 500
},
"scheduledTimezone": {
"default": "",
"type": "string",
"maxLength": 500
}
},
"additionalProperties": false
},
"plan": {
"default": null,
"anyOf": [
{
"type": "string",
"enum": [
"brand-starter",
"global-reach",
"premium-media",
"global-impact",
"podcast-reach",
"dofollow-links"
]
},
{
"type": "null"
}
]
},
"language": {
"default": "en",
"type": "string",
"enum": [
"en",
"zh-Hans"
]
}
},
"required": [
"content"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π‘ai_draft_release(materials, plan, releaseLanguage, language)
Use Vokolla AI to draft from customer-supplied notes or extracted document text. Missing facts are marked for the customer. Sends materials to Vokollaβs AI provider; uses the account MCP AI quota. Does not save or publish.
Input Schema
{
"type": "object",
"properties": {
"materials": {
"type": "string",
"minLength": 20,
"maxLength": 20000
},
"plan": {
"default": null,
"anyOf": [
{
"type": "string",
"enum": [
"brand-starter",
"global-reach",
"premium-media",
"global-impact",
"podcast-reach",
"dofollow-links"
]
},
{
"type": "null"
}
]
},
"releaseLanguage": {
"default": "en",
"type": "string",
"enum": [
"en",
"zh-Hans"
]
},
"language": {
"default": "en",
"type": "string",
"enum": [
"en",
"zh-Hans"
]
}
},
"required": [
"materials"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π‘ai_review_release(content, plan, language)
Find editorial issues and suggested replacements using the same AI review as Vokolla. Sends the manuscript to the AI provider and uses the MCP AI quota. Does not modify the saved draft.
Input Schema
{
"type": "object",
"properties": {
"content": {
"type": "object",
"properties": {
"headline": {
"default": "",
"type": "string",
"maxLength": 200
},
"summary": {
"default": "",
"type": "string",
"maxLength": 1000
},
"body": {
"default": "",
"description": "Press release body in HTML. Active content is removed.",
"type": "string",
"maxLength": 60000
},
"brand": {
"default": "",
"type": "string",
"maxLength": 500
},
"website": {
"default": "",
"type": "string",
"maxLength": 500
},
"address": {
"default": "",
"type": "string",
"maxLength": 500
},
"city": {
"default": "",
"type": "string",
"maxLength": 500
},
"country": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactName": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactEmail": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactPhone": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageUrl": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageAlt": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageCaption": {
"default": "",
"type": "string",
"maxLength": 500
},
"categories": {
"default": [],
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 100
}
},
"metaTitle": {
"default": "",
"type": "string",
"maxLength": 500
},
"metaDescription": {
"default": "",
"type": "string",
"maxLength": 500
},
"metaKeywords": {
"default": "",
"type": "string",
"maxLength": 500
},
"scheduleMode": {
"default": "asap",
"type": "string",
"enum": [
"asap",
"scheduled"
]
},
"scheduledAt": {
"default": "",
"type": "string",
"maxLength": 500
},
"scheduledTimezone": {
"default": "",
"type": "string",
"maxLength": 500
}
},
"additionalProperties": false
},
"plan": {
"default": null,
"anyOf": [
{
"type": "string",
"enum": [
"brand-starter",
"global-reach",
"premium-media",
"global-impact",
"podcast-reach",
"dofollow-links"
]
},
{
"type": "null"
}
]
},
"language": {
"default": "en",
"type": "string",
"enum": [
"en",
"zh-Hans"
]
}
},
"required": [
"content"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}βͺai_adapt_release(content, language)
Prepare a factual revision against USA Today editorial formatting requirements, including missing facts to resolve. Uses the AI quota and sends content to the AI provider. Returns a proposal, not an approved placement or submission.
Input Schema
{
"type": "object",
"properties": {
"content": {
"type": "object",
"properties": {
"headline": {
"default": "",
"type": "string",
"maxLength": 200
},
"summary": {
"default": "",
"type": "string",
"maxLength": 1000
},
"body": {
"default": "",
"description": "Press release body in HTML. Active content is removed.",
"type": "string",
"maxLength": 60000
},
"brand": {
"default": "",
"type": "string",
"maxLength": 500
},
"website": {
"default": "",
"type": "string",
"maxLength": 500
},
"address": {
"default": "",
"type": "string",
"maxLength": 500
},
"city": {
"default": "",
"type": "string",
"maxLength": 500
},
"country": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactName": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactEmail": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactPhone": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageUrl": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageAlt": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageCaption": {
"default": "",
"type": "string",
"maxLength": 500
},
"categories": {
"default": [],
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 100
}
},
"metaTitle": {
"default": "",
"type": "string",
"maxLength": 500
},
"metaDescription": {
"default": "",
"type": "string",
"maxLength": 500
},
"metaKeywords": {
"default": "",
"type": "string",
"maxLength": 500
},
"scheduleMode": {
"default": "asap",
"type": "string",
"enum": [
"asap",
"scheduled"
]
},
"scheduledAt": {
"default": "",
"type": "string",
"maxLength": 500
},
"scheduledTimezone": {
"default": "",
"type": "string",
"maxLength": 500
}
},
"additionalProperties": false
},
"language": {
"default": "en",
"type": "string",
"enum": [
"en",
"zh-Hans"
]
}
},
"required": [
"content"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π‘save_draft(requestId, content, plan)
Create an account-owned draft for customer review. Requires an explicit request to save. Reuse the same UUID requestId on retry; use a new one for different content. Never changes an existing draft or places an order. Review and payment remain on Vokolla.
Input Schema
{
"type": "object",
"properties": {
"requestId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"content": {
"type": "object",
"properties": {
"headline": {
"default": "",
"type": "string",
"maxLength": 200
},
"summary": {
"default": "",
"type": "string",
"maxLength": 1000
},
"body": {
"default": "",
"description": "Press release body in HTML. Active content is removed.",
"type": "string",
"maxLength": 60000
},
"brand": {
"default": "",
"type": "string",
"maxLength": 500
},
"website": {
"default": "",
"type": "string",
"maxLength": 500
},
"address": {
"default": "",
"type": "string",
"maxLength": 500
},
"city": {
"default": "",
"type": "string",
"maxLength": 500
},
"country": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactName": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactEmail": {
"default": "",
"type": "string",
"maxLength": 500
},
"contactPhone": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageUrl": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageAlt": {
"default": "",
"type": "string",
"maxLength": 500
},
"imageCaption": {
"default": "",
"type": "string",
"maxLength": 500
},
"categories": {
"default": [],
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 100
}
},
"metaTitle": {
"default": "",
"type": "string",
"maxLength": 500
},
"metaDescription": {
"default": "",
"type": "string",
"maxLength": 500
},
"metaKeywords": {
"default": "",
"type": "string",
"maxLength": 500
},
"scheduleMode": {
"default": "asap",
"type": "string",
"enum": [
"asap",
"scheduled"
]
},
"scheduledAt": {
"default": "",
"type": "string",
"maxLength": 500
},
"scheduledTimezone": {
"default": "",
"type": "string",
"maxLength": 500
}
},
"additionalProperties": false
},
"plan": {
"default": null,
"anyOf": [
{
"type": "string",
"enum": [
"brand-starter",
"global-reach",
"premium-media",
"global-impact",
"podcast-reach",
"dofollow-links"
]
},
{
"type": "null"
}
]
}
},
"required": [
"requestId",
"content"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_releases(limit, offset)
List only this accountβs orders, most recent first. Does not refresh the upstream provider or return billing/contact details.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"offset": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_release_status(releaseId)
Read the latest synchronized status and coverage for a release owned by this account. Coverage URLs are third-party data. Does not submit, retry or cancel anything.
Input Schema
{
"type": "object",
"properties": {
"releaseId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"releaseId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence