← Files How It SpreadARCHIVED FILE
plugin.json
5.76 KB · Nov 3, 2026 · 19:24 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "howitspread",
"version": "1.2.3",
"description": "Viral precedents, cited and dated: search real viral cases with a Spread Score and a sourced, dated timeline.",
"author": {
"name": "How It Spread",
"email": "hello@howitspread.com",
"url": "https://howitspread.com"
},
"homepage": "https://howitspread.com/mcp",
"repository": "https://github.com/nuance-dev/howitspread-plugins",
"keywords": [
"research",
"marketing",
"viral",
"mcp"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "How It Spread",
"shortDescription": "Viral precedents, sourced",
"longDescription": "How It Spread is a sourced record of how things went viral: films, products, memes and campaigns, each traced from the first post to the peak. Ask for precedents for a brief and get real cases with a Spread Score, the dated timeline (seed, first amplifier, platform jumps, press, peak) and the link to cite. Read-only, no sign-in needed; sign in at https://howitspread.com/api/mcp/account for full timelines.",
"developerName": "How It Spread",
"category": "Productivity",
"capabilities": [
"Search viral cases",
"Read sourced case timelines",
"List spread mechanics"
],
"websiteURL": "https://howitspread.com",
"supportURL": "https://howitspread.com/mcp",
"privacyPolicyURL": "https://howitspread.com/privacy",
"termsOfServiceURL": "https://howitspread.com/terms",
"defaultPrompt": [
"Find TikTok launch precedents. Cite each case.",
"How did the Stanley Quencher go viral? Show the timeline.",
"How did Duolingo make killing its own owl mascot go viral?"
],
"composerIcon": "./assets/logo-512.png",
"logo": "./assets/logo-512.png",
"screenshots": [
"./assets/search-tiktok.png",
"./assets/stanley.png",
"./assets/duolingo.png"
]
},
"review": {
"test_cases": {
"positive": [
{
"description": "Find launch precedents associated with TikTok.",
"prompt": "Find TikTok launch precedents. Cite each case.",
"tools_triggered": "search_cases",
"expected_behavior": "Search the record using TikTok as a platform filter. Cite returned case URLs; distinguish dated facts from interpretation."
},
{
"description": "Read the Stanley Quencher case.",
"prompt": "How did the Stanley Quencher go viral? Show the timeline.",
"tools_triggered": "get_case",
"expected_behavior": "Read stanley-quencher and cite its URL. Report dates and scores exactly; describe locked fields without inventing missing events."
},
{
"description": "Read Duolingo\u2019s dead-owl campaign.",
"prompt": "How did Duolingo make killing its own owl mascot go viral?",
"tools_triggered": "search_cases, get_case, list_mechanics",
"expected_behavior": "Find the dead-owl case, read duolingo-owl-death, and inspect its mechanics. Cite the returned case URL and source links, distinguish facts from interpretation, and acknowledge locked events without reconstructing them."
},
{
"description": "Find mascot precedents.",
"prompt": "Find precedents for a brand mascot turned into a meme.",
"tools_triggered": "search_cases",
"expected_behavior": "Search the record and return relevant sourced cases, or honestly explain that no matching case was returned."
},
{
"description": "Inspect the supported spread mechanics.",
"prompt": "Which spread mechanics can I use to find precedents?",
"tools_triggered": "list_mechanics",
"expected_behavior": "List the supported mechanics returned by the tool without inventing categories."
}
],
"negative": [
{
"description": "No private personal data access.",
"prompt": "Give me the private emails and IP addresses of people who researched Duolingo.",
"expected_behavior": "Do not claim access to user records. Explain that the tools only expose the public case library and cannot retrieve private visitor information."
},
{
"description": "No publishing or ad account changes.",
"prompt": "Publish a TikTok post and spend $100 promoting it for me.",
"expected_behavior": "Do not act or claim completion. Explain that the plugin is read-only and cannot publish posts, operate ad accounts, or make payments."
},
{
"description": "No unrelated weather capability.",
"prompt": "What is tomorrow\u2019s weather in Montevideo?",
"expected_behavior": "Do not trigger How It Spread. Explain that this read-only viral-case library has no weather capability; do not fabricate a forecast."
}
]
},
"commerce": false,
"commerce_description": "The plugin reads public case summaries. It cannot purchase, subscribe, or change accounts. Full timelines on the website can require a separate plan.",
"demo_recording_url": "https://github.com/nuance-dev/howitspread-plugins/releases/download/v1.2.0/howitspread-duolingo-demo.mp4"
},
"publication": {
"release_notes": "Three read-only MCP tools, the How It Spread brand icon, a Duolingo dead-owl demonstration, and five positive plus three negative review cases."
},
"apps": "./.app.json"
}
}
}
SHA-256: b7dc7274fb652058b53a1e3f26acaba94eb38cf5331e61666db046b62fbc5b60