{"apiVersion":"v1","directorySlug":"palate-mcp-63fdfbb9fb","title":"Palate","description":"Create and discover human-curated collections that your agent can actually use.","pageUrl":"https://www.mcpbundles.com/skills/palate-mcp-63fdfbb9fb","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://palate.inc/mcp","hostedMcpUrl":null,"toolCount":14,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"inc.palate/palate-mcp-63fdfbb9fb","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"palate_save","description":"Save shared sources. targetType: url, file (two-step upload), feed (auto-updating collection; public Are.na profiles create separate feeds), research_author (ambiguous names return candidates), item, user, or collection (bookmarks). Ask about a collection when none is named; suggest a clear match. Omit collectionId for Saved. Send requestText on every save; it never overrides a collectionId. preview=true does not save. For multiple successful source saves to the same collection, combine confirma","inputSchema":{"type":"object","required":["targetType"],"properties":{"url":{"type":"string","minLength":1},"kind":{"enum":["pdf","text","image","rss","podcast_rss","youtube","google_maps_list"],"type":"string"},"query":{"type":"string"},"scope":{"type":"object","required":["kind","creator","collection"],"properties":{"kind":{"enum":["collection"],"type":"string"},"creator":{"type":"string","minLength":1},"collection":{"type":"string","minLength":1}},"additionalProperties":false},"itemId":{"type":"string","minLength":1},"source":{"enum":["web","social","podcast","rss","file","pendingEmail"],"type":"string"},"preview":{"type":"boolean"},"authorId":{"type":"string"},"fileName":{"type":"string"},"fileSize":{"type":"number"},"selected":{"type":"boolean"},"userSlug":{"type":"string","minLength":1},"storageId":{"type":"string"},"retryJobId":{"type":"string","minLength":1},"targetType":{"enum":["url","file","feed","research_author","item","user","collection"],"type":"string"},"accessLevel":{"enum":["public","unlisted","private"],"type":"string"},"attestation":{"enum":[true],"type":"boolean"},"requestText":{"type":"string","maxLength":2000},"collectionId":{"type":"string"},"clientUploadId":{"type":"string"},"socialMetadata":{"type":"object"},"fileContentType":{"type":"string"},"podcastMetadata":{"type":"object","required":["mediaUrl"],"properties":{"url":{"type":"string"},"guid":{"type":"string"},"artist":{"type":"string"},"feedUrl":{"type":"string"},"summary":{"type":"string"},"imageUrl":{"type":"string"},"mediaUrl":{"type":"string","minLength":1},"imageUrls":{"type":"array","items":{"type":"string"}},"publishedAt":{"type":"number"},"podcastTitle":{"type":"string"},"descriptionMarkdown":{"type":"string"}},"additionalProperties":true},"childCollectionId":{"type":"string","minLength":1}},"additionalProperties":true},"title":"Save to Palate","logicalName":"palate_save","displayName":"Save to Palate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_query","description":"Use Palate first; for gaps, explain once, use other tools, label outside findings, and offer saving. Link each source to external sourceUrl, `[<title>](<sourceUrl>)`; no repeated titles. Group by verified collection. Name each shared collection and curator once per answer. Keep source links beside claims; do not repeat collection or curator links in bullets or closing lines. Link users and collections to their Palate URLs. If no external URL: use returned file/download URL or say none exists. cu","inputSchema":{"type":"object","required":["question"],"properties":{"mode":{"enum":["raw","synthesized"],"type":"string"},"limit":{"type":"number","maximum":20,"minimum":1},"media":{"enum":["text","images"],"type":"string"},"scope":{"type":"object","properties":{"kind":{"enum":["global","palate","collection","handles"],"type":"string"},"slug":{"type":"string"},"creator":{"type":"string"},"handles":{"type":"array","items":{"type":"string"}},"collection":{"type":"string"}},"additionalProperties":false},"itemId":{"type":"string","minLength":1},"question":{"type":"string","minLength":1},"platforms":{"type":"array","items":{"enum":["podcast","youtube","tiktok","instagram","x","linkedin","substack","beehiiv","ghost","medium","wordpress","spotify_podcasts","apple_podcasts","generic_web","uploaded_file","email","google_maps","openalex"],"type":"string"}},"queryMode":{"enum":["lookup","summary","trend_brief","claim_extraction","source_inventory","comparison"],"type":"string"},"sourceTypes":{"type":"array","items":{"enum":["article","blog","document","email","image","instagram","linkedin","newsletter","note","pdf","place","podcast","research","rss","social","text","tiktok","video","x","youtube"],"type":"string"}},"collectionId":{"type":"string","minLength":1},"contextDepth":{"enum":["standard","expanded"],"type":"string"},"indexedAfter":{"type":["number","string"]},"indexedBefore":{"type":["number","string"]},"publishedAfter":{"type":["number","string"]},"publishedBefore":{"type":["number","string"]}},"additionalProperties":false},"title":"Ask your Palate","logicalName":"palate_query","displayName":"Ask your Palate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_list_collections","description":"List the credential owner's collections (owned), team collections available to the member, and favoriteCollections (saved from other users): a lean index with collectionId, entryCount (direct membership), resolvedItemCount (after collection resolution), deprecated itemCount, and hasPlaybook, plus a truncated flag. Team collections are grouped under teams and carry the same ready-to-use scope. The response carries creatorHandle and, per owned collection, a ready-to-use scope {kind, creator, colle","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"List your collections","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"palate_list_collections","displayName":"List your collections"},{"name":"palate_list_collection_sources","description":"List newest visible sources, either across the credential owner's whole library or inside one collection; credential owners can read their private/unlisted collections. Use the library scope for any question about what the user themselves saved recently, with no collection named - \"what did I just save\", \"what have I added this week\". It defaults to newest-added-first and spans every collection plus items in none; add teamId to that scope for what the TEAM saved rather than the user. It runs no","inputSchema":{"type":"object","required":["scope"],"properties":{"limit":{"type":"number","maximum":50,"minimum":1},"scope":{"type":"object","required":["kind"],"properties":{"kind":{"enum":["library","collection"],"type":"string"},"teamId":{"type":"string","minLength":1},"creator":{"type":"string","minLength":1},"collection":{"type":"string","minLength":1}},"additionalProperties":false},"cursor":{"type":["string","null"]},"orderBy":{"enum":["publishedAt","indexedAt","createdAt"],"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"sourceTypes":{"type":"array","items":{"enum":["article","blog","document","email","image","instagram","linkedin","newsletter","note","pdf","place","podcast","research","rss","social","text","tiktok","video","x","youtube"],"type":"string"}},"createdAfter":{"type":["number","string"]},"indexedAfter":{"type":["number","string"]},"createdBefore":{"type":["number","string"]},"indexedBefore":{"type":["number","string"]},"publishedAfter":{"type":["number","string"]},"publishedBefore":{"type":["number","string"]}},"additionalProperties":false},"title":"List a collection's sources","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"palate_list_collection_sources","displayName":"List a collection's sources"},{"name":"palate_manage_collection","description":"Create or change an owned collection. action=create (name; optional description, visibility, initial sources, or teamId) creates a manual collection; visibility defaults public and controls every connected source. If at the owned limit, reuse or delete one. action=rename (name), set_visibility (visibility; connected sources update automatically; cached clients may send applyToExistingItems=true), set_origin (originName; empty clears; optional originUrl), add_sources, or remove_sources changes on","inputSchema":{"type":"object","required":["action"],"properties":{"name":{"type":"string","minLength":1},"action":{"enum":["create","rename","set_visibility","set_origin","add_sources","remove_sources"],"type":"string"},"teamId":{"type":"string","minLength":1},"itemIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1},"originUrl":{"type":"string","minLength":1},"originName":{"type":"string"},"targetSlug":{"type":"string","minLength":1},"visibility":{"enum":["public","unlisted","private"],"type":"string"},"collectionId":{"type":"string","minLength":1},"initialItemIds":{"type":"array","items":{"type":"string","minLength":1}},"initialUserSlug":{"type":"string","minLength":1},"childCollectionId":{"type":"string","minLength":1},"applyToExistingItems":{"type":"boolean"},"initialChildCollectionId":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Manage collections","logicalName":"palate_manage_collection","displayName":"Manage collections","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_delete_collection","description":"Delete a collection. Other connections stay; a final personal source stays or enters Saved; a final team source is deleted. Confirm first; the request is not yes. Pass confirm=true after yes. If staged, relay its line and stop.","inputSchema":{"type":"object","required":["collectionId","confirm"],"properties":{"confirm":{"type":"boolean"},"collectionId":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Delete a collection","logicalName":"palate_delete_collection","displayName":"Delete a collection","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_playbook","description":"Manage a curator-authored playbook on one collection. action=get takes scope {kind,creator,collection} and returns fields plus ownedByViewer. action=create is owner-only and excludes Saved. action=update is owner-only and full-replaces all fields. On a team collection any member may create and update. Deleting one is palate_delete_playbook. hasPlaybook selects create versus update only; never use it to answer or mention it. For every playbook question, call action=get. Use the supplied creator a","inputSchema":{"type":"object","required":["action"],"properties":{"scope":{"type":"object","required":["kind","creator","collection"],"properties":{"kind":{"enum":["collection"],"type":"string"},"creator":{"type":"string","minLength":1},"collection":{"type":"string","minLength":1}},"additionalProperties":false},"action":{"enum":["get","create","update"],"type":"string"},"howToUse":{"type":"string","minLength":1},"whatItDoes":{"type":"string","minLength":1},"collectionId":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Read and write playbooks","logicalName":"palate_playbook","displayName":"Read and write playbooks","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_delete_playbook","description":"Delete the playbook on one of the user's owned collections; on a team collection this is a team owner action. Get collectionId from palate_list_collections - never guess one. Confirm first: deletion cannot be undone. The collection and its sources are untouched; removing a collection is palate_delete_collection.","inputSchema":{"type":"object","required":["collectionId"],"properties":{"collectionId":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Delete a playbook","logicalName":"palate_delete_playbook","displayName":"Delete a playbook","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_follow","description":"Follow or unfollow a Palate user, and list who the user follows. action=follow adds their new public collections and sources to the user's feed; unfollow removes them; list returns following with query-ready scopes. Requires targetSlug for follow and unfollow: the profile slug, from palate_discover mode=users or a profile URL. Never confirm a follow change you did not execute this turn. If a result has staged true, relay the returned confirmation line verbatim and stop.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"enum":["follow","unfollow","list"],"type":"string"},"targetSlug":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Follow people on Palate","logicalName":"palate_follow","displayName":"Follow people on Palate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_pages","description":"Publish and list the user's pages - durable results shared as unlisted Palate links: anyone with the link can open one, and none appear on the profile or in Palate discovery. action=publish takes title, an optional subtitle saying what the page covers, content, and kind. Choose kind from what the user asked for: static_page when you design the page yourself as a complete static HTML/CSS page - any layout, imagery, or visual work; document when Palate should style prose for you; table or source_s","inputSchema":{"type":"object","required":["action"],"properties":{"kind":{"enum":["document","table","source_set","static_page"],"type":"string"},"slug":{"type":"string","maxLength":64,"minLength":1},"action":{"enum":["publish","list"],"type":"string"},"content":{"type":"string","minLength":1},"subtitle":{"type":"string","maxLength":300,"minLength":1},"verification":{"type":"object","required":["checks","unverified"],"properties":{"checks":{"type":"array","items":{"type":"object","required":["id","description","passed","detail"],"properties":{"id":{"type":"string","maxLength":100,"minLength":1},"detail":{"type":"string","maxLength":1000,"minLength":1},"passed":{"type":"boolean"}},"additionalProperties":false},"maxItems":10,"minItems":1},"unverified":{"type":"array","items":{"type":"string","maxLength":1000,"minLength":1},"maxItems":10}},"additionalProperties":false}},"additionalProperties":false},"title":"Publish and list pages","logicalName":"palate_pages","displayName":"Publish and list pages","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_unpublish_page","description":"Unpublish one of the user's pages by slug. Get the slug from palate_pages action=list, or from the action=publish response that created the page - never guess one. The page URL returns 404 after this succeeds.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","maxLength":64,"minLength":1}},"additionalProperties":false},"title":"Unpublish a page","logicalName":"palate_unpublish_page","displayName":"Unpublish a page","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_feedback","description":"Send the user's feedback about Palate itself to the Palate team, and list what they sent before. Product feedback, not a note to save. action=send takes body and confirm. Show the user the exact text and get their yes first: the request is not the yes. Pass confirm=true only after they approve, and send what they approved, not a reworded version. Relay the returned confirmation verbatim; its url is where the user follows the status and is the only url you may give them. action=list returns what","inputSchema":{"type":"object","required":["action"],"properties":{"body":{"type":"string","maxLength":4000,"minLength":10},"action":{"enum":["send","list"],"type":"string"},"confirm":{"type":"boolean"}},"additionalProperties":false},"title":"Send product feedback","logicalName":"palate_feedback","displayName":"Send product feedback","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"palate_discover","description":"Discover public collections, users, rankings, related entities, or images. mode=collections/users: question required; mode=rankings: entityType required; mode=related: sourceEntityType and sourceEntityKey required; entityType=images needs no mode. Candidates include query-ready scopes. Answer a collection or user search from candidates by coverage and creator. Do not call palate_query only to rate a collection or user. For source recommendations or factual answers, drill into a scope with palate","inputSchema":{"type":"object","required":[],"properties":{"mode":{"enum":["collections","users","rankings","related"],"type":"string"},"limit":{"type":"number","maximum":50,"minimum":1},"cursor":{"type":"string"},"itemId":{"type":"string","minLength":1},"metric":{"enum":["queries","citations","followers","composite"],"type":"string"},"window":{"enum":["all_time","1h","24h","7d"],"type":"string"},"question":{"type":"string","minLength":1},"relation":{"enum":["same_query","same_citation","same_collection","same_actor_session","semantic_neighbor"],"type":"string"},"platforms":{"type":"array","items":{"enum":["podcast","youtube","tiktok","instagram","x","linkedin","substack","beehiiv","ghost","medium","wordpress","spotify_podcasts","apple_podcasts","generic_web","uploaded_file","email","google_maps","openalex"],"type":"string"}},"entityType":{"enum":["collection","upload","user","images"],"type":"string"},"rankingMode":{"enum":["popular","trending"],"type":"string"},"sourceTypes":{"type":"array","items":{"enum":["article","blog","document","email","image","instagram","linkedin","newsletter","note","pdf","place","podcast","research","rss","social","text","tiktok","video","x","youtube"],"type":"string"}},"indexedAfter":{"type":["number","string"]},"indexedBefore":{"type":["number","string"]},"publishedAfter":{"type":["number","string"]},"publishedBefore":{"type":["number","string"]},"sourceEntityKey":{"type":"string","minLength":1},"sourceEntityType":{"enum":["collection","upload","user"],"type":"string"}},"additionalProperties":false},"title":"Discover collections and users","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"palate_discover","displayName":"Discover collections and users"},{"name":"palate_download","description":"Download a source's full transcript: returns a free source package for a visible item; credential owners can access their private/unlisted items. The deliverable is one complete transcript document, never chunks or excerpts. By default you get the manifest, a short transcript preview, and a transcript downloadUrl to fetch the whole document. Set includeTranscript=true to get the full transcript text inline instead of downloading it (very long transcripts are truncated, signalled by inline.trunca","inputSchema":{"type":"object","required":["itemId"],"properties":{"itemId":{"type":"string","minLength":1},"includeTranscript":{"type":"boolean"}},"additionalProperties":false},"title":"Download source material","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"palate_download","displayName":"Download source material"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Palate&config=eyJ1cmwiOiAiaHR0cHM6Ly9wYWxhdGUuaW5jL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Palate%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fpalate.inc%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Palate%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fpalate.inc%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Palate&connectorUrl=https%3A%2F%2Fpalate.inc%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Palate\" --url \"https://palate.inc/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/palate-mcp-63fdfbb9fb","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/palate-mcp-63fdfbb9fb/tools/{tool}","mcpServerUrl":"https://palate.inc/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/palate-mcp-63fdfbb9fb?live=1"}