The MCP tool directory.
Each row is one tool from one provider. Tools sharing a name across providers (e.g. search) are listed separately because they aren't interchangeable.
[ 83 tools indexed ]
[ all tools ]
30 / 83
get_content_generation_status
[ remote ] Account requiredReturns the current status of a content-generation job: phase, progress (0–1), last heartbeat timestamp, started timestamp, and error message if the job failed. Use this to poll a generate_content_from_item / generate_content_from_idea run without re-reading the full article body. Either jobId or contentItemId is required: with jobId, returns that specific job; with contentItemId, returns the most recent ContentGenerationJob for that item (active job if one exists, otherwise the most recent completed/failed one). Phase progression: Research → TextGeneration → EditorialReview → ImageDescription → ImageGeneration → Finalizing → (Success).
get_content_guidelines
[ remote ] Account requiredReturns the brand's per-language content guidelines (formality, voice, style, glossary). Pass 'language' to fetch one language's guideline, or omit to list all. These guidelines are injected into content-generation and LocalizedRewrite-translation prompts.
get_content_item
[ remote ] Account requiredGets a content item with its full markdown body. The cited sources behind the article and the date its research was gathered always come back; the research notes themselves are long, so ask for them with includeResearchNotes when you need to check where a claim came from.
get_content_plan
[ remote ] Account requiredGets full content plan details including all workstreams and ideas.
get_image_dimensions
[ remote ] Account requiredReturns the width and height of an image. Useful before cropping to know the valid crop area.
get_invoice
[ remote ] Account requiredGet one invoice with line items, totals, status and — for drafts — effectiveFormat plus eInvoiceIssues[]: exactly what currently blocks finalize_invoice (empty list = ready to finalize). Response: { invoice { id, invoiceNumber, documentType, status, customerId, customerName, lineItems[], netTotal, taxTotal, grossTotal, format, effectiveFormat, eInvoiceIssues[], hasDocument, sentAt, paidAt, ... } }. Errors: { error: { code: 'not_found', ... } }.
get_invoice_document
[ remote ] Account requiredDownload the stored, immutable e-invoice artifact of a finalized invoice. XRechnung invoices return the full XML inline (field xml); ZUGFeRD/Factur-X invoices return the PDF/A-3 as base64 (field pdfBase64). Drafts have no document — finalize_invoice first. Response: { invoiceNumber, format, fileName, mimeType, xml?, pdfBase64? }. Errors: { error: { code: 'not_found' | 'invalid_state', ... } }.
get_monitoring_results
[ remote ] Account requiredGets the latest monitoring results for a brand — aggregated sentiment, mention rank, and share of voice per provider and overall.
get_research_dossier
[ remote ] Account requiredReads a research dossier: its status, its claims with the source URLs and dates behind them, where the sources disagree, what the research could not settle, and the primary research it suggests the user do themselves. Cite claims by their id when writing briefs or ideas — a claim id resolves to a URL and a date, which is what makes 'based on several recent sources' checkable rather than a claim about the article. Pass planId + workstreamId instead of dossierId to look up a workstream's dossier.
get_traffic_analytics
[ remote ] Account requiredGets website traffic analytics with period-over-period comparison. Returns current and previous period metrics (events, sessions, visitors, pageviews) and trends.
get_visibility_snapshot
[ remote ] Account requiredOne-call join of AI visibility, site traffic, and the latest digest. Reads stored data only — no LLM, no DataForSEO, does not spend a cluster. The 'answer' field is the sentence to read; the rest is backing numbers. Pass brandId, or brandName to resolve via find.
get_visual_style
[ remote ] Account requiredReturns the brand's visual style — the per-brand defaults that flow into every generate_image call. Fields: style, colorPalette, mood, motif, lighting, composition, doNot, additionalInstructions, defaultAspectRatio, defaultModel, defaultImagePrompt. Use this before generate_image to know what's already configured so per-call overrides don't need to re-state the brand voice. Returns null when no visual style is set.
link_translations
[ remote ] Account requiredLinks two or more content items as translations of the same content by merging them into a single TranslationGroupId. After linking, the public slug-lookup endpoint returns them as siblings so consumers can emit hreflang alternates. All items must belong to the same brand. Existing siblings of any input item are pulled into the merged group automatically (transitive merge). If an input item already has a different language sibling that duplicates one of the other inputs, the call fails with a conflict.
list_brands
[ remote ] Account requiredLists all brands accessible to the current tenant with their relationship type.
list_categories
[ remote ] Account requiredLists content categories for a brand. Categories are used to organize published articles. Returns both the public 'description' (served as the category page meta description) and the private 'internalNotes' (planner-facing strategy/positioning copy, never served publicly).
list_content_guidelines
[ remote ] Account requiredCheap summary of which languages have content guidelines configured for a brand and how complete each is (no glossary entries, no full text). Use this to plan localization passes before fetching full guideline bodies via get_content_guidelines.
list_content_items
[ remote ] Account requiredLists content items (articles) for a brand with pagination. Excludes the full body content for performance — use get_content_item to read the full article.
list_content_plans
[ remote ] Account requiredLists content plans for a brand, optionally filtered by status.
list_customers
[ remote ] Account requiredList or search the account's customers (invoice recipients). Pass `search` for a case-insensitive name match, or `email` for an exact email lookup — always search before creating a customer to avoid duplicates. Response: { customers[] { id, name, email, phone, vatId, leitwegId, buyerReference, street, city, postalCode, country, language, preferredInvoiceFormat, notes }, count }. An empty customers[] is a valid result, not an error. Errors: { error: { code: 'bad_input', field, message } }.
list_invoices
[ remote ] Account requiredList invoices, newest first, optionally filtered by status and/or customer. Use get_invoice for line items and draft readiness. Response: { invoices[] { id, invoiceNumber, documentType ('invoice'|'creditNote'), status, customerId, invoiceDate, dueDate, currency, grossTotal, format, sentAt, paidAt }, page, pageSize, count }. An empty invoices[] is a valid result. Errors: { error: { code: 'bad_input', ... } }.
list_monitored_queries
[ remote ] Account requiredLists all monitored AI visibility prompts for a brand.
list_prompt_industries
[ remote ] Account requiredLists the values a prompt's 'industry' may take for a brand, best granularity first. These are the brand's own categories and industries — the field is a report grouping key, not a free-text label, so anything outside this list is snapped into it.
list_research_dossiers
[ remote ] Account requiredLists a brand's research dossiers, newest first, with their status and how much evidence each holds.
list_supported_marketplaces
[ remote ] Account requiredLists the Mirakl marketplaces Optivise can optimise product listings for. Use a returned id as the marketplaceId when assessing or optimising a listing.
mark_invoice_paid
[ remote ] Account requiredMark a finalized, sent or overdue invoice as paid (sets paidAt to now). Idempotent: calling it on an already-paid invoice returns the invoice unchanged. Undo is available in the Monego app if needed. Response: { invoice { status:'paid', paidAt, ... } }. Errors: { error: { code: 'invalid_state' | 'not_found', ... } }.
propose_ideas_from_research
[ remote ] Account requiredExpensive LLM job — does not spend a researched cluster. Proposes a workstream's articles from its research dossier and writes them into the workstream as status=Idea. Each idea cites the claim ids it is built on, states its angle, takes a distinct shape, and targets a reading level. Ideas that cite no claim, cite only one publisher, repeat a shape or angle already taken, or reach for template phrasing are rejected by code and regenerated once. Existing ideas that anyone has acted on — approved, briefed, annotated or already written — are kept; untouched proposals are replaced. Runs automatically at the end of deep research; call it directly to re-propose from research already paid for.
publish_workstream
[ remote ] Account requiredPublishes all ready articles in a workstream at once. Cross-links between articles in the cluster are preserved (not stripped). Articles must be ReadyForReview and already reviewed in the Claims drawer. Unreviewed drafts are skipped.
rediscover_brand
[ remote ] Account requiredRe-run AI-powered brand discovery. Crawls the brand website and uses an LLM to refresh competitors, topics, categories, markets, keywords, and AI analysis notes. Expensive LLM job — does not spend a researched cluster. Requires the brand to have a website URL and at least one industry.
research_keywords
[ remote ] Account requiredDataForSEO lookup — cheap, does not spend a researched cluster. Look up search volume, keyword difficulty, CPC, and competition for a list of seed keywords via DataForSEO. Use this to validate or expand the localized keyword set for a brand+language. 'country' is an ISO 3166-1 alpha-2 country code (e.g. 'US', 'DE', 'IT'); defaults to the brand's default country. 'language' defaults to the brand's default language. Returns 'results' for keywords that resolved + 'failures' for keywords DataForSEO dropped (no record returned, task error, etc.). Empty 'results' is genuine no-data only when 'failures' is also empty.
resize_crop_image
[ remote ] Account requiredResizes an image to exact dimensions by cropping to fill (no letterboxing). Useful for social media sizes (e.g. 1200x630 for Open Graph, 1080x1080 for Instagram). Creates a new image — the original is kept.