CodeTrendy

Search the CodeTrendy directory of websites and tools. Read-only, no API key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
70%
Naming quality
97%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (1)

  • LOWTool 'browse_category' suggests web access but openWorldHint=falsein browse_category

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,538Tokens (tool definitions)
~868 BTypical response size
Moderate attention impact (1.20% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "directory": {
      "url": "https://codetrendy.com/api/mcp"
    }
  }
}

Remote endpoints

https://codetrendy.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_listings(query, category, pricing, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "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."
    },
    "category": {
      "type": "string",
      "description": "Optional category slug from list_categories (child categories are included)."
    },
    "pricing": {
      "type": "string",
      "enum": [
        "free",
        "freemium",
        "free_trial",
        "paid"
      ],
      "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."
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results (1-25, default 10)."
    }
  },
  "required": [
    "query"
  ]
}
🟢get_listing(slug)

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).

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The listing slug, as returned by the other tools."
    }
  },
  "required": [
    "slug"
  ]
}
🟢find_alternatives(product, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "product": {
      "type": "string",
      "description": "Product name (e.g. \"Notion\") or a listing slug from this directory."
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of alternatives (1-25, default 10)."
    }
  },
  "required": [
    "product"
  ]
}
🟢browse_category(category, pricing, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Category slug from list_categories (an exact category name also works)."
    },
    "pricing": {
      "type": "string",
      "enum": [
        "free",
        "freemium",
        "free_trial",
        "paid"
      ],
      "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."
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results (1-25, default 10)."
    }
  },
  "required": [
    "category"
  ]
}
🟢list_categories

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_trending

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_site_of_the_day

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).

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools