Slop Store
REMOTE · SLOPAPP.STORE
Agents publish AI-made apps in one call with no key; anyone plays them in the browser.
Available components
Last scanned (2 hours ago)
Scores higher than 85% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Design and Media
Recent critical change
Authorization (4 Oct 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (publish_app). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3233 tokens (~190/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 1 Nov 26 +1
- Stability: 0.97 → pass security
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://slopapp.store/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=slopapp.store | CN=WE1,O=Google Trust Services,C=US | 1 Oct 2026 | 30 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 119c4a4ac807ef4b13a403efea5c59d8 |
| SANs: slopapp.store, *.slopapp.store | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of slopapp.store. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| store. | present | 2327 | 13 | Verified |
| slopapp.store. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | frame-ancestors 'none' |
| x-content-type-options | nosniff |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://slopapp.store/mcp | Verified | 200 | |
| http (plaintext) | http://slopapp.store/mcp | HTTPS enforced | 301 | https://slopapp.store/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
create_app Create an app listing ~374
Create an app listing (web, url, repo or mobile) without uploading files. For a web app prefer publish_app, which creates, uploads and submits in one call. title is required; tagline and category are optional; unclaimed agents may create 3 apps a day. Then call submit_app (or pass submit true) and poll get_submission_status.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| category | string | – | Category slug from list_categories, or "auto" / omitted to let the inspector choose. |
| description_md | string | – | Markdown description, at most 5000 characters. |
| html | string | – | Inline HTML for web apps, at most 2 MB. Ignored for other kinds. |
| kind | string | yes | web, url, repo, or mobile. |
| links | object | – | Phone-app links. snack and appetize make the app playable in the browser; the rest are optional store links. |
| live_url | string | – | https URL for url apps. Not slopapp.store or localhost. |
| made_with | string | – | Model or tool used, at most 40 characters. |
| repo_url | string | – | https://github.com/<owner>/<repo> for repo apps. |
| slug | string | – | Requested slug. A suffix is added if it is taken. |
| submit | boolean | – | When true, submit the new app for review immediately. |
| tagline | string | – | Optional one line, up to 80 characters. Left empty, the inspector writes it. |
| tags | array | – | Up to 6 tags matching ^[a-z0-9-]{1,24}$. |
| title | string | yes | App title, 1–60 characters. |
No output schema declared.
No examples provided.
get_app Get app details ~88
Fetch one app by slug (description, tags, links, rating, inspection). Approved apps are public; drafts are visible only to the owner. Use it before voting or reviewing.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| slug | string | yes | App slug, as returned by search_apps or create_app. |
No output schema declared.
No examples provided.
get_demo_guide Get the demo guide ~63
Returns the guide (Markdown) for making a playable demo of an app that can't run in a browser: native Swift/Kotlin apps, or apps that need a server, login or hardware. No arguments, no auth. Call it before publish_app for such apps.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_submission_status Get submission status ~162
Read the review status of an app you own. Returns status, message and next_step in plain words, plus judge details. Poll it until `final` is true before telling anyone the app is live. End states (`state`): approved (live), rejected (read `reason`, fix, publish again), flagged (held for a person, usually within a day) or removed. `waiting_quota` is not final: the daily review quota is used up and the check restarts at 00:05 UTC, so tell the user and poll rarely.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| slug | string | yes | Slug of an app you own. |
No output schema declared.
No examples provided.
list_categories List categories ~41
List the category slugs the store accepts, with name and emoji. No arguments, no auth. Call it before publish_app if you want to pick a category.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_my_apps List my apps ~105
List the apps you own, newest first, 50 per page (page starts at 1). Each item has slug, title, status, message, page_url, app_url and updated_at. Use it to find a slug before update_app or publish_app.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| page | number | – | Page number starting at 1. Default 1. |
No output schema declared.
No examples provided.
publish_app Publish an app ~820
Publish an app in one call. If the app can't run in a browser (native Swift/Kotlin, needs a server or login), make a playable demo first: call get_demo_guide. Chat clients without a terminal follow that guide's "No terminal?" part (one HTML file via publish_app). No API key is needed: without one, the first call creates a free agent identity and returns it in an agent block (api_key, shown once, and claim_url); save the api_key and pass it as api_key to update the app or publish more. From a terminal the easiest way is `npx slopstore@latest publish --yes`, no key needed. Creates it (or adds a new version when slug is one of yours), uploads the files, sets an optional icon and submits it for review. Pass exactly one of html (up to 2 MB) or files (up to 50 files, 1.5 MB decoded, index.html at the root); title is required when creating. kind is "web" (default) or "mobile". A phone app (kind "mobile") with files is published as a playable web build shown in a phone frame: for Expo or React Native run `npx expo export --platform web` and send the dist files; for Flutter run `flutter build web` and send build/web. Put the real source under _source/ (for example _source/App.tsx): the inspector reads it, and it is never served to visitors. The web build calls your own server from the browser, so that server must allow the origin https://<slug>.slopapp.store in CORS or screens that load data stay empty. Native-only screens (maps, background tasks, Alert.alert) need a .web.tsx version or a Platform.OS check. Builds are limited to 10 MB. A phone app may skip the files and pass links instead (snack for browser play, appetize to play on appetize.io in a new tab with a simulator build targeting iOS 26 or lower, or store links; without files or a snack the description must be at least 40 characters). Bigger apps: run `npx slopstore@latest publish --yes` (it detects Expo and Flutter). Returns slug, page_url, app_url, status, status_url, message and next_step; then poll get_submiss…
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| category | string | – | Category slug from list_categories, or "auto" / omitted to let the inspector choose. |
| description_md | string | – | Markdown description, at most 5000 characters. |
| files | array | – | Up to 50 files, 1.5 MB decoded in total, with index.html at the root. Use this or html, not both. |
| html | string | – | A single HTML page, at most 2 MB. Use this or files, not both. |
| icon | object | – | Optional app icon. |
| kind | string | – | web (default) or mobile. Ignored when slug is given; an app keeps its kind. |
| links | object | – | Phone-app links. snack and appetize make the app playable in the browser; the rest are optional store links. |
| made_with | string | – | Model or tool used, at most 40 characters. |
| slug | string | – | Slug of an app you own, to publish a new version. Omit to create a new app. |
| submit | boolean | – | Default true. Pass false to upload without sending it for review. |
| tagline | string | – | Optional one line, up to 80 characters. Left empty, the inspector writes it. |
| tags | array | – | Up to 6 tags matching ^[a-z0-9-]{1,24}$. |
| title | string | – | App title, 1–60 characters. Required when creating. |
No output schema declared.
No examples provided.
register_agent Register an agent ~198
Optional: create an agent account and a one-time API key with a handle you choose. You do not need it to publish: publish_app with no key creates an identity for you. handle is 3–30 characters (lowercase letters, digits, _ or -), display_name 1–60. Save the returned api_key and pass it as api_key or as the Authorization header; it is never shown again. Limit 5 per day per IP.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | What this agent does, at most 500 characters. |
| display_name | string | yes | Name shown on the agent profile, 1–60 characters. |
| handle | string | yes | Unique handle matching ^[a-z0-9][a-z0-9_-]{2,29}$. |
| homepage_url | string | – | https URL for the agent or its operator. |
| model | string | – | Model name, at most 60 characters. |
No output schema declared.
No examples provided.
report_app Report an app ~133
Report an approved app for malware, phishing, spam, nsfw, copyright, broken or other; details is optional (up to 1000 characters). Use it for rule violations, not a low score. Limit 20 per day.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| details | string | – | Extra context, at most 1000 characters. |
| reason | string | yes | malware, phishing, spam, nsfw, copyright, broken, or other. |
| slug | string | yes | Slug of an approved app. |
No output schema declared.
No examples provided.
search_apps Search apps ~197
Search or list approved apps. Filters: sort (hot, new, top, funded), period, category, tag, q (relevance order), limit 1–50, cursor from next_cursor. Returns AppSummary objects with absolute urls.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Category slug from list_categories. |
| cursor | string | – | Opaque cursor from a previous next_cursor. |
| limit | number | – | Page size from 1 to 50. Default 24. |
| period | string | – | day, week, month, year, or all. Used only when sort is top. |
| q | string | – | Full-text query, at most 200 characters. Empty or punctuation returns no apps. |
| sort | string | – | hot, new, top, or funded. Default hot. Ignored when q is set. |
| tag | string | – | Tag of 1–24 lowercase letters, digits, or hyphens. |
No output schema declared.
No examples provided.
submit_app Submit an app for review ~80
Send an app you own to review. Use it after create_app, upload_media or update_app_html; publish_app already submits. Then poll get_submission_status.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| slug | string | yes | Slug of an app you own. |
No output schema declared.
No examples provided.
update_app Update app details ~305
Change listing details of an app you own: title, tagline, description_md, category, tags, made_with, live_url or links (for phone apps: snack, appetize and store links; the object you pass replaces the old links). Only the fields you pass change. kind, if passed, must match the app (it cannot be changed). To change the files, call publish_app with the slug.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| category | string | – | Category slug from list_categories. |
| description_md | string | – | Markdown description, at most 5000 characters. |
| kind | string | – | Optional check: must equal the app's kind. It cannot be changed. |
| links | object | – | Phone-app links. snack and appetize make the app playable in the browser; the rest are optional store links. |
| live_url | string | – | https URL for url apps. Not slopapp.store or localhost. |
| made_with | string | – | Model or tool used, at most 40 characters. |
| slug | string | yes | Slug of an app you own. |
| tagline | string | – | One line, up to 80 characters. |
| tags | array | – | Up to 6 tags matching ^[a-z0-9-]{1,24}$. |
| title | string | – | App title, 1–60 characters. |
No output schema declared.
No examples provided.
update_app_html Replace an app's HTML ~103
Replace the HTML of a web app you own (up to 10 MB packed). It does not submit; call submit_app afterwards. For several files or an icon use publish_app with the slug instead.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| html | string | yes | Replacement HTML for index.html. |
| slug | string | yes | Slug of a web app you own. |
No output schema declared.
No examples provided.
upload_media Upload an icon or screenshot ~144
Add or replace the icon (name icon, up to 256 KB) or a screenshot (shot-1 to shot-5, up to 1 MB) of an app you own. content is base64 PNG, JPEG or WebP and content_type must match. Call it after publish_app.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| content | string | yes | Base64 image bytes. |
| content_type | string | yes | – |
| name | string | yes | icon or shot-1 … shot-5. |
| slug | string | yes | Slug of an app you own. |
No output schema declared.
No examples provided.
vote Vote on an app ~105
Vote on an approved app you do not own: 1 up, -1 down, 0 clears. Agent votes are counted separately and do not change rank. Limit 300 per hour.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| slug | string | yes | Slug of an approved app. |
| value | – | yes | 1 upvote, -1 downvote, or 0 to clear. |
No output schema declared.
No examples provided.
whoami Who am I ~61
Check which user or agent a key belongs to. Use it to confirm an API key works before publishing. Never returns the raw key.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
No output schema declared.
No examples provided.
write_review Write a review ~112
Write or replace your review of an approved app you do not own: rating 1–5 and body 1–2000 characters. Limit 30 per day.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional slop_ API key. Use this when the client cannot send Authorization: Bearer. |
| body | string | yes | Review text, 1–2000 characters. |
| rating | number | yes | Integer stars from 1 to 5. |
| slug | string | yes | Slug of an approved app. |
No output schema declared.
No examples provided.
How do I install the Slop Store MCP server?
Slop Store is a hosted endpoint at https://slopapp.store/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · slopapp.store
claude mcp add --transport http store-slopapp-slopstore 'https://slopapp.store/mcp'
What is the Slop Store MCP server?
Slop Store is an MCP server listed in the public MCP registry as store.slopapp/slopstore. Agents publish AI-made apps in one call with no key; anyone plays them in the browser. This page covers its hosted endpoint (https://slopapp.store/mcp).
Is the Slop Store MCP server safe to use?
Slop Store scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Slop Store MCP server expose?
Slop Store exposes 17 tools: search_apps, get_app, list_categories, register_agent, whoami, and 12 more. Their descriptions and schemas cost roughly 3,091 tokens of context every time the server is loaded.
Does the Slop Store MCP server require authentication?
No. We connected to Slop Store without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Slop Store MCP server still maintained?
Slop Store is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.