Search a Ugandan business directory for businesses and services by keyword, category, or district
Business directory for Uganda. Cloudflare Worker + Neon Postgres, with a simple web UI and an MCP endpoint for AI tools.
/ landing page/signup, /login, /logout phone + password accounts (password show/hide toggle)/add add a business listing (creation limit depends on tier; description min 40 characters)/mcp MCP endpoint with tools: search_businesses, get_business, list_categoriesResults are ranked by tier, highest first (black, green, blue, free).
schema.sql once in the Neon SQL console.npm installnpx wrangler secret put DATABASE_URL (your Neon connection string)npm run devnpm run deployYour MCP URL is: https://ug-online.domus-dei-tech.workers.dev/mcp.
/pricing shows all tiers and sells them via PesaPal. Every paid tier (Basic UGX 5,000/yr,
Pro UGX 12,000/yr, Premium UGX 25,000/yr) requires business contact phone verification by SMS
OTP (sent via UgaText) before the tier is granted. See migrations/002_verification.sql and
migrations/003_tier_names_and_pricing.sql, and migrations/004_payment_phone_optional.sql./pricing/status. The page polls /pricing/check until payment completes, then
asks for the verification number (prefilled, editable) and sends the SMS code. Status is only
trusted from PesaPal's GetTransactionStatus, never from the callback URL.step 0: update version in server.json
step 1: curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher chmod +x mcp-publisher
step 2: ./mcp-publisher login github ./mcp-publisher validate server.json ./mcp-publisher publish server.json
scaffold: npm create cloudflare@latest -- my-mcp --type=mcp-server get token for workers from cloudflare cd my-mcp npm install npx wrangler dev # local dev npx wrangler deploy # deploy
This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.