Skip to main content
Glama

Adbull

Server Details

Adbull, digitalt bureau i Aarhus: ydelser, priser, cases, artikler og kontakt.

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-11-25
URL

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation4/5

Each tool targets a distinct content type (company facts, contact channels, prices, services, speed test, articles, cases), so an agent can pick correctly in most cases. Minor overlap exists between get_company_info (which also lists contact details) and get_contact_options, and between get_services' starting prices and get_prices, but the descriptions clarify the boundaries.

Naming Consistency4/5

All names follow a clean verb_noun snake_case pattern. The use of get_ for direct lookups versus search_ for queryable collections is a coherent, readable distinction rather than an inconsistency.

Tool Count5/5

Seven focused read-only tools map neatly onto the site's content areas with no filler. The set is well within the ideal 3-15 range for a small business-info server.

Completeness4/5

The surface covers the plausible domain thoroughly: company info, services, prices, contact routes, articles, cases, and a speed-test entry point. Gaps are minor—there is no detail-fetch tool (e.g. get_article/get_case by id) beyond search, and no submission action, though the latter appears deliberately excluded.

Available Tools

7 tools
get_company_infoOm AdbullB
Read-only
Inspect

Company facts about Adbull ApS: address, CVR, contact details, opening hours, the team with roles and LinkedIn, and the B-mærket certification.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that the content is a fixed set of company facts rather than a live or parameterized query, which is modest but useful context. With no output schema, it still does not say what shape the facts come back in.

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 sentence with the resource named first and the payload enumerated after it, so nothing is buried. The field list is dense but every item earns its place given the lack of an output schema.

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?

With no output schema, the description carries the burden of describing return content, and the enumerated field list does that well. What is missing is the relationship to get_contact_options and whether the team/LinkedIn data is personal or organizational.

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 of 4 applies. The description correctly conveys that no input is needed by framing the response as a fixed set of facts.

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 resource (company facts about Adbull ApS) and enumerates the facts returned: address, CVR, contact details, opening hours, team roles/LinkedIn, and B-mærket certification. That distinguishes it from the sibling tools, which all cover different subjects (prices, services, articles, cases). It stops short of 5 because the tool name's relationship to the 'Om Adbull' title is never reconciled.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives, even though it overlaps with the sibling get_contact_options on contact details. The agent must infer from the field list alone that this is the broad company-profile lookup rather than the contact-channel lookup.

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

get_contact_optionsKontakt AdbullA
Read-only
Inspect

Get the links and details a person uses to contact Adbull: the contact form for a new website (free design sketch) or for SEO and ads (free review), phone and email. Nothing is sent by this tool.

NameRequiredDescriptionDefault
topicNohjemmeside = new website, redesign or webshop. vaekst = SEO, GEO, ads, conversion or tracking.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description reinforces this with 'Nothing is sent by this tool' — a genuinely useful clarification, since a mention of a contact form could otherwise mislead an agent into thinking a submission occurs. It does not cover return format or freshness of the contact data, but the key behavioral risk is addressed.

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, front-loaded with the payload ('links and details a person uses to contact Adbull'), with the non-obvious safety note tacked on last. No filler, no redundancy.

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, and the description compensates by enumerating what is returned (contact form links for two topics, phone, email). Combined with the safe-read confirmation, an agent has enough to call it correctly. Minor gap: no indication of whether phone/email are always present or depend on the chosen topic.

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 single enum parameter is already fully documented in the schema, so the baseline is 3. The description does echo both enum branches in natural language ('new website (free design sketch)' vs. 'SEO and ads (free review)'), which slightly aids mapping between user intent and topic value, but it adds no new constraint such as the default when topic is omitted.

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 uses a specific verb ('Get') plus the resource (contact links and details: contact form, phone, email) and even names the two contact-form variants. It is immediately clear what comes back. It does not explicitly contrast itself with siblings, but the resource is distinct enough that no confusion with get_company_info or get_prices is likely.

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 infer this is the tool for 'how do I reach Adbull' questions, and the topic split (free design sketch vs. free SEO/ads review) hints at when each path applies. There is no explicit 'use this when...' or exclusion against siblings such as get_services, which also describes Adbull's offerings.

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

get_pricesVejledende priserA
Read-only
Inspect

Get Adbull's indicative price packages in DKK excl. VAT, with what each package includes. Optionally for one service.

NameRequiredDescriptionDefault
serviceNoOnly return packages for this service.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare a safe read (readOnlyHint=true) against a closed data set (openWorldHint=false), so the bar is lowered. The description still adds real context the annotations don't: currency (DKK), that prices exclude VAT, and that each package's included items are returned — details that directly affect how an agent presents the data.

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 tightly-packed sentence with zero filler, leading with the verb and resource and ending with the optional scoping clause. Every clause carries information.

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-optional-param read tool with no output schema, the description covers the essentials and hints at the return payload ('what each package includes'), plus currency and VAT semantics. It stops short of describing the shape of the response (package tiers, how many packages), which is the only meaningful remaining gap.

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 single parameter is fully documented with an enum in the schema, so the baseline is 3. The description only restates that the filter is optional and scoped to one service; it adds nothing about the enum values or what happens with an invalid service.

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?

Specific verb ('Get') plus a well-scoped resource ('Adbull's indicative price packages in DKK excl. VAT, with what each package includes'), which is naturally distinct from siblings like get_services or get_company_info. It doesn't explicitly name a sibling it must not be confused with, so it falls just short of a 5.

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?

'Optionally for one service' implies both the unfiltered (list all packages) and filtered (single service) modes, so the calling pattern is inferable. However, there is no guidance on when to prefer this over get_services, nor any prerequisite such as resolving service slugs first.

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

get_servicesAdbulls ydelserA
Read-only
Inspect

List Adbull's services (web development, SEO, GEO, ads, conversion, tracking) with a short description, the page URL, the starting price in DKK excl. VAT and the sub-services.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare a safe, closed-world read. The description adds real value by disclosing the exact payload: currency (DKK), VAT basis (excl. VAT), and the presence of sub-services, so the agent knows the shape of the result without an output schema.

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; the parenthetical category list and field enumeration both earn their place. Slightly dense with two stacked lists, but no wasted prose.

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?

With no input schema, no output schema, and minimal annotations, the description carries the return-value burden and does so well by naming every returned field. Only gap is not clarifying the relationship between 'starting price' here and the sibling get_prices.

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 no parameters, so there is nothing for the description to disambiguate; the baseline applies. The description correctly notes the result covers all service categories without any filtering input.

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 and resource ('List Adbull's services') and enumerates the service categories and returned fields (short description, page URL, starting price in DKK excl. VAT, sub-services). It does not explicitly differentiate itself from the sibling get_prices, even though pricing appears in both.

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 implied: call it to get an overview of what Adbull offers. There is no explicit when-to-use or when-not, and no routing to alternatives such as get_prices for deeper pricing questions, despite the overlap.

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

search_articlesArtiklerA
Read-only
Inspect

Search Adbull's Danish articles with sources about SEO, GEO, Google Ads, Meta ads, web development, CRO and tracking.

NameRequiredDescriptionDefault
limitNoNumber of articles, 1 to 20. Default 8.
queryYesSearch words, preferably in Danish, e.g. "hvad koster en hjemmeside".

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 and openWorldHint=false, so the safety profile is covered. The description adds useful scope (Danish-language articles with cited sources, topic areas) but says nothing about ranking, result count behavior, or what a match looks like.

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 well-formed sentence with the resource front-loaded and no filler. It is appropriately sized for a simple search tool, though the topic list could be trimmed slightly.

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?

With a documented two-parameter schema, no output schema, and annotations covering safety and openness, the description carries the remaining burden of defining the corpus — which it does. Only the relationship to sibling search tools is left unaddressed.

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% — both query and limit (1-20, default 8) are documented with examples in the schema. The description adds no parameter detail beyond what is already structured, so baseline 3 applies.

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 (search) and resource (Adbull's Danish articles) plus the topic scope, so the agent knows exactly what corpus is queried. It does not explicitly distinguish itself from the close sibling search_cases, so it stops short of a 5.

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 infer this is for keyword lookups of article content, but there is no guidance on when to prefer it over search_cases, nor any mention of prerequisites or exclusions. Minimum viable routing information.

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

search_casesCasesA
Read-only
Inspect

Find Adbull's client cases with results. Optionally filter by a word in the title or summary, e.g. a client name, an industry or a service.

NameRequiredDescriptionDefault
queryNoWord to look for, e.g. "webshop", "SEO" or a client name.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description's real contribution is scope disclosure that matching is limited to title and summary (not the full case body) and that an unfiltered call returns cases, but it says nothing about result counts, ordering, or pagination.

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, no filler, with the core action front-loaded and the filtering behavior second. Every clause adds information an agent would otherwise have to guess.

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 optional-parameter read tool with annotations covering safety and no output schema, this is nearly sufficient — only the behavior on an empty or no-match query remains unspecified.

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?

With 100% schema coverage the baseline is 3, and the description earns above that by disclosing what the query actually matches against (title or summary) and that it is a word match rather than full-text — semantics the schema's "Word to look for" line does not convey.

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?

"Find Adbull's client cases" states a specific verb and resource, and the follow-up clause narrows the search surface to title and summary. It never distinguishes itself from the adjacent search_articles sibling, so an agent comparing the two must infer from the noun alone.

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 implied rather than stated: the description makes clear this is an optional-filter lookup for cases, but gives no when-to-use/when-not guidance and never names search_articles or get_company_info as the alternative for other resource types.

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. 7 tool updates
    • First observedget_company_info
    • First observedget_contact_options
    • First observedget_prices
    • First observedget_services
    • First observedget_speed_test_link
    • First observedsearch_articles
    • First observedsearch_cases

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables management of Meta advertising accounts, campaigns, ad sets, creatives, audiences, insights reporting, and batch workflows through the Meta Marketing API. Runs on Cloudflare Workers with multi-tenant OAuth and JWT-protected, workspace-scoped access.
    7 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables management of Meta advertising accounts, campaigns, ad sets, creatives, and audiences, plus reporting and batch workflows, through direct Meta Graph API calls. Runs as a multi-tenant Cloudflare Worker with Meta OAuth and JWT-protected access, letting users run these operations in natural language.
    7 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI clients to manage advertising on Meta's Marketing API, covering account setup, campaigns, ad sets, creatives, audiences, targeting, reporting and insights, plus batch helpers across 39 tools. Runs self-hosted on Cloudflare Workers with multi-tenant OAuth and JWT-protected endpoints, so each workspace securely connects and operates its own ad accounts.
    7 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources