{"name":"io.github.Lulu-The-Narwhal/lulu-ads","slug":"lulu-the-narwhal-lulu-ads","title":"Lulu Ads — Publisher Concierge","description":"Self-serve publisher onboarding for Lulu Ads. 70% CPA, disclosed sponsored field.","url":"https://mcp.market/server/lulu-the-narwhal-lulu-ads","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":22,"stars":4,"forks":0,"downloads_week":null,"last_push_at":"2026-09-27T17:15:31.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-15T17:15:46.554Z","last_ok_at":"2026-11-15T17:15:46.554Z","latency_ms":170},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/Lulu-The-Narwhal/lulu-ads","website":null,"version":"0.2.0","remotes":[{"type":"streamable-http","url":"https://ads.getlulu.dev/mcp"}],"packages":[],"tools":[{"name":"confirm_publisher","description":"Complete publisher registration with the emailed 6-digit code.\nReturns publisher_id, one-time api_key, and a code snippet for the\npublisher's stack. Pass the framework you actually use — fastmcp |\npython | typescript | skybridge | langgraph | crewai | generic |\nopenclaw — or leave it for the FastMCP default.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"pending_id":{"type":"string"},"code":{"type":"string"},"framework":{"default":"fastmcp","type":"string"}},"required":["pending_id","code"],"additionalProperties":false}},{"name":"create_publisher","description":"Start publisher registration (requires the human's consent — registers\ntheir email). Pass server_url (the MCP server's own URL or repo link) when\nknown — it drives the \"server URL set\" step on the publisher's dashboard,\nskipping it leaves that step looking incomplete even once real traffic\nflows. Emails a 6-digit verification code to contact_email; ask the human\nfor the code, then call confirm_publisher(pending_id, code) to receive the\nAPI key. This tool does NOT return a publisher_id or api_key — only\nconfirm_publisher does.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string"},"contact_email":{"type":"string"},"server_url":{"default":"","type":"string"}},"required":["name","contact_email"],"additionalProperties":false}},{"name":"get_integration_guide","description":"Exact integration guide for a stack: fastmcp | python | typescript | skybridge | langgraph | crewai | generic | openclaw | widgets.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"framework":{"default":"fastmcp","type":"string"}},"additionalProperties":false}},{"name":"search_mcps","description":"Search every major MCP registry at once — the official registry,\nGlama, PulseMCP and Smithery, deduplicated and ranked by a cross-\nregistry trust score. Use whenever you need to FIND an MCP server for\na capability: \"find me a weather MCP\", \"is there an MCP for Stripe?\".\nReturns ranked servers with install one-liners and links. `category`\nnarrows (e.g. \"security\", \"data\"); `limit` caps results (1-10).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string"},"category":{"default":"","type":"string"},"limit":{"default":8,"type":"integer"}},"required":["query"],"additionalProperties":false}},{"name":"verify_integration","description":"Check whether this publisher has produced a slot_served event (integration\nworks). Pass fastmcp_version (e.g. from `fastmcp.__version__` or\n`pip show fastmcp`) when the integrated server uses FastMCP — it's recorded\nso version-specific failures are traceable, not required to verify.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"publisher_id":{"type":"string"},"fastmcp_version":{"default":"","type":"string"}},"required":["publisher_id"],"additionalProperties":false}}],"scan":{"score":75,"grade":"B","scanned_at":"2026-11-07T06:11:37.672Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-07T06:11:37.609Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 436ms"]},"poisoning":{"score":15,"max":15,"notes":["5 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":12,"max":15,"notes":["last push 41 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://ads.getlulu.dev/mcp","reachable":true,"authRequired":false,"latencyMs":436,"serverInfo":{"name":"lulu-ads","version":"4.0.8"}}],"packages":[],"repo":{"found":true,"owner":"Lulu-The-Narwhal","repo":"lulu-ads","archived":false,"pushedAt":"2026-09-27T17:15:31Z","stars":4,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/253140923?v=4","ownerCreatedAt":"2026-01-05T20:08:54Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/253140923?v=4&s=128","source":"registry"},"presence":{"stars":4,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-27T17:15:31.000Z","score":22}}}},"grade_history":[],"reviews":[]}