Skip to main content
Glama

aiagencies

Server Details

Find an AI agency for your next project.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation4/5

get_listing (single by slug) vs search_listings (text/place/category) vs the list_* facet tools are clearly distinct. Minor overlap exists since search_listings can filter by place and category, which partially duplicates what list_places/list_categories expose, but the purposes (retrieving agencies vs enumerating facets) remain recognizable.

Naming Consistency5/5

All six tools follow a consistent verb_noun snake_case pattern (get_*, list_*, search_*). The verb choice maps predictably to the operation type (retrieve one, enumerate, query).

Tool Count5/5

Six tools is well-scoped for a read-only directory server. Each tool covers a distinct facet (listing, search, categories, places, sources, stats) with no filler.

Completeness4/5

The surface covers the core read-only directory workflows (search, retrieve by slug, enumerate facets, stats, provenance). Minor gaps: get_listing requires a known slug and there is no explicit browse-all/pagination operation, though search_listings can approximate browsing.

Available Tools

6 tools
get_listingA
Read-onlyIdempotent
Inspect

Get one published AI agency by its slug.

NameRequiredDescriptionDefault
slugYesThe listing slug.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds useful scope via 'published', implying unpublished listings are not returned, but it does not explain behavior for missing or unpublished slugs.

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?

A single front-loaded sentence with no redundant or filler content. Every word contributes to identifying the operation and its scope.

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 one-parameter read operation with rich annotations and no output schema, the description is nearly complete. The main missing detail is the expected behavior when the slug does not match a published listing.

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 slug parameter is already fully documented in the schema. The description says lookup is by slug but adds no format, normalization, or validation guidance beyond what the schema provides.

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 states a specific verb and resource: getting one published AI agency by slug. It implicitly distinguishes retrieval-by-identifier from the sibling search/list tools, but does not explicitly name search_listings or explain the relationship.

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

Usage Guidelines3/5

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

Usage is only implied: use this when you already know the slug. There is no explicit guidance on when to use it versus search_listings, nor any stated exclusions such as unpublished or missing listings.

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

get_statsA
Read-onlyIdempotent
Inspect

Get the number of published AI agencies, places and categories, and when the data last changed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds that the result is a per-entity-type count plus a last-modified timestamp, which is useful return-value context, but it adds nothing about caching or freshness semantics beyond "when the data last changed".

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?

One sentence of roughly twenty words that leads with the verb and covers both what is counted and the freshness signal. No filler, no repetition of the tool name, nothing to trim.

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?

This tool has zero parameters and no output schema, so the description must carry the return shape, and it does so at a high level: counts for three entity types plus a last-changed timestamp. It is complete enough to call correctly, though it does not say whether the counts are scoped to published items only (it does say "published") or how the timestamp is formatted.

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?

The tool takes zero parameters, so the baseline is 4. The description correctly attributes no input requirements and does not introduce any parameter confusion; the schema and description are consistent on this point.

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 definition uses a specific verb ("Get") and resource (number of published AI agencies, places and categories) plus the last-changed timestamp, so the agent can infer that the tool returns aggregate statistics rather than the listing records themselves. It does not explicitly name the sibling tools such as list_places or list_categories, but the contrast with a list tool is clear enough to be useful.

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

Usage Guidelines3/5

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

The description implies this is the tool to call when you want counts or a freshness check rather than actual records. However, it never explicitly says when to use this tool instead of the sibling list_* tools or get_listing, and it states no exclusions or alternative conditions.

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

list_categoriesA
Read-onlyIdempotent
Inspect

List categories with their AI agency counts.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered. The description adds that AI agency counts are included, but does not describe ordering, pagination, or response shape beyond that.

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 single front-loaded sentence with no unnecessary text. It states the resource and the key returned detail immediately.

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 zero-parameter, read-only list tool with rich annotations and no output schema, the description is nearly sufficient. It explains the resource and mentions the count data returned, though it does not specify exact return fields or ordering.

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?

The tool has zero parameters, so there is no parameter syntax to explain. The schema is empty and requires no clarification, making the baseline of 4 appropriate.

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 states a specific verb and resource: 'List categories'. It also clarifies the returned content as categories with their AI agency counts. It does not explicitly differentiate itself from siblings like get_stats or list_places, but the purpose is clear.

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

Usage Guidelines3/5

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

The intended usage is implied: call this to retrieve categories and their counts. However, the description gives no explicit when-to-use guidance, no exclusions, and no alternatives such as get_stats or search_listings.

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

list_placesA
Read-onlyIdempotent
Inspect

List countries, regions and cities that have AI agencies.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds no behavioral context beyond the annotation set — no note on result ordering, whether results are cached/static, or what 'AI agencies' means in practice.

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?

One short sentence with no filler, and the resource is front-loaded after the verb. It is arguably too terse for a tool whose output shape is undefined, but nothing is wasted.

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

Completeness3/5

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

With no output schema, the description should clarify the return shape — e.g., whether results are a flat list of place names or a hierarchy of countries > regions > cities. That structural question is left unresolved, which matters for an agent that will parse the result.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The field's meaning ('countries, regions and cities that have AI agencies') is stated, though without an example value.

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?

States a specific verb ('List') and resource ('countries, regions and cities that have AI agencies'), which is enough for an agent to know what it returns. It does not explicitly contrast with siblings like list_categories or list_sources, though the geographic domain makes the distinction inferable.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can guess this is a discovery/enumeration helper for location values. There is no statement of when to prefer it over search_listings or the other list_* tools, and no prerequisites mentioned.

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

list_sourcesA
Read-onlyIdempotent
Inspect

List where the AI agency data comes from, with the license and refresh of each source.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already establish that this is a read-only, idempotent, non-destructive, non-open-world listing operation. The description adds useful context about what each source entry contains, license and refresh details, but does not describe return shape, pagination, or any other operational behavior.

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?

It is a single front-loaded sentence that states the resource and the key returned fields with no redundant or filler content.

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 zero-parameter list tool with rich annotations, the description is largely complete: it identifies the resource and the per-source metadata returned. It could be stronger if it clarified the return format or whether the list is exhaustive, especially since there is no output schema.

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?

This tool takes zero parameters, so the description is not required to explain parameter semantics. The baseline for a parameterless tool is 4, and nothing in the description misleads about inputs.

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 gives a specific verb, 'List', and a clear resource, 'sources', and further specifies that it returns license and refresh information for each source. It separates itself from siblings by resource, though it does not explicitly name alternatives such as list_categories or list_places.

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

Usage Guidelines3/5

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

The use case is implied: call this when you need provenance, license, or refresh metadata about the AI agency data sources. However, there is no explicit when-to-use/when-not-to-use guidance and no mention of sibling tools.

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

search_listingsB
Read-onlyIdempotent
Inspect

Search published AI agencies by text, place and category.

NameRequiredDescriptionDefault
qNoSearch text, with at least one letter or digit. Matches name, categories, attributes, description and place. Typos fall back to close matches.
cityNoCity slug, from /places.
sortNo`relevance` needs `q` and is the default with it. `name` is the default without `q`. `recent` is newest first.
limitNoItems per page.
cursorNo`page.nextCursor` from the previous response. Opaque. Send the same filters and `limit`.
regionNoRegion slug, from /places.
countryNoISO 3166-1 alpha-2 country code, any case. A country the directory does not cover, as listed in /places, gives 400.
categoryNoCategory slug, from /categories. A parent slug also matches its children.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds one real behavioral fact not in the annotations: results are restricted to *published* agencies. It says nothing about pagination, result volume or ordering beyond what the schema's sort/cursor fields already convey.

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?

A single front-loaded sentence with zero filler, which is the right shape for a search tool. It is arguably under-sized for an 8-parameter endpoint, but nothing in it is wasted.

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

Completeness3/5

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

With rich annotations, full schema coverage and no output schema, the description is adequate but thin: an agent gets no statement about which filters can be combined, that all are optional, or that results paginate via cursor. These are inferable from the schema but not reinforced.

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% and each parameter carries a detailed description (slug formats, defaults, cursor continuation rules), so the schema does the heavy lifting. The description's "text, place and category" only loosely maps to q/city/region/country/category and adds no format or combination semantics.

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?

Names a specific verb ("Search") and resource ("published AI agencies") plus the three facets it searches over. It is clearly distinct from get_listing (single fetch) and get_stats, though it never explicitly names those siblings to reinforce the contrast.

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

Usage Guidelines3/5

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

Usage is only implied: "Search ... by text, place and category" suggests you call it when you have a query or location filter rather than an ID. There is no explicit statement of when to prefer get_listing or list_places, and no mention that all filters are optional or combinable.

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.

  1. 6 tool updates
    • First observedget_listing
    • First observedget_stats
    • First observedlist_categories
    • First observedlist_places
    • First observedlist_sources
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to search a directory of AI agencies, consultancies, and automation providers across Germany, Austria, and Switzerland, returning verified business profiles with type, location, service areas, and review status. Also surfaces federal, EU, regional, and cantonal funding programs for digitalization and AI, including rates, deadlines, and official sources.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A search engine for AI agents that enables searching, comparing, and discovering over 500 businesses across 112 categories with structured pricing data. It allows users to filter listings by price, category, and country to find and analyze specific business services.
    4 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources