Will It Stick
app.willitstick/will-it-stickwillitstick.appstreamable-httpv0.4.1Scanned
Tests whether your message will stick: grades readability and memorability before you send.
2 tools: 2 change things.
- Reads private data · 0
- Reads text others write · 0
- Can send data out · 0
- 1 finding
Tools listed without sign-in. Remote posture
Anlyon alternative
2 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
2 tools
Changes things 2Claude Code: ask
check_if_it_sticksUse this when someone asks whether words they are about to send will land: 'Will this email land well?', 'How does this come across?', 'Could this be misunderstood?', 'Does this so…1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description is 3,002 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ter_text as returned; the human decides what to send, and the tool sends nothing."
Description, as the server wrote it Use this when someone asks whether words they are about to send will land: 'Will this email land well?', 'How does this come across?', 'Could this be misunderstood?', 'Does this sound too harsh?', 'What might my manager misunderstand?' Three cold readers (a distracted stranger, a skeptic, and the target reader), each reading cold and never seeing the others, test how the message is actually received against the sender's stated goal. QUESTIONS FIRST: when the words leave gaps only the author can fill (the readers cannot find the point, the proof, or the specifics), the first result has status 'questions_first' and carries up to three short questions built from the readers' own complaints about this text, plus what the readers heard and where they split. Ask the author those questions, then call again with the same text and motivation plus answers to get the sharper, enriched verdict; if the author would rather not answer, call again with skip_questions true to get the verdict on the words as they stand. A verdict returns four plain grades out of 5, graded directly by the same readers in the same cold read (Easy to read, Holds your attention, The point lands, You'd pass it on; medians across the three readers), for conversation moments (a what's new update, a hard text) a walk_away pair: the thought the author wants the reader to leave with, from the goal, against the thought the readers may actually leave with, from what they heard, the core the readers heard (or the plain split when they heard different points), the readers' own notes including where they split, six SUCCESs medians with the spread between readers and a one-line reason each (the diagnostic layer underneath the plain grades), starter forms only (a proverb line, a curiosity-gap opener, a 3-4 sentence mini-story, concrete swaps for abstract phrases), the one prioritized fix for the element that most blocks the stated goal, and after_text: the draft copied exactly with only that one fix applied by a dedicated guarded step, when the bound passes (null when the bound discards it, with after_reason saying why; changed_lines counts the lines that differ). The tool never rewrites the draft in full; for the finished version itself, call make_it_stick, which returns the transformation cold readers carried away best (the same readers feed it). Do not use this for shortening, grammar fixes, translation, or generic 'make this clearer' rewriting; the host does those itself. Use it only to test how a finished draft will be received. Your words are not recorded or kept; the server keeps only a daily count of how many checks ran (integers, no text). The three readers run on Cloudflare Workers AI (Meta Llama 3.3 70B); under Cloudflare's published Workers AI terms, your text is not retained once it is no longer needed to answer, and it is never used to train AI models. Show the human the questions, scores, starters, and after_text as returned; the human decides what to send, and the tool sends nothing.
Annotations the server declares
- title: Check if it sticks
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
make_it_stickHand it a draft and its goal; get back the version that sticks.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Hand it a draft and its goal; get back the version that sticks. The tool scans the draft for its real point (every part of it, human stakes first), then writes three transformations: a CONCRETE COMPARISON (the key fact restated as something the reader can see, the popcorn move), a CORE COMPRESSION (the one line the reader must repeat, like 'School is cancelled'), and a SCENE (one concrete moment built only from what the draft holds). A code fact gate drops any transformation whose numbers are not stated in the draft or a plain derivation of stated numbers; nothing is ever invented. Then cold readers pick the winner by a gist test: each candidate is read cold, the reader's one-line gist is scored against the point and the key fact, and the best-carrying version wins. The author's ORIGINAL competes as a candidate and can win outright: status 'already_sticks' means the words already stick and the original is the version to send. If the scan finds the core is unreachable without inventing (the draft needs a name, a scene, or an identity line only the author holds), the first result has status 'questions_first' with up to three short questions; pass the author's answers back as answers on a second call, or set skip_questions true to transform the words as they stand. The result returns the winning version with its kind label, the original alongside, the losing transformations as alternates, and what a cold reader carried away from the winner. Takes about half a minute: cold readers are not instant. Use check_if_it_sticks instead when the human wants the diagnosis and scores first. Your words are not recorded or kept; the server keeps only daily counts of how many runs happened (integers, no text). The readers run on Cloudflare Workers AI (Meta Llama 3.3 70B); under Cloudflare's published Workers AI terms, your text is not retained once it is no longer needed to answer, and it is never used to train AI models.
Annotations the server declares
- title: Make it stick
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or untrusted-input or outbound.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write0
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Nov 5, 2026, 03:18 UTC, unchanged since Nov 5, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 2
- Protocol version
- 2025-06-18
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- not observed
- RFC 9728 protected resource metadata
- not observed
- Authorization servers
- not observed
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- not observed
- Client ID metadata documents
- not observed
- WarnThe whole server
The endpoint served tools/list without credentials, and the list has 2 tools that change things (2 write). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://mcp.willitstick.app/mcp: tools/list returned 2 tools to an anonymous client, including check_if_it_sticks (write), make_it_stick (write)
Findings
Matches of fixed checks, with the text they matched.
The description is 3,002 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ter_text as returned; the human decides what to send, and the tool sends nothing."
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 0.4.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http will-it-stick https://mcp.willitstick.app/mcpclaude mcp add --transport http will-it-stick https://mcp.willitstick.app/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [],
"ask": [
"mcp__will-it-stick__check_if_it_sticks",
"mcp__will-it-stick__make_it_stick"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as will-it-stick. Review it before you use it.
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/app.willitstick/will-it-stick/verify?hash=995dca789f3f64aa39f87754901cffb6a7afcf74d14039d7a3857213d95d6775" | jq -e '.changed == false'Pinned hash 995dca789f3f, from Nov 5, 2026, 04:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/app.willitstick/will-it-stick/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/app.willitstick/will-it-stick)Source: MCP Registry · repository. Synced Nov 5, 2026, 04:18 UTC.