Plyto
by plyto.ai in News & content
AI that makes and runs your Google and Facebook ads from your own account, with a CRM behind it.
https://plyto.ai/api/mcp- Tools
- 198
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 1.0 s
- 1.7 s slowest 5%
- Last check
- Passed
- 1 h ago, next in 5 h
This listing's own text contains instructions aimed at AI agents (see the security scan below). We withhold that text from agents and never recommend this service.
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"plyto": {
"type": "http",
"url": "https://plyto.ai/api/mcp"
}
}
}198 tools
- memory__save
Save (or update) a durable memory: a standing preference, playbook rule, correction, or business fact that should hold across ALL future conversations. Use when the user says "remember…", "always…", "never…", "from now on…", states a lasting preference, or corrects how you did…
- memory__list
List every durable memory you hold for this business (business-wide plus the current user's personal ones), with ids and when each was last confirmed. Use before consolidating, when the user asks what you remember, or to find a memoryId to update/forget.
- memory__forget
Permanently delete a saved memory. Destructive: confirm with the user first unless they just explicitly asked you to forget exactly this. Users can also remove memories themselves under Settings → Business profile.
- business__update
Save what you learn about the business the moment the owner says it: real name, website, industry, who their customers are, what sets them apart, the phone to show on pages, where an ad's click should go (clickTarget page or url, and conversionUrl: their signup, booking or…
- brand__scan__wait
Wait for the website scan business.update started (up to 45 seconds) and get what it read: industry, audience, value proposition, claims. Call it right after saving a website on a first draft, then build from the result. Returns what is on file even when the scan is still…
- account__profile
Return the Plyto profile this connection is signed in as: an opaque id that stays the same across token refresh and reconnection, the person's name and email for display, and the business the connection manages as a label. Takes no arguments.
- documents__list
List the documents the owner has given you, newest first: files attached in the chat (PDF, Word, text), long messages kept as documents, and links you read and kept. Each has an id to read it with documents.read. Use it when the owner refers to something they sent before ("the…
- documents__read
Read a document the owner gave you (an attached PDF, Word or text file, a long message kept as a document, or a link you kept), 30,000 characters at a time; pass offset to go on. Read before you answer about it: never describe a document from memory.
- brand__colors__set
Save the brand colors the owner names in chat, as hex codes: the primary (what graphics build on) and, when they give one, an accent. They replace the colors on file (a website scan's guess, a logo's extraction), so pass both when the owner names both. Returns what the next…
- brand__logo__set
Make an image the business's logo: the one on file for ads, pages, emails and pitch decks, replacing whatever logo is there (a website scan's find or an older upload). Pass the library asset id of a logo the owner uploaded, or the logo's web address. Nothing already drawn is…
- business__claims__remove
Take claims off the business profile once the owner says they no longer hold: the business moved and no longer serves the old area, an offer ended, a credential lapsed. Pass each claim as it is on file (a draft's placeClaimsNote quotes it). Only on the owner's word in this…
- crm__contacts__create
Create a contact (or find-and-update if one with the same email already exists in this business). Returns the created/updated contact. Use when the user mentions adding, capturing, or tracking a new person. Email is the natural dedup key; if you have an email, always pass it.
- crm__contacts__update
Update fields on an existing contact. Only pass fields you want to change. No-op fields are silently skipped.
- crm__contacts__get
Fetch a single contact by id, with where they came from: the ad campaign and search keyword that brought them (when an ad did), where they were and on what device, what they asked for on the landing page, how many forms they submitted, and whether they have created an account…
- crm__contacts__list
List contacts in this business with simple filters. For free-text search use crm.contacts.search. For complex filters use crm.contacts.query (W3).
- crm__contacts__search
Free-text search across contact email, first/last name, and phone. Case-insensitive substring match. Returns up to 20 contacts by default.
- crm__contacts__get_properties
Return all custom property values for a contact as a {key: value} map.
- crm__companies__create
Create a company (or find-and-update if one with the same domain already exists). Domain is the natural dedup key; always pass the bare domain like 'acme.com' (not the full URL).
- crm__companies__update
Update fields on an existing company. Only pass fields you want to change.
- crm__companies__get
Fetch a single company by id. Returns null if not found.
- crm__companies__list
List companies in this business. For text search use crm.companies.search.
- crm__companies__search
Free-text search across company name, domain, and industry. Case-insensitive substring match.
- crm__companies__get_properties
Return all custom property values for a company as a {key: value} map.
- crm__tags__create
Create a new tag (or find one with the same name; idempotent). Tags are lightweight orthogonal categories like 'VIP', 'Newsletter-only', 'Cold'.
- crm__tags__list
List all tags defined in this business.
- crm__tags__add_to_contact
Apply a tag to a contact. Idempotent: adding an already-applied tag is a no-op.
- crm__tags__remove_from_contact
Remove a tag from a contact. Idempotent.
- crm__tags__list_for_contact
List all tags applied to a contact.
- crm__tags__add_to_company
Apply a tag to a company. Idempotent.
- crm__tags__remove_from_company
Remove a tag from a company. Idempotent.
- crm__tags__list_for_company
List all tags applied to a company.
- crm__properties__define
Define a new custom property on contact or company. Keys must be lowercase snake_case (e.g. 'plan_tier'). For single_select / multi_select, options is required.
- crm__properties__list
List custom property definitions for an entity type. Excludes archived by default.
- crm__properties__archive
Archive a custom property. Existing values are preserved but the property is hidden from UI and rejected for new value sets. To 'rename', archive + redefine.
- crm__properties__set_contact_value
Set the value of a custom property on a contact. Value type must match property type. For multi_select pass an array of option values.
- crm__properties__set_company_value
Set the value of a custom property on a company.
- crm__properties__set_deal_value
Set the value of a custom property on a deal.
- crm__properties__clear_contact_value
Remove a custom property value from a contact.
- crm__properties__clear_company_value
Remove a custom property value from a company.
- crm__properties__clear_deal_value
Remove a custom property value from a deal.
Security scan
2 findings
- Tries to override other tools in tool:ads__creative__compose_graphic#/inputSchema/properties/photoAssetId/description
m ads.assets.list) to build this ad on, instead of the tool picking the newest. A caller drawing several ads at once hands each its own phot - Unusually long description in tool:websites__create_site
websites__create_site (websites create site) Create a WEBSITE: the business's ho…
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 1 h ago | Passed | 200 | 525 ms |
| 13 h ago | Passed | 200 | 1.6 s |
| 25 h ago | Passed | 200 | 1.5 s |
| 35 h ago | Passed | 200 | 1.9 s |
| 2 days ago | Passed | 200 | 1.4 s |
Show 10 older checks
| 3 days ago | Passed | 200 | 847 ms |
| 3 days ago | Passed | 200 | 497 ms |
| 3 days ago | Passed | 200 | 1.2 s |
| 4 days ago | Passed | 200 | 527 ms |
| 4 days ago | Passed | 200 | 967 ms |
| 5 days ago | Passed | 200 | 1.5 s |
| 6 days ago | Passed | 200 | 1.0 s |
| 6 days ago | Passed | 200 | 663 ms |
| 7 days ago | Passed | 200 | 1.2 s |
| 7 days ago | Passed | 200 | 1.0 s |