Skip to main content
Glama

Lulu Ads — Publisher Concierge

Server Details

Self-serve publisher onboarding for Lulu Ads. 70% CPA, disclosed sponsored field.

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.7% over 55 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Lulu-The-Narwhal/lulu-ads
GitHub Stars
0

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation5/5

create_publisher and confirm_publisher clearly split the two-step registration handshake, while get_integration_guide, search_mcps, and verify_integration each address distinct needs: docs, discovery, and verification. There is no plausible pair of tools an agent would confuse.

Naming Consistency5/5

All five tools follow a consistent snake_case verb_noun pattern: create/confirm/get/search/verify plus a target noun. The plural acronym 'mcps' is the only minor wrinkle, but it does not break the convention.

Tool Count5/5

Five tools is a tight, well-scoped set for a publisher concierge server: registration, confirmation, integration guidance, discovery, and verification. None of the tools feel redundant or extraneous.

Completeness4/5

The core publisher journey is covered end-to-end: discover, create, confirm, read the guide, and verify a live event. The set lacks status/update/resend-code/delete-style account management, so it is not full CRUD, but agents can complete the advertised workflow without hitting a hard dead end.

Available Tools

5 tools
confirm_publisherConfirm PublisherAInspect

Complete publisher registration with the emailed 6-digit code. Returns publisher_id, one-time api_key, and a code snippet for the publisher's stack. Pass the framework you actually use — fastmcp | python | typescript | skybridge | langgraph | crewai | generic | openclaw — or leave it for the FastMCP default.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
frameworkNofastmcp
pending_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. It reveals that it returns a one-time api_key and defaults to FastMCP, but it does not mention side effects such as the registration being permanently completed, the code being consumed, or error 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?

Two compact sentences with no filler. The action is front-loaded, and the framework options are efficiently listed in a single pipe-delimited group.

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?

The description covers the action, return values, and framework choices, and the output schema exists. However, it omits pending_id semantics and any guidance on failure or edge cases, which are needed for a confirmation step with no annotations.

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 0%, so the description must add meaning. It does so for code ('emailed 6-digit code') and framework (valid values and default), but pending_id is left entirely to inference from its name and the phrase 'publisher registration.'

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: 'Complete publisher registration' with the emailed 6-digit code. This clearly distinguishes it from siblings like create_publisher (creation) and verify_integration (post-registration validation).

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 clear context for when to use the tool: after receiving the emailed code, to finish registration. It also provides guidance on the framework parameter, but it does not explicitly state when not to use it or name alternatives.

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

create_publisherCreate PublisherAInspect

Start publisher registration (requires the human's consent — registers their email). Pass server_url (the MCP server's own URL or repo link) when known — it drives the "server URL set" step on the publisher's dashboard, skipping it leaves that step looking incomplete even once real traffic flows. Emails a 6-digit verification code to contact_email; ask the human for the code, then call confirm_publisher(pending_id, code) to receive the API key. This tool does NOT return a publisher_id or api_key — only confirm_publisher does.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
server_urlNo
contact_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

No annotations exist, so the description carries the full transparency burden. It discloses that the tool sends a verification email, registers the human's email, has a dashboard-side effect tied to server_url, and does not return the final API key. This is detailed, honest behavioral disclosure beyond what the schema could 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?

Every sentence in the description contributes unique value: purpose, consent, server_url consequence, email-code flow, and explicit non-returned outputs. The critical caveat about not returning api_key is front-loaded near the end and clearly isolated from the setup details.

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 3-parameter tool with no annotations and an output schema, the description fully covers the registration workflow, parameter effects, follow-up step, and which sibling to call next. It also clarifies the return contract just enough to avoid a common failure mode, while the output schema can handle exact return 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?

With 0% schema description coverage, the description must add meaning to parameters. It clearly explains server_url (the MCP server's URL or repo link, drives the dashboard step) and contact_email (receives the 6-digit verification code). However, it does not explain the purpose of the name parameter beyond its schema type.

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 and resource: 'Start publisher registration,' which immediately identifies the operation. It also distinguishes itself from confirm_publisher by explicitly stating this tool does not return the API key and only confirm_publisher does, so the agent can tell the two apart.

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?

It gives concrete when-to-use guidance: requires human consent, pass server_url when known, expect a 6-digit code, ask the human for that code, then call confirm_publisher(pending_id, code). It also warns what this tool does not do, preventing the agent from expecting api_key or publisher_id prematurely.

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

get_integration_guideGet Integration GuideA
Read-only
Inspect

Exact integration guide for a stack: fastmcp | python | typescript | skybridge | langgraph | crewai | generic | openclaw | widgets.

ParametersJSON Schema
NameRequiredDescriptionDefault
frameworkNofastmcp

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds little behavioral context beyond saying the guide is 'exact', but it does not contradict the annotation and does not need to disclose side effects. It lacks any mention of response behavior or caching, but with annotations covering safety, this is adequate.

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, compact sentence that front-loads the resource type and immediately enumerates valid options. No filler words, and every segment adds value.

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 parameterized lookup with an output schema, the description is largely sufficient. It identifies the valid inputs and purpose. It could mention that the parameter is optional with default fastmcp, but that is already in the schema, and the output schema covers return expectations.

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 0% and the schema provides no description for the 'framework' parameter, so the description must compensate. It lists all accepted values (fastmcp, python, typescript, skybridge, langgraph, crewai, generic, openclaw, widgets), which is meaningful. It does not explain what each value returns or the default, but the enum-like list is a strong addition.

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 operation ('get integration guide') and the exact resource ('guide for a stack'), with a clear enumeration of supported stack values. It is immediately distinguishable from siblings like search_mcps or verify_integration, which serve different purposes.

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 when to use this tool (when you need an integration guide for one of the listed stacks), but it does not explicitly state when not to use it or reference alternatives. There is no conflict with siblings, but the guidance is implicit rather than explicit.

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

search_mcpsSearch McpsA
Read-only
Inspect

Search every major MCP registry at once — the official registry, Glama, PulseMCP and Smithery, deduplicated and ranked by a cross- registry trust score. Use whenever you need to FIND an MCP server for a capability: "find me a weather MCP", "is there an MCP for Stripe?". Returns ranked servers with install one-liners and links. category narrows (e.g. "security", "data"); limit caps results (1-10).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, and the description adds meaningful behavioral detail: results are deduplicated, ranked by a cross-registry trust score, and include install one-liners and links. There is no contradiction, and the behavior is well disclosed for a search-and-list operation.

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 compact and front-loaded: the core capability and scope appear in the first sentence, followed by usage triggers, return value summary, and parameter details. Every sentence adds useful information without 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?

Given the readOnly annotation, an output schema, and only three parameters, the description is complete enough. It explains what the tool searches, when to use it, what it returns, and how the optional parameters shape results — an agent can select and call this tool correctly from the description alone.

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 description coverage is 0%, so the description carries the parameter-semantics burden. It compensates well: 'category' is explained with examples, 'limit' is given a 1-10 range, and query semantics are illustrated with concrete search phrases. It does not fully document every nuance, but it provides more than enough for 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 verb and resource: 'Search every major MCP registry at once' and names concrete registries. It clearly distinguishes this tool from the sibling tools, which are about publisher management and integration verification, not discovery.

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 trigger conditions: 'Use whenever you need to FIND an MCP server for a capability' with natural-language examples. It does not explicitly list when-not-to-use alternatives, but the sibling tools are so different in purpose that the usage context is clear.

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

verify_integrationVerify IntegrationA
Read-only
Inspect

Check whether this publisher has produced a slot_served event (integration works). Pass fastmcp_version (e.g. from fastmcp.__version__ or pip show fastmcp) when the integrated server uses FastMCP — it's recorded so version-specific failures are traceable, not required to verify.

ParametersJSON Schema
NameRequiredDescriptionDefault
publisher_idYes
fastmcp_versionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is established. The description adds useful behavioral context beyond that: it explains that fastmcp_version is recorded for traceability and explicitly states it is not required for verification. This gives the agent a clearer picture of side effects and non-requirements without contradicting 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 two sentences with no padding. The core action is front-loaded, and the optional parameter guidance is clearly separated. Every clause earns its place and the length is appropriate for the tool's simplicity.

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 verification tool with an output schema and read-only annotation, the description is largely complete. It covers what is being verified, the key optional parameter behavior, and what counts as a successful integration. Minor gap: publisher_id is not described in detail, though the parameter name and context make its purpose reasonably clear.

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 0%, so the description carries the burden of explaining parameters. It does well for fastmcp_version, explaining where to get it, when to pass it, and that it is optional. However, publisher_id is only implicitly referenced as 'this publisher' and its format, origin, or expected value source is not explained beyond the schema's type string.

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's function: checking whether a specific publisher has produced a slot_served event, i.e., whether integration works. It names a specific verb ('check'), a specific resource ('publisher'), and a concrete success criterion, which distinguishes it from siblings like create_publisher or confirm_publisher.

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 main usage is implied by the purpose statement: use this to verify whether an integration is working based on the slot_served event. It gives clear guidance on the optional fastmcp_version parameter, but does not explicitly discuss when to prefer this tool over its siblings or when not to use it.

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. 1 tool update
    • Changedconfirm_publisher1 field changed
      • addedInput schema / properties / framework
        Added value: +{
        +  "default": "fastmcp",
        +  "type": "string"
        +}
  2. 1 tool update
    • Addedsearch_mcps
  3. 1 tool update
    • Changedverify_integration1 field changed
      • addedInput schema / properties / fastmcp_version
        Added value: +{
        +  "default": "",
        +  "type": "string"
        +}
  4. 1 tool update
    • Addedconfirm_publisher
  5. 3 tool updates
    • First observedcreate_publisher
    • First observedget_integration_guide
    • First observedverify_integration

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.