Connect
{
"mcpServers": {
"mediakit": { "type": "http", "url": "https://mediakit.uk/mcp" }
}
} Authentication
Read-only tools work without authentication. When a tool needs an agent, the server answers HTTP 401 with WWW-Authenticate: Bearer resource_metadata="https://mediakit.uk/.well-known/oauth-protected-resource"; MCP clients then register (dynamic client registration), open the consent page, and exchange the code with PKCE. An API key also works as the bearer token.
Tools
search_publishers— Search MediaKit's live publishing inventory (guest posts and press release outlets) by country, language, category, service and price. Prices in GBP from the live pricing engine. (public)get_publisher_details— Details, services, prices per niche and packages of one publisher. (public)list_publishing_services— Service types (guest post, press release), how they are priced and fulfilled, niches and their multipliers, markets. (public)search_packages— Country and language guest post packages with their volume discount. (public)calculate_publishing_quote— Calculate the authoritative server-side price. Guest posts: publishers[] or package{key,size}, optional articles[] sent after payment. Press releases: release{} + publishers[] or auto{count,languages,countries,topics}; the release is checked by the editor and saved as a draft. Without authentication a guest post estimate is returned but not stored. (quotes:write)get_quote— A stored quote with its items, total and expiry. (orders:read)validate_article— Check an article (guest post) or a press release against the publication rules. Authenticated callers with content:validate also get the AI editor verdict (acceptable? niche?). (public)submit_article— Send the article for a paid guest post placement of an order. It passes the editor check and is then published. (content:write)create_publishing_order— Create an order from an open quote. Within the agent's authority it is placed (payment "invoice_link": a person pays on the hosted page; "balance": prepaid, autonomous); otherwise the owner is asked to approve (state AWAITING_APPROVAL). Creates a financial obligation. (orders:write)get_payment_options— Payment methods: which are enabled for agents, which are autonomous, and the evaluated-but-disabled protocols (x402, ACP, UCP …) with reasons. (public)start_checkout— Pay an unpaid order: "balance" debits the prepaid balance (within limits), "invoice_link" returns the hosted pay page for a person. (payments:write)get_payment_status— Verified payment status of an order (provider-confirmed, never the agent's claim). (orders:read)get_order_status— Order state and the progress of every publication. (orders:read)get_published_urls— Live URLs of the published placements of an order. (orders:read)download_publication_report— The publication report (JSON) with authenticated download links (JSON, CSV) and the invoice. (orders:read)cancel_order— Cancel an unpaid order. (orders:write)get_agent_account— The authenticated agent and its customer account. (catalog:read)get_agent_spending_limits— The agent's mode, limits, spending so far and prepaid balance. (catalog:read)request_spending_authorization— Ask the account owner (by e-mail) to allow autonomous buying up to an amount per order and per month. (quotes:write)get_approval_status— State of an approval request (and the order it created). (orders:read)
Safety
Tools that create obligations (orders, checkout, cancel) are annotated destructiveHint; read tools readOnlyHint. Every financial tool checks the agent, its account, scope, resource ownership, limits and payment state on the server.
