Skip to main content
Glama

nowyourlink public Spotlights

Server Details

Anonymous read-only access to settled advertising Spotlights, with an MCP Apps card.

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
Uptime
99.9% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
ArneFfm/nowyourlink-agent-kit
GitHub Stars
0

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a clearly distinct operation: current spotlight, dated spotlight, list, and sandbox job create/poll. The descriptions explicitly call out the difference between get_current_spotlight and get_spotlight, and the sandbox tools are isolated from real data.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern using get_, list_, and create_ prefixes. The naming makes the resource and action immediately clear, and the sandbox pair is parallel and predictable.

Tool Count5/5

Five tools is well-scoped for a read-focused Spotlight API with one sandbox testing pair. There is no redundancy or bloat, and each tool has a clear purpose.

Completeness4/5

The surface covers current, dated, and list retrieval of settled Spotlights, plus a sandbox for exercising the write API pattern. It lacks search/filtering beyond list and date, but that appears intentionally out of scope for a public read-only Spotlight viewer.

Available Tools

5 tools
create_sandbox_jobA
Idempotent
Inspect

Start a synthetic asynchronous sandbox job that exercises the Idempotency-Key and 202-then-poll pattern of the write API without touching real auctions, ads or money. Poll it with get_sandbox_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
idempotencyKeyYesClient-chosen key; the same key always returns the same jobId.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover idempotency and non-destructive mutation; the description adds useful behavioral context: the job is synthetic and asynchronous, does not touch real data, and returns via 202-then-poll. This goes beyond what 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?

Two sentences, no redundancy, with the core action and purpose front-loaded. The pointer to get_sandbox_job earns its place.

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 one-parameter tool with output schema and annotations, the description tells the agent what it does, why it exists, and the follow-up call. Nothing essential is missing.

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 the single parameter's description explains the semantics (same key -> same jobId). The description references the idempotency-key pattern, aligning with the schema, but adds no additional parameter-level detail. Baseline 3 applies.

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?

States a specific verb ('Start') and resource ('synthetic asynchronous sandbox job'), and clarifies it exercises the Idempotency-Key and 202-then-poll pattern. It distinguishes from sibling get_* tools by framing it as the write-path sandbox.

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?

Clearly implies when to use it – to practice/validate the write API's idempotency and polling behavior without real side effects. It explicitly instructs to poll with get_sandbox_job, but it doesn't spell out when not to use it or name alternatives for read operations (though siblings are all reads).

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

get_current_spotlightA
Read-onlyIdempotent
Inspect

Read the currently displayed settled public Spotlight, including labeled house advertisements. Does not bid or pay.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeHouseAdsNoWhen false, a current house advertisement is reported as unavailable instead of returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds useful behavioral context beyond those: it targets the currently displayed 'settled' Spotlight, includes labeled house advertisements, and explicitly states it does not bid or pay. No contradiction with the annotations exists.

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 short sentences with no filler. The core action and resource are front-loaded, and the clarifying note about not bidding or paying is concise and valuable.

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 tool with one optional parameter, rich annotations, and an output schema, the description covers the essential invocation context. The only notable gap is the absence of explicit sibling differentiation, but the tool is otherwise adequately described.

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?

There is only one optional parameter, includeHouseAds, and its schema description fully covers its behavior (100% schema description coverage). The prose adds no parameter-specific detail, but the schema already provides enough meaning, so the baseline score of 3 applies.

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: it 'Read[s] the currently displayed settled public Spotlight' and further clarifies it includes labeled house advertisements. The phrase 'currently displayed' differentiates this from the sibling tools get_spotlight and list_spotlights, making the tool's scope 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 description implies the tool is for reading the current Spotlight and explicitly notes it does not bid or pay, which helps set expectations. However, it never names the sibling tools or states when to choose this over get_spotlight or list_spotlights, leaving some routing to inference.

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

get_sandbox_jobA
Read-onlyIdempotent
Inspect

Read the status and synthetic result of a sandbox job created with create_sandbox_job. Every well-formed jobId resolves as completed, so a result is not proof that the key was created.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesjobId returned by create_sandbox_job.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, the description reveals a critical behavioral trait: every well-formed jobId resolves as completed, so a result is not proof the key was created. This is exactly the kind of non-obvious behavior an agent needs to interpret results correctly and goes well beyond what readOnlyHint or idempotentHint 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 carry the full meaning: the first states what is read and how the job is created, the second provides the crucial interpretive caveat. No filler or 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 single-parameter, read-only tool with full schema coverage, an output schema, and safety annotations, the description is complete. It even adds the non-obvious sandbox semantics that could otherwise mislead an agent into treating a synthetic result as real evidence.

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 jobId parameter is well-defined in the schema with pattern and origin. The description adds only the 'well-formed' framing and does not provide new parameter-level semantics beyond what the schema already states, 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 uses a specific verb ('Read') with a specific resource ('status and synthetic result of a sandbox job') and ties it to create_sandbox_job, which clearly distinguishes it from the spotlight siblings. The caveat about completed results adds precision to what the tool actually does.

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 makes the usage context clear: it is for reading the result of a sandbox job that was created with create_sandbox_job. It does not explicitly state when not to use it or name alternatives, but the sibling list shows the spotlight tools are unrelated, so the intended context is reasonably clear.

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

get_spotlightA
Read-onlyIdempotent
Inspect

Read one settled public Spotlight by date, including labeled house advertisements. Removed or missing days are unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayYesSettled auction date in UTC, YYYY-MM-DD.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/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 behavioral context beyond that: it returns labeled house advertisements and that removed or missing days are unavailable, warning the agent about potential empty/error results. No contradiction with 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 short sentences, no redundancy, and the core behavior is presented first. The availability limitation is placed second, which is an efficient and logical order.

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 read-only single-parameter tool with a full output schema and strong annotations, the description covers all essential aspects: what it reads, how it is scoped, what it includes, and a key failure/availability caveat.

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 the single 'day' parameter is fully described in the schema. The description adds no new parameter-level meaning, but none is necessary given the schema already specifies the format and 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?

The description states a specific verb ('Read'), a specific resource ('one settled public Spotlight'), and the selection criterion ('by date'). It also clarifies that the result includes labeled house advertisements, which distinguishes the tool from generic listing or current-spotlight 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?

The phrase 'one settled public Spotlight by date' makes clear this is for reading a historical settled item, not the current spotlight or a list. It does not explicitly name sibling tools as alternatives, but the context strongly implies when it should be used versus get_current_spotlight and list_spotlights.

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

list_spotlightsA
Read-onlyIdempotent
Inspect

Browse settled public Spotlights, newest first, including labeled house advertisements. Removed ads are excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNoExclusive older-date cursor from nextCursor; cannot be combined with offset.
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/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 meaningful result-set behavior beyond those annotations: newest-first ordering, inclusion of labeled house advertisements, and exclusion of removed ads. This goes beyond what annotations or schema 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?

A single sentence with no filler; every clause adds information about scope, ordering, or filtering. It is front-loaded with the core action and resource.

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 listing tool with an output schema and strong annotations, the description covers the content, ordering, and filters that matter most. It does not explain pagination beyond the cursor schema, but the schema and output schema fill that gap; the only notable omission is explicit guidance on when to use this vs the sibling get_* decriptions.

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

Parameters2/5

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

Schema description coverage is only 33%: only cursor has a description. The description does not compensate by explaining limit, offset, or cursor pagination behavior; it only mentions sorting. An agent must infer the roles of limit and offset from their names and the cursor 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 uses a specific verb ('Browse') and a specific resource ('settled public Spotlights'), and adds sorting ('newest first') and inclusion/exclusion filters. Its plural collection scope clearly distinguishes it from the single-item sibling tools get_current_spotlight and get_spotlight.

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 for browsing a filtered list of Spotlights, but it never explicitly says when to choose it over get_spotlight or get_current_spotlight. There are no stated alternatives or exclusion conditions, so usage guidance is left mostly to inference.

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. 2 tool updates
    • Addedcreate_sandbox_job
    • Addedget_sandbox_job
  2. 1 tool update
    • Changedget_current_spotlight1 field changed
      • addedInput schema / properties / includeHouseAds
        Added value: +{
        +  "default": true,
        +  "description": "When false, a current house advertisement is reported as unavailable instead of returned.",
        +  "type": "boolean"
        +}
  3. 1 tool update
    • Removedread_agent_docs
  4. 1 tool update
    • Changedlist_spotlights3 fields changed
      • addedInput schema / not
        Added value: +{
        +  "required": [
        +    "cursor",
        +    "offset"
        +  ]
        +}
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "Exclusive older-date cursor from nextCursor; cannot be combined with offset.",
        +  "format": "date",
        +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +  "type": "string"
        +}
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "data": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "advertiser": {
        -              "type": "string"
        -            },
        -            "canonicalUrl": {
        -              "format": "uri",
        -              "type": "string"
        -            },
        -            "contentType": {
        -              "enum": [
        -                "paid_advertisement",
        -                "house_advertisement"
        -              ],
        -              "type": "string"
        -            },
        -            "day": {
        -              "description": "Settled auction date in UTC, YYYY-MM-DD.",
        -              "format": "date",
        -              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        -              "type": "string"
        -            },
        -            "description": {
        -              "type": "string"
        -            },
        -            "headline": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "day",
        -            "headline",
        -            "description",
        -            "advertiser",
        -            "canonicalUrl",
        -            "contentType"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "nextOffset": {
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "data",
        -      "nextOffset"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "detail": {
        -        "type": "string"
        -      },
        -      "docs": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "status": {
        -        "type": "integer"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "type": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "title",
        -      "status",
        -      "detail"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "data": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "advertiser": {
        +              "type": "string"
        +            },
        +            "canonicalUrl": {
        +              "format": "uri",
        +              "type": "string"
        +            },
        +            "contentType": {
        +              "enum": [
        +                "paid_advertisement",
        +                "house_advertisement"
        +              ],
        +              "type": "string"
        +            },
        +            "day": {
        +              "description": "Settled auction date in UTC, YYYY-MM-DD.",
        +              "format": "date",
        +              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +              "type": "string"
        +            },
        +            "description": {
        +              "type": "string"
        +            },
        +            "headline": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "day",
        +            "headline",
        +            "description",
        +            "advertiser",
        +            "canonicalUrl",
        +            "contentType"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "nextCursor": {
        +        "anyOf": [
        +          {
        +            "description": "Settled auction date in UTC, YYYY-MM-DD.",
        +            "format": "date",
        +            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "nextOffset": {
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "data",
        +      "nextOffset",
        +      "nextCursor"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "detail": {
        +        "type": "string"
        +      },
        +      "docs": {
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "integer"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "title",
        +      "status",
        +      "detail"
        +    ],
        +    "type": "object"
        +  }
        +]
  5. 4 tool updates
    • First observedget_current_spotlight
    • First observedget_spotlight
    • First observedlist_spotlights
    • First observedread_agent_docs

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    A remote MCP server that lets MCP clients self-register over OAuth 2.1 and call read-only tools for organization identity, place and region browsing, dashboards, metrics, and ranking, forwarding the caller's own Auth0 token so each service still sees the real user. It also exposes a bearer pass-through surface for first-party apps holding an existing token.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables read-only sales dashboard and opportunity data access, plus Blob-backed quote preview and explicitly confirmed simulated quote saves through MCP tools with a bundled MCP Apps UI.
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Read-only MCP server exposing ActiveView's external API for querying price rules, domain/network reports, and A/B testing redirects, enabling Claude to analyze ad performance data without modifications.
    12
    1
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.