{
  "data": {
    "tool": {
      "category": "",
      "endpoint": "https://trendflow.mory.dev/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mory-trendflow.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/mory-trendflow.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/mory-trendflow.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 3076,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 0
          },
          "findings": [
            {
              "rule": "TC24",
              "severity": "note",
              "message": "8 of 8 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:24:54Z",
        "count": 8,
        "schemaTokens": 3076,
        "status": "ok",
        "tools": [
          {
            "name": "list_regions",
            "title": "List regions",
            "description": "Returns the geo codes Google Trends accepts. With no argument it lists every country; given a country code it lists that country's sub-regions — US states, German states, UK nations — each as a code and a name.\n\nAny code returned here can be passed as the `region` argument of the other tools.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "country": {
                  "anyOf": [
                    {
                      "enum": [
                        "",
                        "US",
                        "GB",
                        "DE",
                        "FR",
                        "IT",
                        "ES",
                        "CA",
                        "AU",
                        "JP",
                        "IN",
                        "BR",
                        "MX",
                        "NL",
                        "SE",
                        "PL",
                        "TR"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{3}$",
                      "type": "string"
                    }
                  ],
                  "description": "Country code such as \"US\", \"GB\", \"TH\"; a sub-region such as \"US-CA\"; or a US metro code such as \"807\". Empty string means worldwide."
                }
              },
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "search_topics",
            "title": "Search topics",
            "description": "Resolves a name — a company, product, person, technology, or concept — to its Google Trends topic id (`mid`), with a `type` field that distinguishes same-name entities such as Nike the company from Nike the goddess.\n\nA topic aggregates every spelling and translation of one concept, so it measures considerably more search activity than a literal phrase: the topic for \"artificial intelligence\" scores 62 where the literal string scores 1. The other TrendFlow tools accept a topic id anywhere they accept a keyword.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "query": {
                  "description": "A search term, or a topic id from search_topics (e.g. \"/m/0mkz\").",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "query"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "get_interest_over_time",
            "title": "Interest over time",
            "description": "Get relative search interest for one or more terms over a historical period. Use this when the user asks how popular something is, whether it is rising or falling, or how several things compare — passing multiple keywords compares them on one scale. Values are normalized relative interest (0-100 within the result set), not absolute search volume.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "category": {
                  "description": "Google Trends category id to restrict the query to; 0, the default, is every category. Narrowing disambiguates a word with several meanings without needing a topic id.",
                  "maximum": 9007199254740991,
                  "minimum": 0,
                  "type": "integer"
                },
                "keywords": {
                  "description": "1-5 search terms. Pass several to compare them against each other. Accepts topic ids from search_topics (e.g. \"/m/0mkz\") as well as literal phrases.",
                  "items": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 5,
                  "minItems": 1,
                  "type": "array"
                },
                "region": {
                  "anyOf": [
                    {
                      "enum": [
                        "",
                        "US",
                        "GB",
                        "DE",
                        "FR",
                        "IT",
                        "ES",
                        "CA",
                        "AU",
                        "JP",
                        "IN",
                        "BR",
                        "MX",
                        "NL",
                        "SE",
                        "PL",
                        "TR"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{3}$",
                      "type": "string"
                    }
                  ],
                  "description": "Country code such as \"US\", \"GB\", \"TH\"; a sub-region such as \"US-CA\"; or a US metro code such as \"807\". Empty string means worldwide."
                },
                "searchProperty": {
                  "description": "Which Google surface to measure: empty for web search, or images, news, youtube, or froogle (Shopping). These are separate indexes, so values from different properties are not comparable to each other.",
                  "enum": [
                    "",
                    "images",
                    "news",
                    "youtube",
                    "froogle"
                  ],
                  "type": "string"
                },
                "timeframe": {
                  "anyOf": [
                    {
                      "enum": [
                        "now 1-H",
                        "now 4-H",
                        "now 1-d",
                        "now 7-d",
                        "today 1-m",
                        "today 3-m",
                        "today 12-m",
                        "today 5-y",
                        "all"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{4}-\\d{2}-\\d{2}$",
                      "type": "string"
                    }
                  ],
                  "description": "Time range. A preset, or a custom range as two ISO dates: \"2023-01-01 2023-06-30\". The range also sets granularity — hourly ranges return minute-level points and \"all\" returns monthly ones, so a long range cannot show a short spike."
                }
              },
              "required": [
                "keywords"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "get_interest_by_region",
            "title": "Interest by region",
            "description": "Break down search interest for one term by geography. Use this when the user asks where something is popular, or wants a regional or city-level comparison. Values are normalized relative interest (0-100 within the result set).",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "category": {
                  "description": "Google Trends category id to restrict the query to; 0, the default, is every category. Narrowing disambiguates a word with several meanings without needing a topic id.",
                  "maximum": 9007199254740991,
                  "minimum": 0,
                  "type": "integer"
                },
                "keyword": {
                  "description": "A search term, or a topic id from search_topics (e.g. \"/m/0mkz\").",
                  "minLength": 1,
                  "type": "string"
                },
                "region": {
                  "anyOf": [
                    {
                      "enum": [
                        "",
                        "US",
                        "GB",
                        "DE",
                        "FR",
                        "IT",
                        "ES",
                        "CA",
                        "AU",
                        "JP",
                        "IN",
                        "BR",
                        "MX",
                        "NL",
                        "SE",
                        "PL",
                        "TR"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{3}$",
                      "type": "string"
                    }
                  ],
                  "description": "Country code such as \"US\", \"GB\", \"TH\"; a sub-region such as \"US-CA\"; or a US metro code such as \"807\". Empty string means worldwide."
                },
                "resolution": {
                  "description": "Geographic granularity of the breakdown.",
                  "enum": [
                    "COUNTRY",
                    "REGION",
                    "CITY"
                  ],
                  "type": "string"
                },
                "searchProperty": {
                  "description": "Which Google surface to measure: empty for web search, or images, news, youtube, or froogle (Shopping). These are separate indexes, so values from different properties are not comparable to each other.",
                  "enum": [
                    "",
                    "images",
                    "news",
                    "youtube",
                    "froogle"
                  ],
                  "type": "string"
                },
                "timeframe": {
                  "anyOf": [
                    {
                      "enum": [
                        "now 1-H",
                        "now 4-H",
                        "now 1-d",
                        "now 7-d",
                        "today 1-m",
                        "today 3-m",
                        "today 12-m",
                        "today 5-y",
                        "all"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{4}-\\d{2}-\\d{2}$",
                      "type": "string"
                    }
                  ],
                  "description": "Time range. A preset, or a custom range as two ISO dates: \"2023-01-01 2023-06-30\". The range also sets granularity — hourly ranges return minute-level points and \"all\" returns monthly ones, so a long range cannot show a short spike."
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "get_related_queries",
            "title": "Related queries",
            "description": "Find the top and rising searches related to a term. Use this for keyword discovery, SEO and content research, and spotting breakout queries. `top` is ranked by volume; `rising` is ranked by growth, where \"Breakout\" means growth too large to measure.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "category": {
                  "description": "Google Trends category id to restrict the query to; 0, the default, is every category. Narrowing disambiguates a word with several meanings without needing a topic id.",
                  "maximum": 9007199254740991,
                  "minimum": 0,
                  "type": "integer"
                },
                "keyword": {
                  "description": "A search term, or a topic id from search_topics (e.g. \"/m/0mkz\").",
                  "minLength": 1,
                  "type": "string"
                },
                "region": {
                  "anyOf": [
                    {
                      "enum": [
                        "",
                        "US",
                        "GB",
                        "DE",
                        "FR",
                        "IT",
                        "ES",
                        "CA",
                        "AU",
                        "JP",
                        "IN",
                        "BR",
                        "MX",
                        "NL",
                        "SE",
                        "PL",
                        "TR"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{3}$",
                      "type": "string"
                    }
                  ],
                  "description": "Country code such as \"US\", \"GB\", \"TH\"; a sub-region such as \"US-CA\"; or a US metro code such as \"807\". Empty string means worldwide."
                },
                "searchProperty": {
                  "description": "Which Google surface to measure: empty for web search, or images, news, youtube, or froogle (Shopping). These are separate indexes, so values from different properties are not comparable to each other.",
                  "enum": [
                    "",
                    "images",
                    "news",
                    "youtube",
                    "froogle"
                  ],
                  "type": "string"
                },
                "timeframe": {
                  "anyOf": [
                    {
                      "enum": [
                        "now 1-H",
                        "now 4-H",
                        "now 1-d",
                        "now 7-d",
                        "today 1-m",
                        "today 3-m",
                        "today 12-m",
                        "today 5-y",
                        "all"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{4}-\\d{2}-\\d{2}$",
                      "type": "string"
                    }
                  ],
                  "description": "Time range. A preset, or a custom range as two ISO dates: \"2023-01-01 2023-06-30\". The range also sets granularity — hourly ranges return minute-level points and \"all\" returns monthly ones, so a long range cannot show a short spike."
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "get_trending_now",
            "title": "Trending now",
            "description": "Lists the searches surging right now in a country, for questions about what is spiking without a term being named, and for news and real-time context.\n\nThe `backend` parameter selects the source: \"rpc\" returns around 50 entries with growth percentages and a relative volume index; \"rss\" returns 10 entries together with the news articles behind each one; \"auto\" tries rpc and falls back to rss.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "backend": {
                  "description": "Source to use. \"rpc\" returns ~50 items with growth percentages; \"rss\" returns 10 with the news articles behind each trend; \"auto\" tries rpc then falls back to rss.",
                  "enum": [
                    "auto",
                    "rpc",
                    "rss"
                  ],
                  "type": "string"
                },
                "limit": {
                  "description": "Maximum number of results to return.",
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "region": {
                  "anyOf": [
                    {
                      "enum": [
                        "",
                        "US",
                        "GB",
                        "DE",
                        "FR",
                        "IT",
                        "ES",
                        "CA",
                        "AU",
                        "JP",
                        "IN",
                        "BR",
                        "MX",
                        "NL",
                        "SE",
                        "PL",
                        "TR"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{3}$",
                      "type": "string"
                    }
                  ],
                  "description": "Country code such as \"US\", \"GB\", \"TH\"; a sub-region such as \"US-CA\"; or a US metro code such as \"807\". Empty string means worldwide."
                }
              },
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "research_trend",
            "title": "Research a trend",
            "description": "Returns a full picture of one term in a single call: interest over time, where it is most searched, and the queries people search alongside it. Suited to open-ended research on a topic rather than one narrow question.\n\nEach section is fetched independently, so a partial result is normal: any section that fails carries an `error` instead of data and the rest still returns.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "keyword": {
                  "description": "A search term, or a topic id from search_topics (e.g. \"/m/0mkz\").",
                  "minLength": 1,
                  "type": "string"
                },
                "region": {
                  "anyOf": [
                    {
                      "enum": [
                        "",
                        "US",
                        "GB",
                        "DE",
                        "FR",
                        "IT",
                        "ES",
                        "CA",
                        "AU",
                        "JP",
                        "IN",
                        "BR",
                        "MX",
                        "NL",
                        "SE",
                        "PL",
                        "TR"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{3}$",
                      "type": "string"
                    }
                  ],
                  "description": "Country code such as \"US\", \"GB\", \"TH\"; a sub-region such as \"US-CA\"; or a US metro code such as \"807\". Empty string means worldwide."
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "research_bulk",
            "title": "Research many trends",
            "description": "Researches up to 10 topics in a single call, each with the same full picture as `research_trend`: interest over time, where it is most searched, and related queries. Each topic is looked up on its own scale, so they are not comparable to one another.\n\nUse this when you need data across many topics — a long or rich research pass — instead of one tool call per topic. Each section is fetched independently, so a partial result is normal: any section that fails carries an `error` instead of data and the rest still returns.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "region": {
                  "anyOf": [
                    {
                      "enum": [
                        "",
                        "US",
                        "GB",
                        "DE",
                        "FR",
                        "IT",
                        "ES",
                        "CA",
                        "AU",
                        "JP",
                        "IN",
                        "BR",
                        "MX",
                        "NL",
                        "SE",
                        "PL",
                        "TR"
                      ],
                      "type": "string"
                    },
                    {
                      "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\\d{3}$",
                      "type": "string"
                    }
                  ],
                  "description": "Country code such as \"US\", \"GB\", \"TH\"; a sub-region such as \"US-CA\"; or a US metro code such as \"807\". Empty string means worldwide."
                },
                "topics": {
                  "description": "1-10 topics (terms or topic ids) to research. Each is looked up on its own scale, so they are not comparable to one another. Use this to gather data across many topics in one call instead of one tool call per topic.",
                  "items": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 10,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "topics"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          }
        ]
      },
      "name": "TrendFlow",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": null,
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mory-trendflow.json",
      "popularity": {
        "githubStars": 2
      },
      "registryName": "dev.mory/trendflow",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://trendflow.mory.dev/mcp"
        }
      ],
      "repository": "https://github.com/dariomory/trendflow-js",
      "reviewed": false,
      "slug": "mory-trendflow",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=dev.mory/trendflow",
      "summary": "Google Trends data: interest over time, by region, related queries, and trending now.",
      "updatedAt": "2026-08-16T17:27:54Z",
      "url": "https://www.anchorterminal.com/tools/mory-trendflow",
      "vendor": "mory.dev",
      "vendorUrl": "https://trendflow.mory.dev/docs/mcp",
      "version": "0.1.0",
      "websiteUrl": "https://trendflow.mory.dev/docs/mcp",
      "where": "hosted",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/mory-trendflow",
    "json": "https://www.anchorterminal.com/tools/mory-trendflow.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/mory-trendflow.md",
    "slim": "https://www.anchorterminal.com/tools/mory-trendflow.min.md"
  },
  "markdown": "# TrendFlow\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by mory.dev (https://trendflow.mory.dev/docs/mcp)\n- Listed because: It's published in the registry under mory.dev, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Google Trends data: interest over time, by region, related queries, and trending now.\n\n## Facts\n\n- MCP registry: `dev.mory/trendflow` 0.1.0\n- Endpoint: https://trendflow.mory.dev/mcp (streamable HTTP)\n- Source: https://github.com/dariomory/trendflow-js\n- Website: https://trendflow.mory.dev/docs/mcp\n- GitHub stars: 2\n- Registry entry updated: 2026-08-16\n\n## Tools\n\n- Tools it lists (8, about 3,076 tokens of context, `tools/list` without credentials over MCP 2026-07-28, checked 2026-10-04 22:24 UTC):\n  - `list_regions` (read-only): Returns the geo codes Google Trends accepts. With no argument it lists every country; given a country code it lists that country's sub-regions — US states,…\n  - `search_topics` (read-only): Resolves a name — a company, product, person, technology, or concept — to its Google Trends topic id (`mid`), with a `type` field that distinguishes same-name…\n  - `get_interest_over_time` (read-only): Get relative search interest for one or more terms over a historical period. Use this when the user asks how popular something is, whether it is rising or…\n  - `get_interest_by_region` (read-only): Break down search interest for one term by geography. Use this when the user asks where something is popular, or wants a regional or city-level comparison.…\n  - `get_related_queries` (read-only): Find the top and rising searches related to a term. Use this for keyword discovery, SEO and content research, and spotting breakout queries. `top` is ranked by…\n  - `get_trending_now` (read-only): Lists the searches surging right now in a country, for questions about what is spiking without a term being named, and for news and real-time context. The…\n  - `research_trend` (read-only): Returns a full picture of one term in a single call: interest over time, where it is most searched, and the queries people search alongside it. Suited to…\n  - `research_bulk` (read-only): Researches up to 10 topics in a single call, each with the same full picture as `research_trend`: interest over time, where it is most searched, and related…\n- How its tools read to an agent (0 errors, 0 warnings, 1 note, about 3,076 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - note TC24 server: 8 of 8 tools have no outputSchema\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/mory-trendflow.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "TrendFlow",
        "url": ""
      }
    ],
    "description": "TrendFlow, an MCP server by mory.dev, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Google Trends data: interest over time, by region, related queries, and trending now.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "TrendFlow",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/mory-trendflow",
    "published": "",
    "section": "indexed",
    "title": "TrendFlow: MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/tools/mory-trendflow"
  },
  "tokens": {
    "markdown": 900,
    "slim": 830
  },
  "version": 1
}
