The whole world, for your assistant. It can look. It can’t touch.
This is a Model Context Protocol server (MCP, an open standard for connecting AI applications to outside systems) for everything on slopped.site: the Fresh slop, the codex, the games, the jungle, GeoCities, the clocks, the songs and the Slop Curriculum. Point an AI client at it and it can search, look things up, follow connections and check a lab draft. It is read-only: nothing it does changes anything, and it needs no account.
https://mcp.slopped.site/mcp
The same server also answers at https://learn.slopped.site/mcp, where it started. Both answer directly, without a redirect.
Tools
18
Resources
1,332
Prompts
11
Writes
0
Connect
It speaks Streamable HTTP and keeps no session: every request is one POST with one JSON answer. Any client that can add a remote MCP server by URL can use it. Clients differ in where that goes; these are the general shapes.
A client that takes a URL
Add a server, choose HTTP (sometimes called Streamable HTTP or remote), and paste the address above. Name it anything; slopped is short.
A client with a JSON config
Many keep servers in a JSON file shaped roughly like this. The file’s name and the exact keys depend on the client, so check its documentation.
Things the assistant can call. Every one is marked read-only, and every argument is checked against its schema before anything runs. slop_of_the_day and sk8_daily_level are older names kept for clients that already use them. Listed here from the server’s own tools/list when this page was built.
search_worldSearch the whole world
Search everything in the slopped.site world by words: artworks, games, codex entries, sites, jungle specimens, curriculum modules, GeoCities homepages, clocks, songs, fractal families, history chapters and more, matching names, old names and one-line descriptions. Use first when you don’t know what kind of thing something is. Returns ids (use them with world_graph or the slopped:// resources), names, types, links and descriptions, a page at a time.
Argument
Type
What it takes
queryrequired
string
Words to look for, e.g. "lighthouse", "sardine tin", "stapler". Up to 100 characters.
types
list of one of these
Only these kinds of thing. Any of: art, chapter, clock, codex, decision, exhibit, faction, fractal, game, homepage, hood, lesson, module, pathway, question, ring, season, secret, site, skin, song, source, specimen, taxon, tree, world.
limit
integer
1 to 25. Default 10.
cursor
string
From next_cursor of the previous page.
world_graphLook something up in the world graph
Look up any thing in the slopped.site world by id or name and see how it connects. Covers sites, games, codex entries (characters, creatures, places, objects), Fresh slop artworks, jungle specimens and taxa, secrets (titles only), curriculum pathways and modules, GeoCities homepages, neighbourhoods and rings, history chapters, Bad UI exhibits, Lineage trees, fractal families, clocks and songs. Ids look like "game:spider", "codex:slopwright", "art:detour", "site:jungle", "homepage:lumen". Returns the thing, its link, and every neighbour with the edge type and direction (appears-in, describes, pictures, classifies, owns-homepage, member-of-ring, teaches, unlocks, mentions…). Use for "where does X appear", "what is connected to Y" or "what is the page for Z". Give `to` as well to get the shortest chain of connections between two things.
Argument
Type
What it takes
id_or_namerequired
string
A node id ("codex:wren") or a name or old name ("Wren", "Last Card"). Up to 120 characters.
to
string
Optional second id or name: also return the shortest path between the two. Up to 120 characters.
type
string
Only match things of this type. One of: art, chapter, clock, codex, decision, exhibit, faction, fractal, game, homepage, hood, lesson, module, pathway and 12 more.
edge_type
string
Only list neighbours joined by this edge type. One of: appears-in, applies, borrows, breaks, classed-as, classifies, comes-from, concerns, connects, describes, filed-in, found-on, governs, in-season and 21 more.
limit
integer
How many neighbours to list. 1 to 100. Default 40.
search_artworkSearch Fresh slop
Search the slopped.site art collection by words in the title, subtitle or description, optionally within one category. Use to find pieces about a subject or mood. Returns up to `limit` matches with ids, titles, page links and image links; follow up with get_artwork for one piece. With no query, returns the newest pieces.
Argument
Type
What it takes
query
string
Words to look for, e.g. "moon", "teapot", "fish". Leave out to list the newest. Up to 100 characters.
category
string
Only this category. One of: Surreal, Spaces, Objects.
limit
integer
1 to 25. Default 8.
get_artworkGet one artwork
Get one Fresh slop piece by id: title, category, subtitle, description, and links to its page, image, widescreen wallpaper (if any) and the infinite-zoom Scroll. Set include_image to also return the picture itself. Use after search_artwork or of_the_day.
Argument
Type
What it takes
idrequired
string
The artwork id, e.g. "cutlery-at-low-tide".
include_image
boolean
Also return the image (a WebP of about 600 × 800). Default false.
of_the_dayOf the day
Pick the slopped.site thing of the day: an artwork, a game, a codex entry, a clock or a song, or the day’s SK8 2026 skate level. The same pick for everyone on a given date (UTC); seasonal pieces only in their season. Use when someone wants one recommendation or a daily pick. Returns its id, name, link and a line about it.
Argument
Type
What it takes
kind
string
What kind of thing to pick. sk8 is the skate game’s daily level (a seed and a link). One of: art, game, codex, clock, song, sk8. Default "art".
date
string
YYYY-MM-DD; defaults to today (UTC).
slop_of_the_daySlop of the day
Same as of_the_day with kind "art" (kept for older clients): the artwork of the day, the same for everyone on a date (UTC), never out of season.
Argument
Type
What it takes
date
string
YYYY-MM-DD; defaults to today (UTC).
sk8_daily_levelToday’s SK8 level
Same as of_the_day with kind "sk8" (kept for older clients): the daily level of SK8 2026, the slopped.site skate game, as a seed and a link that opens it.
Argument
Type
What it takes
date
string
YYYY-MM-DD in the player’s local date; defaults to today (UTC).
search_codexSearch the codex
Search the codex (codex.slopped.site), the encyclopedia of the slopped.site world: its people, creatures, places, objects, events, groups and concepts, from the Slopwright to the bosses in the games. Matches names, aliases and summaries. Use when someone asks who or what something in the slopped.site world is. Returns ids, kinds, one-line summaries and links; follow up with get_codex_entry or the slopped://codex/{id} resource.
Argument
Type
What it takes
query
string
Words to look for, e.g. "lamp", "lighthouse", "apprentice". Leave out to list everything (up to limit). Up to 100 characters.
kind
string
Only this kind. One of: Person, Creature, Place, Object, Event, Group, Concept.
limit
integer
1 to 25. Default 8.
get_codex_entryGet one codex entry
Get one codex entry by id: name, aliases, kind, world, summary, the games it appears in, and its page on codex.slopped.site. Use after search_codex; the slopped://codex/{id} resource has the entry’s full text.
Argument
Type
What it takes
idrequired
string
The entry id, e.g. "slopwright".
list_sitesList slopped.site sites
List every slopped.site site (the main gallery and its subdomains: Scroll, Games, Learn, the Slopwright, Backrooms, the codex, Meinong’s jungle, GeoCities and any added later) with a one-line description and link. Use when someone asks what is on slopped.site or where to find something.
No arguments.
list_curriculumList the Slop Curriculum
List the Slop Curriculum on learn.slopped.site: its pathways in order (and the ones planned), each pathway's modules (number, id, title, one-line summary, link) and the abilities its badge certifies. Use to recommend what to learn next or to find a module id for get_module.
No arguments.
get_moduleGet a curriculum module
Get one Slop Curriculum module: the knowledge, skills and abilities it builds, the lesson text, the quiz questions (without answers: learners take the quiz on the site), and the lab brief and checklist. Use to explain a topic from the course or to help someone prepare. Returns markdown.
Argument
Type
What it takes
idrequired
string
The module id (see list_curriculum). One of: generic-slop, say-what-you-mean, where-is-the-camera, light-it, medium-rare, one-thing-at-a-time, is-it-any-good, the-commission, house-style, skills, tools-not-vibes, design-a-tool, who-made-this, the-pipeline and 25 more.
check_specCheck a draft against a lab
Run a Slop Curriculum lab’s exact checks on a draft, before handing it in on learn.slopped.site: a tiny game spec, a sound recipe or pack (rendered and measured), a motion shot (rendered frame by frame), a SKILL.md, a tool definition, a verb or juice table, or a plan. The same code the lab judge runs; no model, nothing stored. Use when a learner wants to know whether their JSON or file passes before they submit. Returns each exact row (met or not, with a note) and lists the rows only the lab’s judge marks.
Argument
Type
What it takes
modulerequired
string
The module whose lab this draft is for (see list_curriculum), e.g. "ship-a-tiny-game", "a-sound-is-a-recipe", "camera-moves", "skills". One of: skills, design-a-tool, the-pipeline, one-verb, juice, rails, tests-that-play, levels-without-tears, the-game-loop, ship-a-tiny-game, generic-sound-slop, a-sound-is-a-recipe, one-event-one-sound, a-house-style-for-the-ears and 13 more.
draftrequired
string
The draft exactly as it would be pasted into the lab: JSON, a SKILL.md, or text. Up to 20,000 characters.
prior
object
Earlier labs’ answers in the same pathway, by format, for the rows that compare with them (e.g. a sound must be for an event on your brief). Keys: brief, sound, pack, palette, music, mix, access, shotbrief, shot, camera, keys, timing, loop, cut, critique.
fractal_linkMake a fractals.slopped.site link
Build a link that opens fractals.slopped.site on one exact view: a family (Mandelbrot, Julia, Burning Ship, ferns, L-system plants, the Mandelbulb and 20 more), its parameters, a palette, and where to look. Use when someone wants to see or share a particular fractal. Numbers out of range are clamped to the family’s limits. Returns the link and what it shows. Centre and zoom: x and y are the point in the middle, zoom is half the screen’s shorter side in the fractal’s units (smaller is deeper); for the 3D families x is the yaw, y the pitch and zoom the camera distance.
Argument
Type
What it takes
familyrequired
string
The fractal family. One of: mandelbrot, julia, burning-ship, tricorn, multibrot, newton, phoenix, nova, magnet, lyapunov, fern, sierpinski, carpet, dragon and 12 more.
params
object
The family’s own parameters (e.g. it for detail, cr and ci for a Julia set’s c); anything left out keeps its default. Keys: it, cr, ci, d, a, p, q, seq, spread, ratio, preset, seed, n, k, w, speed.
palette
string
A house palette. One of: acid, newsprint, highlighter, inkwash. Default "acid".
x
number
Centre, real part (or yaw for 3D).
y
number
Centre, imaginary part (or pitch for 3D).
zoom
number
Half the shorter side of the screen in the fractal’s units; smaller is deeper.
top_listThe best, picked, and the most saved
Read top.slopped.site: the curated picks (the best of each section with a one-line reason, and this week’s pick) or the most-saved board (what visitors saved most this week or ever, counted anonymously). Use for “what’s good here” or “what do people like”. Returns names, ids, links and reasons or counts.
Argument
Type
What it takes
list
string
The curated picks, or the counted most-saved board. One of: picks, most_saved. Default "picks".
section
string
Only one kind: art, game, homepage, exhibit, codex, fractal, tree or specimen. One of: art, game, homepage, exhibit, codex, fractal, tree, specimen.
window
string
most_saved only: the last 7 days, or all time. One of: week, all. Default "week".
limit
integer
1 to 30. Default 10.
secret_hintA first hint for a secret
The slopped.site sites hide secrets. Give the first, vaguest rung of one secret’s hint ladder, never the answer or the later hints: the rest is for the visitor to find (the codex’s secrets ledger reveals the next rungs one at a time). With no id, lists every secret’s title and site. Use when someone is hunting and wants a nudge.
Argument
Type
What it takes
id
string
The secret’s two-letter id (leave out to list them). One of: fa, cl, sp, ko, nm, rq, hd, rg, nd, nr, an, ob, lp, dw and 12 more.
verify_badgeVerify a Slop Curriculum badge
Check an Open Badge issued by learn.slopped.site: pass the compact JWS (from a baked badge), a credential URL, or a verify link. Checks the RS256 signature against the published key and returns who earned what, when, and the evidence. Use when someone shares a badge. Only verifies learn.slopped.site badges.
Argument
Type
What it takes
credentialrequired
string
A compact JWS (eyJ…), https://learn.slopped.site/credentials/<uuid>, or https://learn.slopped.site/#/verify/<uuid>. Up to 32,000 characters.
claim_lab_receiptClaim a lab receipt
For the Slop Curriculum’s “Tools, not vibes” lab only: returns a receipt proving the learner connected an MCP client to this server. Use when a learner asks for their lab receipt and gives their learner code (shown in the lab). Returns a receipt to paste back into the lab.
Argument
Type
What it takes
learner_coderequired
string
The learner code shown in the lab on learn.slopped.site.
Resources 1,332
Things the assistant (or you) can read, by address. Each is markdown with links; pictures are linked, not sent. resources/list pages through every one, 100 at a time; the templates say how the addresses are made.
Address
What
How many
slopped://art/{id}
One fresh slop artwork as markdown, with links. Ids: resources/list, search_world or world_graph.
418
slopped://codex/{id}
One codex entry as markdown, with links. Ids: resources/list, search_world or world_graph.
267
slopped://specimen/{id}
One jungle specimen as markdown, with links. Ids: resources/list, search_world or world_graph.
418
slopped://module/{id}
One curriculum module as markdown, with links. Ids: resources/list, search_world or world_graph.
39
slopped://homepage/{id}
One geocities homepage as markdown, with links. Ids: resources/list, search_world or world_graph.
120
slopped://clock/{id}
One clock as markdown, with links. Ids: resources/list, search_world or world_graph.
32
slopped://song/{id}
One song as markdown, with links. Ids: resources/list, search_world or world_graph.
22
slopped://faction/{id}
One faction (proposed) as markdown (every faction is proposed until approved). Ids: resources/list, search_world or world_graph.
9
slopped://skill/{id}
One skill (skill.md) as markdown: the SKILL.md text, for the apply_skill prompt. Ids: resources/list, search_world or world_graph.
5
slopped://graph/{node}
Any knowledge-graph node (e.g. slopped://graph/codex:wren, slopped://graph/game:spider) and its connections, as markdown.
every node
slopped://artwork
Every artwork on slopped.site: id, title, category, subtitle and links.
1
slopped://curriculum
Pathways and modules on learn.slopped.site (titles, summaries, links).
1
Factions come from a proposal that isn’t canon yet; each faction resource says so at the top.
Prompts 11
Ready-made instructions a client can offer you, usually as a menu or a slash command. Their rules aren’t retyped: each build reads them from the skills and the course this site is built with, so the prompts follow the same rules the sites do.
direct_this_ideaDirect this idea
Turn a vague image idea into a directed prompt, the Slopwright’s way.
idearequired: The idea, e.g. "a lonely lighthouse"
critique_this_imageCritique this image
Critique an AI image against its brief, with the checklist from the Slop Curriculum.
brief: What the image was supposed to show
direct_tiny_gameDirect a tiny game
Write a tiny-game spec (JSON) the Slop Curriculum’s engine can play, from an idea, by the capstone lab’s rules.
idearequired: The game idea, e.g. "a toast escaping a toaster"
verb: jump, flap or dodge (optional)
write_jump_soundWrite a jump sound
Write a sound recipe (JSON) for a game’s jump, by the sound pathway’s rules: no click, short, headroom, and a reason.
gamerequired: The game and what jumping is in it, e.g. "a frog on lily pads"
feel: How it should feel, e.g. "springy, small"
animate_thisAnimate this
Turn a subject and an action into a short shot (JSON) the motion bench can render, with a named camera move, by the motion pathway’s rules.
subjectrequired: What is in the shot, e.g. "a paper boat"
actionrequired: What it does, e.g. "drifts across a puddle"
write_1998_homepageWrite a 1998 homepage
Write a GeoCities-style personal homepage as someone from the slopped.site world would have built it in 1998: a neighbourhood, a layout and real content, honest that it’s AI-made.
ownerrequired: Who keeps it, e.g. "a lighthouse keeper in a sardine tin"
topic: What the page is about
classify_for_jungleClassify for the jungle
Classify a thing in a picture for Meinong’s jungle: possible or impossible, what it breaks, and a filing note in the house voice.
thingrequired: What the picture shows, e.g. "a whole sea in a spoon"
write_skill_descriptionWrite a skill description
Write the description line of an Agent Skill (SKILL.md frontmatter): what it covers, the tools it ships, and “Use when …”, under 1024 characters.
whatrequired: What the skill covers
when: The situations it should load in
slopwright_voiceWrite in the Slopwright’s voice
Write copy for slopped.site in the house voice: deadpan, two beats, honest that it’s AI-made, with the lore rules.
subjectrequired: What to write about
form: e.g. a title and subtitle, a game-over line, a premise, an empty state
write_codex_entryWrite a codex entry
Draft a codex entry for something in the slopped.site world, by the codex’s rules: never contradict a game, prefer silence, quote only real lines.
namerequired: What the entry is about
kind: person, creature, place, object, event, group or concept
notes: What is known about it, and where it appears
apply_skillApply a skill
Apply one of the skills offered as resources (slopped://skill/{id}) to a task: the SKILL.md is embedded, then the task.
skillrequired: The skill id: slopwright-house-style, game-feel, game-writing, skill-authoring, game-design-brief
taskrequired: What to do with it
Skills, over MCP
A fair question: can an MCP server hand out skills, or only prompts?
MCP servers offer three things : tools (functions to call), resources (things to read) and prompts (templates to fill in). There is no “skill” in the protocol. A skill, the kind made of a SKILL.md with a description that says when to use it, is just text plus the habit of reading it at the right moment.
So this server ships a skill as two parts. The SKILL.md is a resource at slopped://skill/{id}, and the apply_skill prompt embeds it ahead of your task. A client that keeps skills of its own can read the resource and save it as one.
On offer: slopwright-house-style (slopwright-house-style (an example from “Skills”)), game-feel (game-feel (an example from “Rails for the machine”)), game-writing (game-writing (this site’s own skill, excerpted)), skill-authoring (skill-authoring (this site’s own skill, excerpted)), game-design-brief (game-design-brief (this site’s own skill, excerpted)). The first two are the worked examples from the course; the others are this site’s own skills, with their commands and run logs left out. Nothing with keys, secrets or deploy steps is offered.
Examples
Real requests and the server’s real answers, captured when this page was built (long strings shortened). The dates are fixed so the examples stay put; ask the live server for today’s.
Search everything
Any word, any kind of thing. The ids it returns work with every other tool and resource.
{
"jsonrpc": "2.0",
"id": 19,
"result": {
"content": [
{
"type": "text",
"text": "21 matches for “sardine tin” (1–4):\n- Sardine tin (codex:sardine-tin): A sardine tin that has decided to walk. Armoured. https://codex.slopped.site/e/sardine-tin/\n- Sardine tin (skin:st): A printed tin lid with a pink label. The display is the colour of the sea, roughly. https://desktop.slopped.site/\n- The sardine tin (codex:the-sardine-tin): A sealed sardine tin on the bench. The lid rolls back on a whole sea. https://codex.slopped.site/e/the-sardine-tin/\n- The sardine-tin sea (codex:sardine-tin-sea): The sea inside the sardine tin on the bench. It’s mostly oil. https://codex.slopped.site/e/s… [49 more characters]"
}
],
"structuredContent": {
"total": 21,
"results": [
{
"id": "codex:sardine-tin",
"type": "codex",
"name": "Sardine tin",
"url": "https://codex.slopped.site/e/sardine-tin/",
"description": "A sardine tin that has decided to walk. Armoured."
},
{
"id": "skin:st",
"type": "skin",
"name": "Sardine tin",
"url": "https://desktop.slopped.site/",
"description": "A printed tin lid with a pink label. The display is the colour of the sea, roughly."
},
{
"id": "codex:the-sardine-tin",
… [shortened here: 1,580 characters in all]
What the assistant reads
21 matches for “sardine tin” (1–4):
- Sardine tin (codex:sardine-tin): A sardine tin that has decided to walk. Armoured. https://codex.slopped.site/e/sardine-tin/
- Sardine tin (skin:st): A printed tin lid with a pink label. The display is the colour of the sea, roughly. https://desktop.slopped.site/
- The sardine tin (codex:the-sardine-tin): A sealed sardine tin on the bench. The lid rolls back on a whole sea. https://codex.slopped.site/e/the-sardine-tin/
- The sardine-tin sea (codex:sardine-tin-sea): The sea inside the sardine tin on the bench. It’s mostly oil. https://codex.slopped.site/e/sardine-tin-sea/
More: call again with cursor "4".
How two things connect
One thing, its neighbours, and the shortest chain to another.
{
"jsonrpc": "2.0",
"id": 20,
"result": {
"content": [
{
"type": "text",
"text": "**Wren** (codex:wren)\nhttps://codex.slopped.site/e/wren/\nThe Slopwright’s apprentice, as Overtime has it. Apron, ladle, a lot of enthusiasm.\n21 connections (first 4):\n- ← concerns Is Overtime’s Wren the same person as the unnamed apprentice in Always On and Benchwork? (question:wren-apprentice) https://codex.slopped.site/questions/#wren-apprentice\n- ← links-to The apprentice (codex:apprentice) https://codex.slopped.site/e/apprentice/\n- ← links-to Overtime (codex:overtime-game) https://codex.slopped.site/e/overtime-game/\n- ← links-to Slop (codex:slop) https://codex.slopped.site/e/slop/\nAlso mat… [422 more characters]"
}
],
"structuredContent": {
"node": {
"id": "codex:wren",
"type": "codex",
"name": "Wren",
"url": "https://codex.slopped.site/e/wren/",
"aka": [],
"description": "The Slopwright’s apprentice, as Overtime has it. Apron, ladle, a lot of enthusiasm."
},
"neighbours": [
{
"direction": "in",
"edge": "concerns",
"label": null,
"node": {
"id": "question:wren-apprentice",
"type": "question",
"name": "Is Overtime’s Wren the same person as the unnamed apprentice in Always On and Benchwork?",
… [shortened here: 2,903 characters in all]
What the assistant reads
**Wren** (codex:wren)
https://codex.slopped.site/e/wren/
The Slopwright’s apprentice, as Overtime has it. Apron, ladle, a lot of enthusiasm.
21 connections (first 4):
- ← concerns Is Overtime’s Wren the same person as the unnamed apprentice in Always On and Benchwork? (question:wren-apprentice) https://codex.slopped.site/questions/#wren-apprentice
- ← links-to The apprentice (codex:apprentice) https://codex.slopped.site/e/apprentice/
- ← links-to Overtime (codex:overtime-game) https://codex.slopped.site/e/overtime-game/
- ← links-to Slop (codex:slop) https://codex.slopped.site/e/slop/
Also matches: WREN'S PAGE OF TIDYING (MOSTLY) (homepage:wren), Is Overtime’s Wren the same person as the unnamed apprentice in Always On and Benchwork? (question:wren-apprentice)
Path to Meinong’s jungle: codex:site-geocities -related→ codex:wren, codex:site-geocities -related→ codex:meinongs-jungle, codex:… [122 more characters]
A daily pick
The same for everyone on a date. Seasonal pieces only in season.
{
"jsonrpc": "2.0",
"id": 21,
"result": {
"content": [
{
"type": "text",
"text": "Clock of the day for 2026-10-31:\n**Paper wheels** (clock:paper-wheels): Three paper discs behind a window. No script turns them.\nhttps://clocks.slopped.site/c/paper-wheels/"
}
],
"structuredContent": {
"kind": "clock",
"date": "2026-10-31",
"id": "clock:paper-wheels",
"name": "Paper wheels",
"url": "https://clocks.slopped.site/c/paper-wheels/",
"description": "Three paper discs behind a window. No script turns them."
}
}
}
What the assistant reads
Clock of the day for 2026-10-31:
**Paper wheels** (clock:paper-wheels): Three paper discs behind a window. No script turns them.
https://clocks.slopped.site/c/paper-wheels/
Check a draft before handing it in
The sound lab’s exact checks: the recipe is rendered and measured, by the same code the lab runs.
Request
{
"jsonrpc": "2.0",
"id": 22,
"method": "tools/call",
"params": {
"name": "check_spec",
"arguments": {
"module": "a-sound-is-a-recipe",
"draft": "{\"wave\":\"triangle\",\"pitch\":260,\"slide\":620,\"attack\":0.004,\"decay\":0.1,\"sustain\":0,\"release\":0.03,\"volume\":-16,\"filter\":{\"type\":\"lowpass\",\"cutoff\":2200},\"event\":\"jump\",\"why\":\"It slides up because the frog goes up.\"}",
"prior": {
"brief": "Game: a frog on lily pads\nEvents: jump, land, splash, eat\nPalette: soft triangles, nothing harsh\nMusic: a slow pond loop\nNever: a buzz"
}
}
}
}
Response
{
"jsonrpc": "2.0",
"id": 22,
"result": {
"content": [
{
"type": "text",
"text": "Lab 24, A sound is a recipe: 5 of 5 exact checks met.\n✓ A recipe the synthesizer can play: A triangle sliding 260→620 Hz, 134 ms.\n✓ For an event from your brief: “jump”, from your brief.\n✓ No click: 3 ms in, 10 ms out: 4 ms in, a smooth fade out.\n✓ Half a second at most: 134 ms.\n✓ Peaks at −6 dBFS or below (measured): Peaks at -16.5 dBFS.\nJudged on the site, not here: The why ties the recipe to the moment.\nHand it in: https://learn.slopped.site/#/m/a-sound-is-a-recipe"
}
],
"structuredContent": {
"module": "a-sound-is-a-recipe",
"met": 5,
"total": 5,
"rows": [
{
"id": "sound_shape",
"label": "A recipe the synthesizer can play",
"met": true,
"note": "A triangle sliding 260→620 Hz, 134 ms."
},
{
"id": "from_brief",
"label": "For an event from your brief",
"met": true,
"note": "“jump”, from your brief."
},
{
"id": "no_click",
"label": "No click: 3 ms in, 10 ms out",
"met": true,
"note": "4 ms in, a smooth fade out."
},
{
"id": "short",
"label": "Half a second at most",
"met": true,
"note": "134 ms."
},
… [shortened here: 1,265 characters in all]
What the assistant reads
Lab 24, A sound is a recipe: 5 of 5 exact checks met.
✓ A recipe the synthesizer can play: A triangle sliding 260→620 Hz, 134 ms.
✓ For an event from your brief: “jump”, from your brief.
✓ No click: 3 ms in, 10 ms out: 4 ms in, a smooth fade out.
✓ Half a second at most: 134 ms.
✓ Peaks at −6 dBFS or below (measured): Peaks at -16.5 dBFS.
Judged on the site, not here: The why ties the recipe to the moment.
Hand it in: https://learn.slopped.site/#/m/a-sound-is-a-recipe
A link to one exact fractal
Out-of-range numbers are clamped and the response says so.
{
"jsonrpc": "2.0",
"id": 23,
"result": {
"content": [
{
"type": "text",
"text": "**Julia set** (Escape-time), Newsprint palette\nhttps://fractals.slopped.site/#julia/cr=-0.8,ci=0.156,it=300,pal=newsprint,ph=0,den=1/x=0,y=0,s=0.9\nRule: z → z² + c, starting from z = the pixel; c is fixed\nFractals render in the browser (WebGL); the page has a photosensitivity setting."
}
],
"structuredContent": {
"family": "julia",
"name": "Julia set",
"params": {
"cr": -0.8,
"ci": 0.156,
"it": 300
},
"palette": "newsprint",
"view": {
"x": 0,
"y": 0,
"s": 0.9
},
"url": "https://fractals.slopped.site/#julia/cr=-0.8,ci=0.156,it=300,pal=newsprint,ph=0,den=1/x=0,y=0,s=0.9",
"adjusted": []
}
}
}
What the assistant reads
**Julia set** (Escape-time), Newsprint palette
https://fractals.slopped.site/#julia/cr=-0.8,ci=0.156,it=300,pal=newsprint,ph=0,den=1/x=0,y=0,s=0.9
Rule: z → z² + c, starting from z = the pixel; c is fixed
Fractals render in the browser (WebGL); the page has a photosensitivity setting.
A nudge, not an answer
Only the first rung of the hint ladder. The rest is on the codex’s ledger.
{
"jsonrpc": "2.0",
"id": 24,
"result": {
"content": [
{
"type": "text",
"text": "**Thirty lives** (slopped.site)\nFirst hint: The front page remembers an old code. Up, up...\nThe next hints are on the codex’s ledger, one at a time: https://codex.slopped.site/secrets/"
}
],
"structuredContent": {
"id": "ko",
"title": "Thirty lives",
"site": "main",
"hint": "The front page remembers an old code. Up, up...",
"rung": 1,
"planned": false,
"ledger": "https://codex.slopped.site/secrets/"
}
}
}
What the assistant reads
**Thirty lives** (slopped.site)
First hint: The front page remembers an old code. Up, up...
The next hints are on the codex’s ledger, one at a time: https://codex.slopped.site/secrets/
A strict schema says no
Unknown arguments, wrong types and values outside an enum are refused before anything runs.
{
"jsonrpc": "2.0",
"id": 26,
"result": {
"contents": [
{
"uri": "slopped://specimen/the-teabag-lighthouse",
"mimeType": "text/markdown",
"text": "# The teabag lighthouse, as a specimen\n\n\n**Kind:** Possible: Nothing contradictory. It just isn’t.\n**Breaks:** Scale (The wrong size, or holding something the wrong size.); Category (One kind of thing being, or doing the job of, another.)\n**Note:** Lighthouses stand on rocks and glow; teabags only stand in cups. The steeping is the problem.\n**Where it doesn’t exist:** A dark sea, off a black rock, all night.\n**Nearest existing relative:** A teabag, and a lighthouse.\n\nSpecimen page: https://jungle.slopped.site/s… [180 more characters]"
}
]
}
}
What the assistant reads
# The teabag lighthouse, as a specimen

**Kind:** Possible: Nothing contradictory. It just isn’t.
**Breaks:** Scale (The wrong size, or holding something the wrong size.); Category (One kind of thing being, or doing the job of, another.)
**Note:** Lighthouses stand on rocks and glow; teabags only stand in cups. The steeping is the problem.
**Where it doesn’t exist:** A dark sea, off a black rock, all night.
**Nearest existing relative:** A teabag, and a lighthouse.
Specimen page: https://jungle.slopped.site/s/the-teabag-lighthouse/
The artwork: https://slopped.site/a/the-teabag-lighthouse
Meinong’s jungle files things that don’t exist: a picture that exists, of an object that doesn’t.
A skill, applied
The prompt embeds the skill (a resource) and then the task.
Request
{
"jsonrpc": "2.0",
"id": 27,
"method": "prompts/get",
"params": {
"name": "apply_skill",
"arguments": {
"skill": "slopwright-house-style",
"task": "Direct a photo of a teapot for the site."
}
}
}
Response
{
"jsonrpc": "2.0",
"id": 27,
"result": {
"description": "Apply one of the skills offered as resources (slopped://skill/{id}) to a task: the SKILL.md is embedded, then the task.",
"messages": [
{
"role": "user",
"content": {
"type": "resource",
"resource": {
"uri": "slopped://skill/slopwright-house-style",
"mimeType": "text/markdown",
"text": "---\nname: slopwright-house-style\ndescription: The slopped.site photo style for product and object shots. Use when generating or reviewing images of a single everyday object for slopped.site.\n---\n\n# Slopwright house style\n\n1. Subject: one ordinary object, specific (material, condition).\n2. Camera: eye-level close-up, subject off-centre, empty space.\n3. Light: one hard light from the left; deep shadows.\n4. Palette: only teal and rust.\n5. Medium: 35mm film photograph, visible grain.\nNever: people, text, hype words, living artists' names.\n\nExample: \"a chipped enamel jug on a windowsill, eye-level … [76 more characters]"
}
}
},
{
"role": "user",
"content": {
"type": "text",
"text": "Follow the skill above (slopwright-house-style) to do this: Direct a photo of a teapot for the site.\nWork through its rules in order, and finish with its checks, if it has any."
}
… [shortened here: 1,251 characters in all]
What the assistant reads
[embedded resource slopped://skill/slopwright-house-style]
Follow the skill above (slopwright-house-style) to do this: Direct a photo of a teapot for the site.
Work through its rules in order, and finish with its checks, if it has any.
What it won’t do
Small on purpose. It runs on Cloudflare’s free plan alongside every other site here.
Write anything. No tool stores, saves or counts. The one that makes something, claim_lab_receipt, signs a receipt for the course’s MCP lab and keeps no copy.
Run a model. No tool calls an AI. The course’s labs use one to judge; check_spec runs only the checks that are plain code.
Give secrets away.secret_hint gives the first, vaguest hint and stops.
Go elsewhere. It reads its own bundled data, plus two of this site’s own pages when asked: the codex’s search index and top.slopped.site’s most-saved board, both cached.
Know who you are. No accounts, no sessions, no cookies. It sees the requests, not the person.