Skip to main content
Glama

Fodda Topic & Trend Research

Server Details

Trend, stats & insight search across PSFK expert graphs with citable sources.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Unhealthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
piers-fawkes/fodda-mcp
GitHub Stars
1
Server Listing
Fodda

Available Tools

15 tools
check_supplemental_statusA
Read-onlyIdempotent
Inspect

Check if market data gathering is complete and retrieve the results. Call this after get_supplemental_context — poll every 5-10 seconds until status is COMPLETE or FAILED.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe Job ID returned by get_supplemental_context

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds value by explaining polling behavior and expected status outcomes, which is not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences are concise and front-loaded with purpose, then usage instructions. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description explains return status meanings. With one required parameter and clear usage context, the description is fully adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter 'job_id' with description in schema. Schema coverage is 100%, so description adds minimal extra meaning. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool checks completeness of market data gathering and retrieves results, using specific verb 'check' and resource 'supplemental status'. It also distinguishes from sibling tool get_supplemental_context by stating to call after it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly specifies when to use the tool: after get_supplemental_context, with polling interval of 5-10 seconds until COMPLETE or FAILED. No explicit exclusions or alternatives, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_visualA
Read-onlyIdempotent
Inspect

Create a presentation-ready data visualization from research findings. Available chart types: "cultural_shifts" (From→To transitions), "competitive_compass" (brands on 2 axes), "trend_constellation" (network of related trends), "implication_ladder" (Signal→Trend→So What→Do What), "innovation_pathway" (Now→Near-Term→Future), "opportunity_map" (2×2 white space analysis). Returns a branded SVG that renders directly in the chat. Highlight focal entity using top-level "focus":"Name" or per-item "focus":true.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesJSON string containing chart data. Optional top-level "focus":"Name" or per-item "focus":true highlights key entity in brand accent. cultural_shifts: {shifts:[{from,to}]}. competitive_compass: {brands:[{name,x,y,focus?:boolean}], axes:{left,right,top,bottom}, focus?:string}. trend_constellation: {trends:[{name,x,y,focus?:boolean}], connections:[{from,to,strength}], focus?:string}. implication_ladder: {signal,trend,so_what,do_what}. innovation_pathway: {now,near_term,future}. opportunity_map: {items:[{name,consumer_desire,market_activity,focus?:boolean}], x_label?:string, y_label?:string, focus?:string}
chart_typeYesThe type of visualization to generate

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false), the description adds valuable behavioral context: the return format ('Returns a branded SVG that renders directly in the chat') and the focus-highlighting mechanism. Generating an in-chat artifact with no side effects is consistent with the readOnly/idempotent annotations, so there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences that each earn their place: core purpose, chart-type options, then output behavior and the focus feature. The chart-type enumeration is long but necessary for correct invocation, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description compensates by stating precisely what is returned (a branded SVG that renders in chat). The per-chart data shapes in the schema plus the chart-type semantics in the description cover all call paths, though error conditions and data-size limits are not addressed — a minor gap for a 2-parameter generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description genuinely elevates it by decoding each chart_type enum value ('implication_ladder' = Signal→Trend→So What→Do What, 'opportunity_map' = 2×2 white space analysis), which helps an agent select the correct variant. It also front-loads the focus parameter behavior that the schema buries inside a JSON-string description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource pair ('Create a presentation-ready data visualization from research findings') and then enumerates six concrete chart types with their conceptual shapes (e.g., 'cultural_shifts' = From→To transitions). This unambiguously distinguishes it from the sibling tools, which are all get/search/list/read operations, so an agent can tell this is the generation tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose statement implies the clear usage context — when a visual artifact is needed rather than raw data — and the chart-type list guides which configuration to pick. However, the description never explicitly states when to prefer this over alternatives or what conditions rule it out, so it stops short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_capabilitiesA
Read-onlyIdempotent
Inspect

Returns Fodda's main capabilities / features / offerings / products / services / tools and how to use them. Call this for any question about what Fodda can do or what's available.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdNoOptional user identifier.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the tool returns with usage instructions, which is helpful context but does not substantially go beyond what annotations and the overall intent reveal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, front-loads the core action, and avoids redundant restatement of the tool name. The slash-separated list is somewhat verbose but helps capture the breadth without adding real bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only, optional-parameter tool with no output schema, the description provides enough guidance on when to call it and what it returns. It could mention the return format or the role of userId, but the existing context is sufficient for an agent to decide and execute.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with userId fully described as 'Optional user identifier.' The description does not explain why or how userId should be used, but the schema handles the parameter semantics, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns'), a clear resource ('Fodda's main capabilities / features / offerings / products / services / tools'), and adds the purpose 'and how to use them.' This makes the tool's function immediately identifiable and distinguishes it from sibling data-retrieval tools like get_node or search_graph.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance: 'Call this for any question about what Fodda can do or what's available.' This is a clear when-to-use directive, though it does not explicitly state when not to use it or point to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_evidenceA
Read-onlyIdempotent
Inspect

Get the source articles, case studies, and statistics behind a specific trend — with full citations and publisher attribution. Each item includes source URL, location, brand names, publication date, category, and a formatted citation. Use after search_graph when you need the supporting proof behind a trend. This is a direct lookup by trend ID — not a text search tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_kNoNumber of evidence items to return (default 5)
userIdNoOptional user identifier for trial usage tracking.
graphIdYesThe graph ID. Use list_graphs to see all options. Examples: 'retail', 'tech', 'food', 'travel', 'beauty', 'sports', 'sic', 'pew', 'ce-design', 'ezra-eeman-wayfinder', 'dhl-ecommerce-trends-2026', 'automotive-color-trends', 'alyson-stevens-macro', 'dentsu-creative-marketing', 'pwc/sxsw-2026-key-insights', 'green-house/thrive-report', 'michaels-2026-creativity-trend-report', 'delta/the-connection-index'
for_node_idYesThe node_id from a prior search_graph result (e.g. '2507.0'). MUST come from the search result's node_id field. Node IDs are NOT sequential integers — do NOT guess or invent IDs like '1', '2', '3'. Do NOT pass the trend name.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds concrete behavior beyond that by detailing what each returned evidence item contains, including source URL, brand names, publication date, and formatted citation. Since there is no output schema, this compensates well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: what it does, what it returns, and when/how to use it. No fluff, and the critical usage constraint is clearly placed near the end for emphasis.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately covers the return values by listing the item fields. Required parameters are fully documented in the schema, annotations handle safety and idempotency, and usage context references search_graph appropriately. Nothing critical is missing for the agent to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already explains graphId, for_node_id, top_k, and userId. The description adds the useful framing that this is 'a direct lookup by trend ID,' but it does not materially extend the parameter semantics already documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves source articles, case studies, and statistics for a specific trend, with citations and publisher attribution. It also explicitly distinguishes itself from a text search tool, making its direct-lookup-by-ID role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear when-to-use guidance ('Use after search_graph when you need the supporting proof behind a trend') and excludes text-search usage. It does not enumerate all sibling alternatives or contrast against search_insights/search_statistics, but the context is strong enough for an agent to select it correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_label_valuesA
Read-onlyIdempotent
Inspect

List all brands, locations, technologies, audiences, or trends within a specific knowledge graph. Use to explore what a graph contains — e.g., "what brands are in the retail graph?" or "what locations does the fashion graph cover?". To get a complete list of every trend in a graph, call with label="Trend" — this returns the full deterministic list, useful for industry-report graphs where search may return partial results.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYesThe label to fetch values for (e.g., 'Brand', 'Location', 'Technology', 'Audience', 'RetailerType', 'Trend')
userIdNoOptional user identifier for trial usage tracking.
graphIdYesThe graph ID. Use list_graphs to see all options. Examples: 'retail', 'tech', 'food', 'travel', 'beauty', 'sports', 'sic', 'pew', 'ce-design', 'ezra-eeman-wayfinder', 'dhl-ecommerce-trends-2026', 'automotive-color-trends', 'alyson-stevens-macro', 'dentsu-creative-marketing', 'pwc/sxsw-2026-key-insights', 'green-house/thrive-report', 'michaels-2026-creativity-trend-report', 'delta/the-connection-index'
propertyNoOptional property to return values for. Defaults vary by label.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: that label='Trend' returns a 'full deterministic list' and that search may return partial results, which implies a completeness guarantee beyond what annotations express. The openWorldHint=false also aligns with the deterministic-list claim, so no contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: the purpose, usage guidance, and exception case are each in their own sentence. The most important usage guidance (when to call with label='Trend') is front-loaded. It's slightly wordy with examples, but the examples earn their place by illustrating the query patterns for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with fully-documented parameters (100% schema coverage) and no output schema, the description covers the main use case, the special deterministic case, and clearly distinguishes from search_graph. Minor gap: it doesn't explain the 'property' parameter's behavior beyond 'defaults vary by label,' but the schema covers this, and the complexity is moderate. An agent can call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description reinforces the label parameter semantics by naming the label values ('Brand', 'Location', 'Technology', 'Audience', 'RetailerType', 'Trend') and clarifying the special behavior of 'Trend'. It doesn't add new parameter semantics beyond the schema, but it doesn't need to — the schema descriptions are comprehensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') with a clear resource ('brands, locations, technologies, audiences, or trends within a specific knowledge graph') and provides concrete example queries. It also distinguishes itself from search_graph ('To get a complete list of every trend in a graph... useful... where search may return partial results'), which differentiates it from sibling tools. This is a clear, specific purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this tool for exploring graph contents and contrasts it with search_graph when full deterministic lists are needed ('useful for industry-report graphs where search may return partial results'). This gives the agent explicit when-to-use and when-not-to-use guidance, naming the alternative tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_my_accountA
Read-onlyIdempotent
Inspect

Check the current user's account status: API call balance, plan, enabled/disabled graphs, and profile info. Use when the user asks "how many API calls do I have?", "what plan am I on?", "what graphs can I access?", or similar account questions. Returns live data — not cached from session start.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds value by noting 'Returns live data — not cached from session start', informing the agent of data freshness. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose, second gives usage examples and data freshness note. No unnecessary words, front-loaded structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complexity is low (0 parameters). Annotations cover safety, description lists return values (balance, plan, graphs, profile). Output schema is absent but the description sufficiently enumerates response fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100% trivially. Per guidelines, 0 parameters yields baseline 4. No need for additional parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Check') and resource ('current user's account status'), enumerating exact contents (API call balance, plan, graphs, profile info). It clearly distinguishes from sibling tools like 'check_supplemental_status' and 'get_capabilities'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly lists example user queries ('how many API calls do I have?', 'what plan am I on?') that trigger use. While it does not mention when not to use, the guidance is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_neighborsA
Read-onlyIdempotent
Inspect

Discover what's connected to a specific trend — related brands, technologies, locations, and cross-domain links that search alone wouldn't surface. Returns curated editorial connections between trends that web search cannot provide. Use after search_graph to map the territory around a trend, find which brands are connected, or understand cross-domain relationships. Requires node_id from a prior search_graph result.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoTraversal depth (default 1, max 2)
limitNoMaximum results (default 50)
userIdNoOptional user identifier for trial usage tracking.
graphIdYesThe graph ID. Use list_graphs to see all options. Examples: 'retail', 'tech', 'food', 'travel', 'beauty', 'sports', 'sic', 'pew', 'ce-design', 'ezra-eeman-wayfinder', 'dhl-ecommerce-trends-2026', 'automotive-color-trends', 'alyson-stevens-macro', 'dentsu-creative-marketing', 'pwc/sxsw-2026-key-insights', 'green-house/thrive-report', 'michaels-2026-creativity-trend-report', 'delta/the-connection-index'
directionNoTraversal direction: 'out' (default) follows outgoing edges, 'in' follows incoming edges
seed_node_idsYesArray of node IDs to start traversal from. MUST be actual node_id values from a prior search_graph result (e.g. ["2507.0"]). Node IDs are NOT sequential integers — do NOT guess or invent IDs like "1", "2", "3". Always call search_graph first to obtain valid IDs.
relationship_typesNoFilter by relationship types: 'EVIDENCED_BY', 'RELATED_TO', 'SEMANTICALLY_SIMILAR', 'ASSOCIATED_BRAND', 'MENTIONS_BRAND', 'IN_LOCATION'

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it is a safe read operation. The description adds value by revealing that results are 'curated editorial connections' that are not raw graph data, and expresses the important behavioral constraint that node_id must come from a prior search_graph result. No contradictions found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core action, then adds usage instructions and a prerequisite. It is efficient, although there is minor redundancy between 'that search alone wouldn't surface' and 'that web search cannot provide', so it earns just under a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a graph traversal tool with seven parameters, the description is contextually sufficient: it names the workflow (search_graph first), the situations in which to use it, and the general nature of the return value. There is no output schema, but the description does not need to list every return field; it provides enough to understand the tool's purpose and correct call sequence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented in detail: graphId examples, depth defaults, limit, direction enum, seed_node_ids requirement, and relationship_types enum. The description only echoes the node_id prerequisite already present in the schema. It adds no unique parameter-level meaning, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb and resource: 'Discover what's connected to a specific trend' — related brands, technologies, locations, and cross-domain links. It also explicitly distinguishes itself from plain search by saying 'search alone wouldn't surface' and returns 'curated editorial connections that web search cannot provide', making it clearly different from siblings like search_graph or get_node.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage context: 'Use after search_graph' and describes the use cases: map the territory around a trend, find connected brands, or understand cross-domain relationships. It also states the prerequisite: 'Requires node_id from a prior search_graph result.' It does not explicitly list when-not-to-use or name an alternative delta, but the use-after-search_graph guideline is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_nodeA
Read-onlyIdempotent
Inspect

Get the full profile of a specific trend — detailed description, lifecycle stage (emerging/building/mature), signal strength, geographic scope, and all properties. Use when you need deeper detail on a single trend after search_graph returned a summary. Requires node_id from a prior search_graph result.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYesThe node_id from a prior search_graph result (e.g. '2507.0'). MUST come from the search result's node_id field. Node IDs are NOT sequential integers — do NOT guess or invent IDs like '1', '2', '3'. Do NOT pass the trend name.
userIdNoOptional user identifier for trial usage tracking.
graphIdYesThe graph ID. Use list_graphs to see all options. Examples: 'retail', 'tech', 'food', 'travel', 'beauty', 'sports', 'sic', 'pew', 'ce-design', 'ezra-eeman-wayfinder', 'dhl-ecommerce-trends-2026', 'automotive-color-trends', 'alyson-stevens-macro', 'dentsu-creative-marketing', 'pwc/sxsw-2026-key-insights', 'green-house/thrive-report', 'michaels-2026-creativity-trend-report', 'delta/the-connection-index'

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already communicate read-only, idempotent, non-destructive behavior. The description adds useful context by listing what the response contains (lifecycle stage, signal strength, geographic scope, all properties) and by highlighting the external dependency on a previously obtained node_id. This goes beyond the structured annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact three-sentence structure that front-loads the core purpose and return content, then provides the usage condition and dependency. No wasted words or repeated schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only node retrieval with no output schema, the description adequately explains the return categories and the required prior context. It does not cover failure or edge-case behavior, but the schema handles node_id constraints well, so an agent has enough information to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema itself provides detailed parameter guidance, including strong warnings against guessing node IDs and example graph IDs. The description mostly restates the node_id dependency already present in the schema, so it adds little new parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly specifies a single verb ('Get'), a resource (a specific trend/node), and the type of payload returned: full profile including description, lifecycle stage, signal strength, geographic scope, and all properties. It also frames itself as a deeper follow-up to search_graph, which distinguishes it from the main sibling likely to be confused with it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tells the agent when to use it ('when you need deeper detail on a single trend after search_graph returned a summary') and states a required precondition: node_id must come from a prior search_graph result. It could be stronger by explicitly naming related alternatives like get_neighbors or get_evidence and saying when not to use them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_supplemental_contextA
Read-only
Inspect

A standard layer for macro, institutional, and real-time market data. Call this tool when curated coverage is thin, empty, or when the query is explicitly demand/attention-shaped (e.g. to get search volume, economic series, or census data). It retrieves data from 80+ authoritative sources (Google Trends, FRED, BLS, Census, etc.) fanned out in parallel. Returns categorized data blocks with source attribution and metadata. Note: call after search_graph indicates thin/empty coverage via its coverage annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoCountry code or geography hint (e.g., 'TH', 'US', 'GB') for country-filtered queries.
queryYesThe topic or query to get supplemental data for (e.g., 'sustainable packaging', 'tequila spirits market', 'Gen Z beauty'). Include country names if searching non-US markets (e.g. 'Thailand consumer sentiment').
brandsNoBrand names to include in demand/product lookups (e.g., ['Nike', 'Adidas']). Triggers Google Trends comparison and Amazon product search.
domainNoDomain hint to improve source routing: 'retail', 'beauty', 'fashion', 'sports', 'food', 'technology', 'culture', 'travel', 'design', 'macro'. Do NOT pass 'culture' or 'technology' for macro economic or consumer sentiment queries — leave omitted or set to 'macro'.
userIdNoOptional user identifier for trial usage tracking.
graph_idsNoGraph IDs from prior search results — helps refine domain inference.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already handle readOnlyHint and destructiveHint, but the description adds useful behavioral context: the call fans out to 80+ sources in parallel and returns 'categorized data blocks with source attribution and metadata.' It clarifies that the tool is an aggregator of third-party data sets, not merely a local read query. No contradiction exists with the read-only annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is substantial — five sentences — but each sentence earns its place: layer definition, call condition, source list, return format, and sequencing with search_graph. It is structured and readable, though slightly denser than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description covers the essential expectation: 'Returns categorized data blocks with source attribution and metadata.' It also connects to search_graph's annotations and lists example sources. It does not spell out possible error cases or pagination, but for a read-only data-returning tool this is sufficient for first-line usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the baseline is 3; the description's main parameter guidance is implicit through scenarios like 'demand/attention-shaped queries.' It does not add parameter-level meaning beyond the schema, but because the schema is thorough, the definition still supports correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific purpose with concrete nouns: 'macro, institutional, and real-time market data' and enumerates source examples (Google Trends, FRED, BLS, Census). It also distinguishes the tool from the sibling search_graph by explicitly framing it as the call after search_graph reports thin/empty coverage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit decision criteria: 'Use this tool when curated coverage is thin, empty, or when the query is explicitly demand/attention-shaped.' It also provides the fuller execution context — call after search_graph sends back a thin/empty coverage annotation — so an agent can determine when to invoke this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_graphsA
Read-onlyIdempotent
Inspect

List all expert knowledge graphs the user can access — IDs, descriptions, authors, sectors, signal counts, and topic coverage (e.g. retail, tech, food, travel, fashion, beauty, sports). Use FIRST in any session to discover available sources before searching. Returns graph metadata needed for graphId parameters in other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdNoOptional user identifier. Authenticated users are identified automatically via API key. For trial users, this helps track usage.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful context by listing the specific metadata returned and confirming that only accessible graphs are listed, going beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action and result fields, followed by usage guidance. Every sentence contributes value with zero redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description adequately covers what is returned, when to use it, and how it relates to the rest of the toolset. It is self-sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single optional parameter (userId) is fully described by the schema at 100% coverage. The description adds no new parameter semantics; the schema already explains optionality and authentication, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all expert knowledge graphs the user can access, enumerates the returned fields (IDs, descriptions, authors, sectors, signal counts, topic coverage), and distinguishes it from sibling search tools by positioning it as the discovery step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use 'FIRST in any session to discover available sources before searching' and explains that returns graph metadata needed for graphId parameters in other tools, creating clear when-to-use and relationship-to-siblings guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_urlA
Read-onlyIdempotent
Inspect

Extract clean text content from any URL. Use this when a user shares a link (competitor site, news article, client brief, trend report) and wants to cross-reference it against Fodda knowledge graphs. Returns structured text ready for analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to read and extract content from
userIdNoOptional user identifier for usage tracking.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and idempotent; the description adds valuable behavioral specifics, namely that the tool extracts 'clean text' and returns 'structured text ready for analysis.' It does not disclose failure behavior, such as unsupported URLs or restricted-content issues, but for this simple read tool the annotations cover the main risk profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tight sentences: it delivers the primary action first, then the main-use context, then the output shape. Every sentence earns its place and there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-required-parameter, read-only tool with no nested objects, the description explains what it does, when to use it, and what kind of output is expected even though no output schema is declared. It would be richer if it handled failure cases or non-HTML URLs, but nothing critical is missing for an agent to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both `url` and `userId` are already described in the schema. The tool description stays safe, so no additional parameter semantics is needed; at the same time, it provides no later parameter meaning beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Extract clean text content from any URL.' It also names a concrete scenario (user-shared links like competitor sites, news articles, briefs, trend reports), which makes the tool's purpose unambiguous and distinguishes it from the surrounding graph-query siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit trigger: 'Use this when a user shares a link...' and gives representative examples. It does not name alternatives or exclusions, but none of the listed siblings overlap with URL content extraction, so the guidance is practical and sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_graphA
Read-only
Inspect

Find trends, signals, and expert insights across 100+ curated knowledge graphs covering retail, beauty, tech, food, travel, sports, and 30+ specialist domains. Returns trend data with cited evidence, source attribution, and lifecycle stage (emerging/building/mature/fading) — not generic web summaries. If graphId is omitted, searches ALL accessible graphs in parallel (recommended default). Use for market trends, competitor analysis, innovation signals, consumer behavior, cultural shifts, or any topic where curated expert intelligence outperforms web search.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoExecution mode: "research" for topic research, "compare" for upload & compare intelligence. Defaults to "research".research
limitNoMaximum number of results (default 10, max 50)
queryYesThe search query. Country/regional terms filter results at the macro level. Note: Knowledge graph trends are indexed at country/global scope — for sub-national or city-level data (e.g., "US coastal cities"), also query get_supplemental_context.
graphsNoOptional explicit graph scope: an array of graph IDs. When provided, the search is restricted to EXACTLY these graphs — no fallback routing to other graphs. Graph IDs that are unknown, not live, or not yet synced are reported back in `unavailable_graphs` with a reason. Takes precedence over graphId.
userIdNoOptional user identifier for trial usage tracking.
graphIdNoOptional graph ID. If omitted, searches ALL accessible graphs. Examples: 'retail', 'tech', 'food', 'travel', 'beauty', 'sports', 'sic', 'pew', 'ce-design', 'ezra-eeman-wayfinder', 'dhl-ecommerce-trends-2026', 'automotive-color-trends', 'alyson-stevens-macro', 'dentsu-creative-marketing', 'pwc/sxsw-2026-key-insights', 'green-house/thrive-report', 'delta/the-connection-index'
skip_skillsNoIf true, skip applying any enabled search enhancement skills for this query only. Use when you want raw, un-enhanced graph results. Default: false.
use_semanticNoWhether to use semantic search (default true)
include_evidenceNoIf true, batch-fetch supporting evidence articles inline with results. Default: true.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint, openWorldHint, and non-destructive behavior, lowering the bar. The description adds substantial behavioral context by specifying the parallel search over all accessible graphs when graphId is omitted and by describing the return value shape: trend data with cited evidence, source attribution, and lifecycle stage. This goes beyond what the annotations alone convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, stating the core purpose in the first sentence and then adding default behavior and use cases. Every sentence contributes value, and there is no filler or repetition. It remains easily scannable for an AI agent choosing a tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 9 parameters and no output schema, the description provides high-level output expectations (cited evidence, attribution, lifecycle stage) and default behavior. It integrates well with the comprehensive schema, though it does not serve to explain what each of the more nuanced parameters like mode or graphs does. With schema coverage at 100%, this is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and all parameters already have detailed descriptions in the schema. The tool description does mention the graphId default and that omitted graphId searches all graphs, but this information is also present in the schema. Since the schema carries the full burden, the description adds no significant extra param semantics beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Find trends, signals, and expert insights across 100+ curated knowledge graphs.' It clearly distinguishes itself from generic web search by noting that it returns cited evidence and lifecycle stage, not generic web summaries. However, it does not explicitly differentiate among sibling search tools like search_insights or search_statistics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear guidance on when to use the tool: 'Use for market trends, competitor analysis, innovation signals, consumer behavior, cultural shifts, or any topic where curated expert intelligence outperforms web search.' It also gives a strong default recommendation to omit graphId and search all graphs. Missing explicit exclusions with respect to alternative sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_insightsA
Read-only
Inspect

NARRATIVE only: expert quotes, editorial analysis, and strategic perspectives on a topic — sourced from named strategists and industry leaders. Returns qualitative evidence (quotes, interpretations) with source attribution and parent trend context, NOT raw numbers. For hard data points, market sizes, and growth rates, use search_statistics instead. Works on ALL graphs. Use when you need authoritative voices, strategic framing, or analytical depth that web search cannot provide.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (default: 10, max: 50)
queryYesNatural language search query. E.g. 'expert views on Gen Z luxury' or 'resale market statistics'
typesNoComma-separated evidence types to search: quote, interpretation, signal, metric, or 'all' (default: 'quote,interpretation' — narrative. For hard numbers, use search_statistics or add 'metric').
userIdNoOptional user identifier for trial usage tracking.
graph_idYesGraph ID to search. Works on ALL graphs — domain graphs ('retail', 'sic', 'beauty', 'sports', 'fashion', 'ce-design', 'pew') AND expert graphs. Search across multiple graphs for best coverage.
min_scoreNoMinimum relevance threshold 0-1 (default: 0.60). Use 0.60 for broad queries, 0.70+ for precise lookups.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey readOnly and non-destructive behavior, so the description's additional burden is lower. It adds valuable behavioral context: results are qualitative evidence (quotes, interpretations) with source attribution and parent trend context, and it explicitly states what the tool is NOT for (raw numbers). This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the most important 'NARRATIVE only' distinction, names a sibling alternative, and closes with a clear usage criterion. It is slightly repetitive (reiterating 'NOT raw numbers' and mentioning search_statistics twice within the description and schema), but each sentence still carries meaningful value and the overall length is reasonable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description compensates by describing the return characteristics: quotes, interpretations, source attribution, and parent trend context. It also covers graph applicability and when to use alternative tools. It could mention pagination or limit behavior more explicitly, but the essential information for correct selection and invocation is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter thoroughly. The description adds high-level conceptual framing but does not substantially expand on parameter-level semantics beyond what the schema provides. A baseline 3 is appropriate because the schema carries the parameter documentation burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource pair ('search' + 'insights') and clearly defines the scope: narrative-only content such as expert quotes, editorial analysis, and strategic perspectives from named strategists. It explicitly contrasts with raw data tools and names what differentiates it, so an agent can distinguish it from search_statistics without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent when to use this tool: when needing authoritative voices, strategic framing, or analytical depth. It also names the alternative for hard numbers and market data: search_statistics. It adds the important constraint that it works on ALL graphs, making the decision rule complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_statisticsA
Read-only
Inspect

HARD NUMBERS only: specific figures, market sizes, growth rates, and quantitative data points across Fodda's knowledge graphs. Each result links back to the expert trend it supports. Use when a question asks for a number or statistic — try this BEFORE supplemental data tools, as Fodda's experts may have already curated the answer. For expert quotes, editorial analysis, and narrative interpretation, use search_insights instead. Works on ALL graphs — domain, expert, and report. Search multiple graphs for best coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (default: 10, max: 50)
queryYesWhat data to search for (e.g., 'luxury resale market size', 'secondhand clothing sales volume', 'Gen Z spending behavior')
userIdNoOptional user identifier for trial usage tracking.
graph_idYesGraph ID to search. Works on ALL graphs — domain graphs ('retail', 'fashion', 'beauty', 'sports', 'sic', 'ce-design', 'pew') AND expert graphs. Search across multiple graphs for best coverage.
min_scoreNoMinimum relevance threshold, 0-1 (default: 0.60). Use 0.60 for broad queries, 0.70+ only for precise data lookups.
include_signalsNoAlso include Signal nodes (case studies, brand examples). Default: false

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the operation as read-only and non-destructive, and the description adds useful behavioral context: results link back to expert trends, 'HARD NUMBERS only' restricts the output, and the tool works across all graphs. It also advises searching multiple graphs for better coverage. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct yet information-dense. It front-loads the core purpose ('HARD NUMBERS only'), immediately follows with usage guidance, and closes with a short alternative and scope clarification. No filler exists; each sentence contributes to tool selection and successful invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with six parameters, required graph_id and query, and no output schema, the description provides enough complete context: it defines the result content, explains the linking behavior to expert trends, states graph scope, and gives a clear selection heuristic. It also mentions coverage across multiple graphs, which helps an agent plan calls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains all parameters. The description adds little new detail about individual parameters, though it does emphasize that graph_id can target all graphs and recommends searching multiple graphs. This is a baseline score because the schema carries the main parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action and resource ('search statistics'), states 'HARD NUMBERS only', and enumerates the content type (figures, market sizes, growth rates). It clearly distinguishes itself from search_insights, which handles quotes and narrative, making it easy for an agent to select the right tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage conditions are given: 'Use when a question asks for a number or statistic — try this BEFORE supplemental data tools.' It also names the alternative search_insights and the conditions under which to use it (expert quotes, editorial analysis, narrative interpretation), leaving no ambiguity about when to choose each tool.

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. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedgenerate_visual1 field changed
      • changedInput schema / properties / data / description
        Previous value: -"JSON string containing the chart data. Structure depends on chart_type. cultural_shifts: {shifts:[{from,to}]}. competitive_compass: {brands:[{name,x,y}], axes:{left,right,top,bottom}}. trend_constellation: {trends:[{name,x,y}], connections:[{from,to,strength}]}. implication_ladder: {signal,trend,so_what,do_what}. innovation_pathway: {now,near_term,future}. opportunity_map: {items:[{name,consumer_desire,market_activity}]}"New value: +"JSON string containing chart data. Optional top-level \"focus\":\"Name\" or per-item \"focus\":true highlights key entity in brand accent. cultural_shifts: {shifts:[{from,to}]}. competitive_compass: {brands:[{name,x,y,focus?:boolean}], axes:{left,right,top,bottom}, focus?:string}. trend_constellation: {trends:[{name,x,y,focus?:boolean}], connections:[{from,to,strength}], focus?:string}. implication_ladder: {signal,trend,so_what,do_what}. innovation_pathway: {now,near_term,future}. opportunity_map: {items:[{name,consumer_desire,market_activity,focus?:boolean}], x_label?:string, y_label?:string, focus?:string}"

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation4/5

The tools are mostly distinct: search_graph, search_insights, search_statistics, and get_supplemental_context are carefully differentiated by output type, and graph exploration/evidence tools have clear roles. A couple of retrieval tools (get_validated_trends vs search_graph, search_statistics vs get_supplemental_context) could be mistaken at a glance, though their descriptions do enough to separate them.

Naming Consistency5/5

All tool names use a consistent lowercase snake_case verb_noun pattern (search_*, get_*, list_*, generate_*, check_*, read_*). Verbs map predictably to actions, and there are no mixed conventions or vague generic names.

Tool Count5/5

Fifteen tools is at the upper edge of the ideal range but each one maps to a distinct research workflow step: discovery, graph search, targeted retrieval, evidence, supplemental data, visualization, and account/capability checks. The breadth is justified by the server's broad trend-research scope.

Completeness5/5

The surface covers the full read-only research lifecycle: list graphs, search across them, drill into nodes/neighbors/evidence, get quantitative and qualitative answers, supplement thin coverage with external data, and produce visuals. Meta tools for account/capability and URL import prevent dead ends.