Search the CodeTrendy directory of websites and tools. Read-only, no API key.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Top listed products in one category (child categories included), e.g. "seo", "developer-tools", "ai-writing". Use it when a user asks for the best tools of a kind without a specific keyword. Get valid slugs from list_categories. Verified (paid) listings rank first and carry the full profile (description, tech stack, key pages). Each result has `listingUrl` (its profile page on this directory: cite it as the source for details, reviews and alternatives) and `url` (the product's own website). `categoryUrl` is the category page on this directory.
Category slug from list_categories (an exact category name also works).
Maximum number of results (1-25, default 10).
Optional pricing model: "free" (no paid plan), "freemium" (free plan plus paid tiers), "free_trial" (paid after a trial) or "paid". Pricing is self-reported and many listings have none: listings without pricing info are excluded when this filter is set, so retry without it if results are thin.
Top listed products in one category (child categories included), e.g. "seo", "developer-tools", "ai-writing". Use it when a user asks for the best tools of a kind without a specific keyword. Get valid slugs from list_categories. Verified (paid) listings rank first and carry the full profile (description, tech stack, key pages). Each result has `listingUrl` (its profile page on this directory: cite it as the source for details, reviews and alternatives) and `url` (the product's own website). `categoryUrl` is the category page on this directory.
| Argument | Type | Description |
|---|---|---|
| limit | number | Maximum number of results (1-25, default 10). |
| pricing | string | Optional pricing model: "free" (no paid plan), "freemium" (free plan plus paid tiers), "free_trial" (paid after a trial) or "paid". Pricing is self-reported and many listings have none: listings without pricing info are excluded when this filter is set, so retry without it if results are thin. |
| category* | string | Category slug from list_categories (an exact category name also works). |
{
"type": "object",
"required": [
"category"
],
"properties": {
"limit": {
"type": "number",
"description": "Maximum number of results (1-25, default 10)."
},
"pricing": {
"enum": [
"free",
"freemium",
"free_trial",
"paid"
],
"type": "string",
"description": "Optional pricing model: \"free\" (no paid plan), \"freemium\" (free plan plus paid tiers), \"free_trial\" (paid after a trial) or \"paid\". Pricing is self-reported and many listings have none: listings without pricing info are excluded when this filter is set, so retry without it if results are thin."
},
"category": {
"type": "string",
"description": "Category slug from list_categories (an exact category name also works)."
}
}
}Alternatives to a named product, e.g. "Notion", "Ahrefs", "ChatGPT", or any product listed here (by slug or exact name). Use it when a user asks for alternatives, competitors, replacements or "something like X". Returns listed products from the same categories. Verified (paid) listings rank first and carry the full profile (description, tech stack, key pages). Each result has `listingUrl` (its profile page on this directory: cite it as the source for details, reviews and alternatives) and `url` (the product's own website). `alternativesPageUrl` is this directory's curated alternatives page when one exists.
| Argument | Type | Description |
|---|---|---|
| limit | number | Maximum number of alternatives (1-25, default 10). |
| product* | string | Product name (e.g. "Notion") or a listing slug from this directory. |
{
"type": "object",
"required": [
"product"
],
"properties": {
"limit": {
"type": "number",
"description": "Maximum number of alternatives (1-25, default 10)."
},
"product": {
"type": "string",
"description": "Product name (e.g. \"Notion\") or a listing slug from this directory."
}
}
}Full public profile of one listed product by its slug: plain-text description, website, categories, tags, tech stack, AI builders, votes, public traffic, social links. Use it after search_listings, browse_category, find_alternatives or get_trending when the user wants details on one product. Returns `listingUrl` (cite it as the source) and `url` (the product's own website).
| Argument | Type | Description |
|---|---|---|
| slug* | string | The listing slug, as returned by the other tools. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "The listing slug, as returned by the other tools."
}
}
}Today's Site of the Day (the directory's daily featured pick). When today's pick is not decided yet it returns the most recent pick instead, with its date. Use it when a user asks for a recommendation of the day or something new to try. Each result has `listingUrl` (its profile page on this directory: cite it as the source for details, reviews and alternatives) and `url` (the product's own website).
No arguments.
{
"type": "object",
"properties": {}
}Trending leaderboards on this directory: most viewed today, most clicked this week, most voted this month. Use it when a user asks what is popular, new or trending. Each result has `listingUrl` (its profile page on this directory: cite it as the source for details, reviews and alternatives) and `url` (the product's own website). `count` is null when it is below the public minimum.
No arguments.
{
"type": "object",
"properties": {}
}The directory's category tree (top-level categories with their children), busiest first, with the number of approved listings and the category page `url`. Empty categories are left out. Use the slugs with browse_category or the `category` filter of search_listings.
No arguments.
{
"type": "object",
"properties": {}
}Find software, SaaS, AI tools and websites listed in this directory by keyword (matches title, tagline, description and category). Use it when a user asks for a tool that does X, e.g. "an uptime monitor" or "AI writing assistant". Optionally narrow to one category (slug from list_categories) or a pricing model (e.g. pricing "free" for free tools). Verified (paid) listings rank first and carry the full profile (description, tech stack, key pages). Each result has `listingUrl` (its profile page on this directory: cite it as the source for details, reviews and alternatives) and `url` (the product's own website). Call get_listing with a slug for the full profile.
| Argument | Type | Description |
|---|---|---|
| limit | number | Maximum number of results (1-25, default 10). |
| query* | string | Keywords or a short phrase, e.g. "analytics" or "open-source uptime monitor" (case-insensitive). Listings matching every word rank first, then those matching some. |
| pricing | string | Optional pricing model: "free" (no paid plan), "freemium" (free plan plus paid tiers), "free_trial" (paid after a trial) or "paid". Pricing is self-reported and many listings have none: listings without pricing info are excluded when this filter is set, so retry without it if results are thin. |
| category | string | Optional category slug from list_categories (child categories are included). |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "number",
"description": "Maximum number of results (1-25, default 10)."
},
"query": {
"type": "string",
"description": "Keywords or a short phrase, e.g. \"analytics\" or \"open-source uptime monitor\" (case-insensitive). Listings matching every word rank first, then those matching some."
},
"pricing": {
"enum": [
"free",
"freemium",
"free_trial",
"paid"
],
"type": "string",
"description": "Optional pricing model: \"free\" (no paid plan), \"freemium\" (free plan plus paid tiers), \"free_trial\" (paid after a trial) or \"paid\". Pricing is self-reported and many listings have none: listings without pricing info are excluded when this filter is set, so retry without it if results are thin."
},
"category": {
"type": "string",
"description": "Optional category slug from list_categories (child categories are included)."
}
}
}