Search / io.github.Lulu-The-Narwhal/lulu-ads
Lulu Ads — Publisher Concierge
R0· no sign-inSelf-serve publisher onboarding for Lulu Ads. 70% CPA, disclosed sponsored field.
v0.2.0 · active · repository · descriptor JSON · versions
Search / io.github.Lulu-The-Narwhal/lulu-ads
R0· no sign-inSelf-serve publisher onboarding for Lulu Ads. 70% CPA, disclosed sponsored field.
v0.2.0 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"lulu-ads": {
"type": "http",
"url": "https://ads.getlulu.dev/mcp"
}
}
}claude mcp add --transport http lulu-ads https://ads.getlulu.dev/mcp[mcp_servers.lulu-ads]
url = "https://ads.getlulu.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"lulu-ads": {
"type": "remote",
"url": "https://ads.getlulu.dev/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"lulu-ads": {
"type": "http",
"url": "https://ads.getlulu.dev/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=lulu-ads&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYWRzLmdldGx1bHUuZGV2L21jcCJ9"
}{
"servers": {
"lulu-ads": {
"type": "http",
"url": "https://ads.getlulu.dev/mcp"
}
}
}{
"mcpServers": {
"lulu-ads": {
"httpUrl": "https://ads.getlulu.dev/mcp"
}
}
}extensions:
"lulu-ads":
enabled: true
name: "lulu-ads"
type: streamable_http
uri: "https://ads.getlulu.dev/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotationsonly 3 of 5 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: confirm_publisher (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); verify_integration (destructiveHint, idempotentHint, openWorldHint); get_integration_guide (destructiveHint, idempotentHint, openWorldHint); …tools.token_costabout 671 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +reachable +uptime-100% ~updated-92d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://ads.getlulu.dev/mcp streamable-http | none | yes | 100% | 346 ms | 2026-07-28 | 2026-10-19 |
confirm_publisher | 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. |
create_publisher | 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. |
get_integration_guideread-only | Exact integration guide for a stack: fastmcp | python | typescript | skybridge | langgraph | crewai | generic | openclaw | widgets. |
search_mcpsread-only | 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). |
verify_integrationread-only | 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. |
Schemas: list_tools.
And 3 more from this publisher.
{
"name": "io.github.Lulu-The-Narwhal/lulu-ads",
"title": "Lulu Ads — Publisher Concierge",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://ads.getlulu.dev/mcp",
"type": "streamable-http"
}
],
"version": "0.2.0",
"repository": {
"url": "https://github.com/Lulu-The-Narwhal/lulu-ads",
"source": "github"
},
"description": "Self-serve publisher onboarding for Lulu Ads. 70% CPA, disclosed sponsored field."
}