The Profound Agency
What this MCP does
Searches and compares press and advertising placements, checks advertising restrictions, produces quotes and orders, and audits website visibility to AI systems.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['question'], 'properties': {'question': {'type': 'string', 'maxLength': 500, 'minLength': 3, 'description': 'The question, e.g. "How much does USA Today cost?"'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['category'], 'properties': {'state': {'type': 'string', 'description': 'US state as a two-letter code, e.g. "NJ".'}, 'channel': {'type': 'string', 'description': 'A channel slug from list_channels, e.g. "meta".'}, 'category': {'type': 'string', 'minLength': 2, 'description': 'What is being advertised, e.g. "CBD", "casino", "real estate".'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderId', 'email'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'The billing email on that order.'}, 'orderId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'The orderId returned by create_order.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 4, 'minItems': 2, 'description': 'Placement ids from search_placements.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'email'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The human's full name, to show them alongside the booking link."}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': "The human's email, to show them alongside the booking link."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'contact'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Placement id.'}, 'quantity': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Defaults to 1.'}}}, 'minItems': 1}, 'notes': {'type': 'string', 'description': 'Anything the editorial team should know.'}, 'contact': {'type': 'object', 'required': ['firstName', 'lastName', 'email'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'The payment link and receipt go here. Required to look the order up later.'}, 'phone': {'type': 'string'}, 'company': {'type': 'string', 'description': "The client's brand or company."}, 'lastName': {'type': 'string'}, 'firstName': {'type': 'string', 'description': 'Billing first name — whoever will pay.'}}}, 'placedBy': {'type': 'string', 'description': 'Who you are — your agency or product name. Recorded as an unverified claim, purely so we can tell orders apart.'}, 'clientReference': {'type': 'string', 'description': 'Your own reference for this client or campaign.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'message'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The human's name, as it should appear in the text."}, 'company': {'type': 'string', 'description': 'Their business, if they want it in the text.'}, 'message': {'type': 'string', 'maxLength': 400, 'minLength': 1, 'description': 'What they want to say or ask, in their words.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'daysAhead': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'How many days out to look. Default 7, max 30.'}, 'durationMinutes': {'type': 'integer', 'maximum': 120, 'minimum': 15, 'description': 'Meeting length in minutes. Default 30.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'since': {'type': 'string', 'description': 'ISO date; only syncs after it. Use the newest date you have seen.'}, 'newOnly': {'type': 'boolean', 'description': 'Only additions — the weekly "what\'s new" watch.'}, 'category': {'type': 'string', 'description': 'Only publications in a category, e.g. "Crypto".'}, 'maxPrice': {'type': 'number', 'description': 'Only publications at or under this price, in USD.'}, 'categories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only publications in any of these categories.'}, 'priceDropsOnly': {'type': 'boolean', 'description': 'Only price reductions.'}, 'minDomainAuthority': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Only publications at or above this Moz Domain Authority.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Channel slug from list_channels, e.g. "geo-targeted-mobile".'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderLink'], 'properties': {'orderLink': {'type': 'string', 'minLength': 10, 'description': 'The client\'s private order link (https://theprofound.agency/order/<id>/#t=…), or just the token after #t=. It is the "Open your order page" button in the order confirmation email sent when the order is paid.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Placement id, e.g. "hood-critic".'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['budget'], 'properties': {'goal': {'type': 'string', 'description': 'What the coverage is for, e.g. "seo backlinks", "launch buzz".'}, 'count': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'How many placements to aim for. Default 5.'}, 'budget': {'type': 'number', 'description': 'Maximum spend in USD, including the processing fee.', 'exclusiveMinimum': 0}, 'audience': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Catalog categories, e.g. ["Crypto", "Health"].'}, 'minDomainAuthority': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Minimum Moz Domain Authority.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['website'], 'properties': {'website': {'type': 'string', 'minLength': 3, 'description': 'The site to check. A domain is enough, e.g. "example.com".'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Placement id.'}, 'quantity': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Defaults to 1.'}}}, 'minItems': 1, 'description': 'The placements to price.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contact', 'website'], 'properties': {'notes': {'type': 'string', 'description': 'Anything else worth knowing before we look.'}, 'track': {'enum': ['brand', 'local', 'individual'], 'type': 'string', 'description': 'What is being audited: a brand or organisation, a local business with a physical catchment, or an individual and their personal brand. Shapes what we look at.'}, 'contact': {'type': 'object', 'required': ['name', 'email'], 'properties': {'name': {'type': 'string', 'description': 'Who we should address the audit to.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Where the audit goes.'}, 'phone': {'type': 'string'}, 'company': {'type': 'string', 'description': "The client's brand or company."}}}, 'website': {'type': 'string', 'description': 'The site to audit. A domain is enough.'}, 'concerns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What the client is worried about, in their own words — for example that a competitor gets named instead, or that their site is invisible to assistants.'}, 'referredBy': {'type': 'string', 'description': 'Who you are — your agent, agency or product. Recorded as an unverified claim.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderLink', 'piece', 'action'], 'properties': {'piece': {'enum': ['outline', 'draft'], 'type': 'string'}, 'action': {'enum': ['approve', 'changes'], 'type': 'string'}, 'feedback': {'type': 'string', 'maxLength': 2000, 'description': 'With action "changes": what to change, in the client\'s words.'}, 'orderLink': {'type': 'string', 'minLength': 10, 'description': 'The client\'s private order link (https://theprofound.agency/order/<id>/#t=…), or just the token after #t=. It is the "Open your order page" button in the order confirmation email sent when the order is paid.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sort': {'enum': ['price_asc', 'price_desc', 'da_desc', 'dr_desc', 'turnaround_asc'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Results per page, 1-100. Default 20.'}, 'query': {'type': 'string', 'description': 'Free text matched against publication name, domain and categories.'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Result offset, for paging.'}, 'region': {'type': 'string', 'description': "Substring match on the outlet's region."}, 'llmReady': {'type': 'boolean', 'description': 'Only outlets flagged as readable by AI crawlers.'}, 'maxPrice': {'type': 'number', 'description': 'Maximum price in USD.'}, 'minPrice': {'type': 'number', 'description': 'Minimum price in USD.'}, 'available': {'type': 'boolean', 'description': 'true for placements that can be ordered now, false for unavailable ones.'}, 'categories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Match any of these categories, e.g. ["Crypto", "Health"].'}, 'linkFollow': {'enum': ['dofollow', 'nofollow', 'sponsored', 'ugc', 'unspecified'], 'type': 'string', 'description': 'Only placements with this linkAttributes value. Today the catalog records dofollow only; every other listing is "unspecified", so nofollow, sponsored and ugc match nothing yet.'}, 'googleIndexed': {'type': 'boolean', 'description': 'Only outlets known to be indexed by Google.'}, 'minDomainRating': {'type': 'number', 'description': 'Minimum Ahrefs Domain Rating (0-100).'}, 'maxTurnaroundDays': {'type': 'number', 'description': 'Longest acceptable turnaround, in days.'}, 'minDomainAuthority': {'type': 'number', 'description': 'Minimum Moz Domain Authority (0-100).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderId', 'email', 'draft'], 'properties': {'draft': {'type': 'string', 'maxLength': 50000, 'minLength': 1, 'description': 'The article text the client wrote.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'The billing email on that order.'}, 'title': {'type': 'string', 'description': 'Working title for the piece.'}, 'orderId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'The orderId returned by create_order.'}, 'authorName': {'type': 'string', 'description': 'Byline, if the client wants one.'}, 'referredBy': {'type': 'string', 'description': 'Who you are — your agent, agency or product. Recorded as an unverified claim so we can see which agents send work.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contact'], 'properties': {'goal': {'type': 'string', 'description': 'What the campaign should achieve.'}, 'notes': {'type': 'string', 'description': 'Anything else the team should know.'}, 'budget': {'type': 'string', 'description': 'Monthly budget, or a range.'}, 'timing': {'type': 'string', 'description': 'When they want to start.'}, 'contact': {'type': 'object', 'required': ['name', 'email'], 'properties': {'name': {'type': 'string', 'description': 'Who we should reply to.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Where the quote goes.'}, 'phone': {'type': 'string'}, 'company': {'type': 'string', 'description': "The client's brand or company."}, 'website': {'type': 'string', 'description': "The client's website."}}}, 'channels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Specific product slugs, as returned by search_placements or list_channels.'}, 'geography': {'type': 'string', 'description': 'Where it should run — cities, states, ZIPs or a radius.'}, 'referredBy': {'type': 'string', 'description': 'Who you are — your agent, agency or product. Recorded on the brief as an unverified claim so we can see which agents send work.'}, 'capabilities': {'type': 'array', 'items': {'enum': ['geo-fencing', 'website-retargeting', 'visit-tracking', 'identity-resolution', 'behavioural-targeting', 'custom-audience-lookalike', 'keyword-content-targeting', 'address-targeting', 'cross-platform', 'ai-optimisation', 'weather-trigger', 'lead-capture'], 'type': 'string'}, 'description': 'Outcomes the client wants, by slug. Use list_capabilities to see them.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderLink'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'description': 'How the article should name them: a person, a business or a pen name.'}, 'about': {'type': 'string', 'maxLength': 1500, 'description': 'Who the client is, in a few sentences.'}, 'angle': {'type': 'string', 'maxLength': 2000, 'description': 'Their news, launch, milestone or point of view.'}, 'draft': {'type': 'string', 'maxLength': 20000, 'description': 'A draft of their own, if they have one. Client-written articles are more likely to be turned down by editors, so expect edits.'}, 'facts': {'type': 'string', 'maxLength': 3000, 'description': 'Proof points: numbers, results, credentials, awards, a quote from them in their exact words.'}, 'links': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}, 'anchor': {'type': 'string'}}}, 'maxItems': 3, 'description': 'Up to three links; most publications allow two or three.'}, 'notes': {'type': 'string', 'maxLength': 1000, 'description': 'Anything else.'}, 'photo': {'type': 'string', 'maxLength': 500, 'description': 'A link to a photo.'}, 'orderLink': {'type': 'string', 'minLength': 10, 'description': 'The client\'s private order link (https://theprofound.agency/order/<id>/#t=…), or just the token after #t=. It is the "Open your order page" button in the order confirmation email sent when the order is paid.'}}}
Recent tool changes
Similar MCP servers
Heista
Analyzes video advertising, builds brand intelligence profiles, researches markets, and generates advertising scripts and creativ…
rankparse-mcp
Provides SEO and search marketing research including backlinks, authority, competitor gaps, Google Ads keyword metrics, and Googl…
VarynForge
Supports SEO research and content planning through niche analysis, competitor and keyword research, opportunity discovery, and wr…
sonar
Provides app-store optimization tools for keyword research, rankings, reviews, competitor analysis, alerts, and ASO scoring on iO…
AfterLaunch: the agentic growth marketing engine
Runs growth-marketing workflows covering SEO, AI-search visibility, competitor analysis, content planning, distribution channels,…
Prowlo — Reddit & X for AI agents
Indexes and searches Reddit and X-related social data, discovers communities, monitors keywords, finds engagement opportunities, …
AgentSEO
Provides SEO research and execution tools for SERP analysis, rankings, backlinks, content gaps, technical audits, and AI visibili…
NanoTools
Offers utility APIs alongside web search, scraping, browser rendering, screenshots, SERP data, and SEO audits.