List NSFW AI
Server Details
Where an NSFW AI app can get listed: 273 places with price, link type, review terms, submit links.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- belovdigital/listnsfwai-mcp
- GitHub Stars
- 0
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: one fetches details for a single place, one searches across places, one aggregates cost statistics, and one checks where an app is listed. search_places and get_place are complementary list/detail tools rather than overlapping ones.
Only get_place and search_places follow the imperative verb_noun pattern; listing_costs is a gerund/noun phrase and where_is_app_listed is a question-style name. The names are readable and all snake_case, but the mixed conventions make the set less predictable.
Four tools is well-scoped for a narrow read-only directory/tracker. Each tool covers a distinct query mode—search, detail, aggregate stats, and app placement—so none feel redundant.
The core read-only workflow is covered: find places, inspect a place, understand the cost landscape, and see where an app is listed. The main minor gap is that where_is_app_listed returns at most 10 places and defers the full list to the external site's tracker.
Available Tools
4 toolsget_placeOne place's listing termsAInspect
The full terms of one place by its slug or domain: verdict, price text, link, review, submit URL, contact, notes and the checked date, plus the terms as a paragraph.
| Name | Required | Description | Default |
|---|---|---|---|
| place | Yes | Slug (aihaven) or domain (aihaven.com) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does disclose the exact content of the response, which is useful, but it does not explicitly state that the operation is read-only, how missing or invalid slugs are handled, or any other behavioral caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose ('full terms of one place') and then provides a concise field list. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter retrieval tool with no output schema, the description covers the essential input form and the contents of the result. It is slightly incomplete only in that it offers no guidance about sibling tools or behavior on missing data, but these are minor for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter `place` is already documented with an example ("Slug (aihaven) or domain (aihaven.com)"). The description merely repeats the 'slug or domain' concept without adding new format, validation, or usage detail, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: the full listing terms of one place, retrievable by slug or domain. It enumerates the specific fields returned (verdict, price text, link, review, submit URL, contact, notes, checked date, paragraph), which distinguishes it from sibling tools like search_places and listing_costs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a specific slug or domain and need complete terms for that one place. However, it does not explicitly state when not to use it or name alternatives such as search_places for discovering places, so the routing guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listing_costsWhat listing costs across the catalogueAInspect
Counts and prices across all places: free ways in, paid only, price range and median, link types, by kind, with the date of the last check.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the safety and behavior disclosure. It does add a behavioral detail—the date of the last check—and the phrasing implies a read-only aggregation, but it does not explicitly state that it has no side effects, nor does it mention authorization or rate-limit considerations. For an apparent query-only tool this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one compact sentence with no filler or repetition. Every clause adds a distinct piece of information, and the main purpose ('Counts and prices across all places') is front-loaded, making the tool's function immediately obvious.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of a schema and annotations, the description serves as the full contract and enumerates most expected output dimensions, including a freshness timestamp. It falls just short of specifying the output's structure (e.g., object vs list, currency, or exact breakdown of 'by kind'), which an agent might need for reliable parsing, but it is largely sufficient for a zero-parameter aggregation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so the description is the sole source of meaning beyond the structured schema. It goes well beyond the baseline by detailing what the output covers (counts, pricing modes, price range, median, link types, kind, freshness), adding substantial semantic value where the schema provides none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Counts and prices') and a clear resource ('across all places'), then enumerates the dimensions it covers (free vs paid, price range, median, link types, by kind, last-check date). This distinguishes it from sibling tools like get_place (single place) and search_places (search), which focus on individual records or discovery rather than catalogue-wide aggregation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys that this is the tool for an aggregate, catalogue-wide pricing snapshot, which is distinct from the single-record focus of get_place and the discovery focus of search_places. It does not explicitly state when not to use it or name alternatives, but the context makes the appropriate use case clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_placesSearch places that list NSFW AI appsAInspect
Find directories, review sites, list sites, AI directories, launch sites, press and networks that take NSFW AI apps, filtered by kind, kind of app, price, link type, verdict or a text query. Returns name, domain, kind, verdict, price, link, review terms, submit URL and the page to cite.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | nsfw_directory | review_site | adult_list | ai_directory | launch | press | network | |
| link | No | ||
| focus | No | Only places built for this kind of app, plus the general ones | |
| limit | No | Default 25 | |
| price | No | free: a free way in; paid: sells a listing or a spot | |
| query | No | Matches name, domain or notes | |
| accepts | No | Verdict; default: yes and clean_only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly states what the tool returns (name, domain, kind, verdict, etc.) and that it filters by several criteria, which implies it is a read-only query. However, it does not mention pagination, default limit (though the schema does), sorting, or any potential side effects (though none are expected for a search). The description is transparent about outputs but not about limits or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that front-loads the purpose and then lists filters and return fields. It contains no filler and each clause adds value. It is concise enough for an agent to parse quickly, though it could be slightly improved with a bulleted list, but as prose it is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, no annotations, and no output schema, the description covers the essential aspects: what it returns and how it filters. It lists the return fields completely, which is crucial since there is no output schema. It does not mention default behaviors like the 25-item limit (which is in the schema) or any auth requirements, but for a search operation those are typically not needed. The description is sufficient for an agent to call the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, and the schema already documents each parameter (enums for kind, link, price, accepts; limit with default and range; query with maxLength). The description adds no additional parameter-level meaning beyond restating the filter categories. Since the schema does the heavy lifting, a baseline 3 is appropriate; the description does not clarify or expand on any parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find') and a concrete resource ('directories, review sites, list sites, AI directories, launch sites, press and networks'), then lists explicit filters and return fields. It is clear and distinct from siblings like get_place, which suggests a single-place retrieval, whereas this is a broad search. The purpose is unambiguous and not a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for searching directories and similar sites, and the filter list indicates when to use it. However, it does not explicitly state when to use this tool versus alternatives like get_place or where_is_app_listed, nor does it mention any exclusions or prerequisites. The context signals show this is the primary search tool, but the description leaves routing logic to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
where_is_app_listedWhere an app is already listedAInspect
Which of the tracked places link to a given app domain, from the site's nightly read of every place. Returns the count and up to 10 places with the page where the link was seen. The free tracker on the site gives the full list and watches it nightly.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The app's domain, e.g. candy.ai |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It explicitly states it 'Returns the count and up to 10 places with the page where the link was seen', which covers return format and limitation. It also mentions the nightly read cadence, indicating freshness. However, it does not detail what 'tracked places' includes or any potential side effects, but for a read-only query this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of three sentences. The first two are essential and clearly convey purpose and behavior, but the third sentence about the free tracker is tangential to actually using the tool and could be omitted. It is not overly long but includes unnecessary promotional detail, reducing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one parameter and no output schema. The description explains the return value (count and up to 10 places with pages) and the data source cadence. It does not explain what 'tracked places' means, but that is likely domain knowledge and not critical for a single call. Overall, it is sufficiently complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, 'domain', is fully described in the schema with an example ('candy.ai'). The tool description adds no extra meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: identifying which tracked places link to a given app domain. It specifies the verb 'link' and the resource 'tracked places', making it distinct from sibling tools like get_place (for a single place's details) or search_places (general search). The phrase 'a given app domain' precisely defines the input.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context about the data source (nightly read) and mentions the free tracker for a fuller list, but it does not explicitly say when to use this tool versus alternatives or when not to use it. It implies usage for checking listing status but lacks exclusionary guidance or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
get_place - First observed
listing_costs - First observed
search_places - First observed
where_is_app_listed
Related MCP Connectors
Directory rating websites on AI-agent-friendliness. Search, lookup, and submit.
Live review times for AI app stores: ChatGPT, Claude, Muse, Grok, Cursor. Check before you submit.
AI tools filed by category, with real launch dates and revenue verified through Stripe.
AI Agent Source Registry. 288K+ curated sources for agentic search and discovery.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceMachine-readable directory of AI products that register themselves, plus an agent-readability grader for any URL.1-
- AlicenseNot gradedqualityCmaintenanceEnables an AI agent to audit a website for launch readiness, find suitable startup/SaaS/AI directories using filters like DR and link type, and submit product listings to SaaSCity as drafts.MIT
- AlicenseNot gradedqualityFmaintenanceAI agent monetization directory with 75+ entries. Search, filter, and discover ways for AI agents to earn revenue across platforms and protocols.MIT
- AlicenseNot gradedqualityDmaintenanceA search engine for AI agents that enables searching, comparing, and discovering over 500 businesses across 112 categories with structured pricing data. It allows users to filter listings by price, category, and country to find and analyze specific business services.6 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.