_ registry / mcp http-sse · checked 1h ago

tulimoa

https://mcp.tulimoa.com

Registry code: 511d04f5c7f23781

api record

Discover curated SaaS and AI-agent tools in the Tulimoa directory; submit and edit your listings.

from a public catalogue that lists it, not from the operator

endpoint
https://mcp.tulimoa.com/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is tulimoa live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is tulimoa free to use?
Yes — the hub reached it with no key and no payment.
What tools does tulimoa have?
5 tools: edit_listing, get_listing, submit_listing, list_categories, search_listings.
Is tulimoa safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.1%· all time 99.1%

latency
435ms

last good check

priced tools
0

of 5 tools

_ answered our checks, 90 days 339 checks · signed record
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • search a directory of saas and ai tools
  • get a tool listing's details
  • submit a tool listing
  • edit your listing
takes → gives
text → data
tools
3 reads2 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 5 tools
2 open 3 never probed 2 of 5 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_categories reads open 12h ago

    List the category ids and labels used to classify Tulimoa listings. Call this first when you need a valid `category` value for search_listings.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • search_listings reads open 12h ago

    Find SaaS tools in the Tulimoa directory that an AI agent or team can plug into. Discover tools by topic, category, pricing, MCP support, or EU hosting. Returns only approved, published listings. Use this for any 'find/recommend a tool for X' request, then call get_listing for full detail on a specific result.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "mcp": {
          "type": "boolean",
          "description": "true = only tools that expose their own MCP server."
        },
        "sort": {
          "enum": [
            "new",
            "popular",
            "viewed"
          ],
          "type": "string",
          "description": "Result order. Default: popular."
        },
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1,
          "description": "Max results (1-50, default 20)."
        },
        "query": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Free-text terms matched against the listing name and short description."
        },
        "eu_only": {
          "type": "boolean",
          "description": "true = only tools whose company country is in the EU."
        },
        "category": {
          "enum": [
            "developer-tools",
            "ai-infra",
            "sales-crm",
            "marketing",
            "productivity",
            "data-analytics",
            "finance-accounting",
            "customer-support",
            "hr-recruiting",
            "design-creative",
            "security-privacy",
            "communication",
            "commerce-payments",
            "automation-nocode",
            "other"
          ],
          "type": "string",
          "description": "Restrict to one category id. Call list_categories for valid ids."
        },
        "pricing_model": {
          "enum": [
            "free",
            "freemium",
            "paid",
            "lifetime"
          ],
          "type": "string",
          "description": "Restrict to a pricing model."
        }
      }
    }
    arguments 66 lines
  • edit_listing changes data unknown never probed

    Update fields of a listing you own (by slug). You cannot change ownership or set review status. Any edit sends the listing back to admin review (status: pending) and it reappears publicly only after re-approval. Every listing needs a logo: pass logo_url to replace it (required if the listing has none yet). Requires a write-scoped Tulimoa login.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "slug"
      ],
      "properties": {
        "mcp": {
          "type": "boolean"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "name": {
          "type": "string",
          "maxLength": 60,
          "minLength": 1
        },
        "slug": {
          "type": "string",
          "minLength": 1,
          "description": "Slug of YOUR listing to edit (from submit_listing)."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "maxItems": 8
        },
        "ai_usage": {
          "type": "string",
          "maxLength": 600,
          "minLength": 40,
          "description": "40 to 600 characters, ideally in English: how the software uses AI, or what agents can do with it. Be concrete, not salesy. Submissions without a clear AI or agent angle are rejected."
        },
        "category": {
          "enum": [
            "developer-tools",
            "ai-infra",
            "sales-crm",
            "marketing",
            "productivity",
            "data-analytics",
            "finance-accounting",
            "customer-support",
            "hr-recruiting",
            "design-creative",
            "security-privacy",
            "communication",
            "commerce-payments",
            "automation-nocode",
            "other"
          ],
          "type": "string"
        },
        "gdpr_dpa": {
          "type": "boolean"
        },
        "logo_url": {
          "type": "string",
          "format": "uri",
          "description": "New logo. Public https URL of the company logo: PNG, JPEG, WebP, GIF or AVIF, at least 64 px, max 5 MB. A square icon works best. Tulimoa downloads it, scales it to max 512 px and stores it as WebP. Required if the listing has no logo yet."
        },
        "mcp_auth": {
          "type": "array",
          "items": {
            "enum": [
              "oauth",
              "api"
            ],
            "type": "string"
          },
          "maxItems": 2
        },
        "x_handle": {
          "type": "string",
          "maxLength": 40
        },
        "data_region": {
          "enum": [
            "eu",
            "eu-option",
            "non-eu",
            "self-hosted"
          ],
          "type": "string",
          "description": "Where customer data is hosted: eu (in the EU by default), eu-option (an EU region can be selected), non-eu, self-hosted (runs at the customer). Listings with EU hosting also appear on tulimoa.com/mcp-eu."
        },
        "launch_hook": {
          "type": "string",
          "maxLength": 140
        },
        "mcp_docs_url": {
          "type": "string",
          "format": "uri"
        },
        "model_source": {
          "enum": [
            "own",
            "open-weight",
            "provider",
            "mixed",
            "none"
          ],
          "type": "string"
        },
        "pricing_model": {
          "enum": [
            "free",
            "freemium",
            "paid",
            "lifetime"
          ],
          "type": "string"
        },
        "certifications": {
          "type": "array",
          "items": {
            "enum": [
              "soc2",
              "iso27001",
              "hipaa"
            ],
            "type": "string"
          },
          "maxItems": 3
        },
        "mcp_server_url": {
          "type": "string",
          "format": "uri"
        },
        "pricing_detail": {
          "type": "string",
          "maxLength": 400
        },
        "agent_interfaces": {
          "type": "array",
          "items": {
            "enum": [
              "api",
              "cli",
              "sdk",
              "webhooks"
            ],
            "type": "string"
          },
          "maxItems": 4
        },
        "hosting_provider": {
          "type": "string",
          "maxLength": 60
        },
        "founder_x_handles": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 40
          },
          "maxItems": 4
        },
        "short_description": {
          "type": "string",
          "maxLength": 300,
          "minLength": 1
        },
        "trains_on_customer_data": {
          "enum": [
            "no",
            "opt-out",
            "yes"
          ],
          "type": "string"
        }
      }
    }
    arguments 179 lines
  • get_listing reads unknown 12h ago

    Fetch full detail of a single Tulimoa listing by its slug: long description, how it uses AI (ai_usage), features, use cases, integrations, pricing detail, data region and EU hosting, model source, certifications, and links. Use after search_listings when the user wants depth on a specific tool.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1,
          "description": "The listing's URL slug, e.g. 'acme-crm'."
        }
      }
    }
    arguments 15 lines
  • submit_listing changes data unknown never probed

    Create a new listing in the Tulimoa directory (AI and MCP software with its own website) on behalf of the authenticated user. It starts as 'pending' and is reviewed by hand. Required: logo_url (a public image URL, e.g. the company's square icon) and ai_usage (how the software uses AI or what agents can do with it). Choose how it goes live with `visibility`: 'badge' (free, Tulimoa badge on the website, reviewed within 7 days) or 'launch' ($5 one-time, no badge, reviewed first, refunded if rejected). For 'launch' ask the user for consent and pass withdrawal_consent: true; the result has a checkout_url the user opens to pay. For 'badge' the result has the badge HTML to embed. A website that is already listed cannot be submitted again. Use list_categories first to pick a valid category id. Requires a write-scoped Tulimoa login.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "name",
        "url",
        "short_description",
        "country",
        "category",
        "mcp",
        "pricing_model",
        "logo_url",
        "ai_usage",
        "visibility"
      ],
      "properties": {
        "mcp": {
          "type": "boolean",
          "description": "true = this tool exposes its own MCP server."
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Public homepage URL (https)."
        },
        "name": {
          "type": "string",
          "maxLength": 60,
          "minLength": 1,
          "description": "Product/company name (max 60 chars)."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "maxItems": 8,
          "description": "Optional descriptive tags (max 8)."
        },
        "country": {
          "type": "string",
          "pattern": "^[A-Z]{2}$",
          "description": "ISO-3166-1 alpha-2 country code of the company, e.g. DE."
        },
        "ai_usage": {
          "type": "string",
          "maxLength": 600,
          "minLength": 40,
          "description": "Required, 40 to 600 characters, ideally in English: how the software uses AI, or what agents can do with it. Be concrete, not salesy. Submissions without a clear AI or agent angle are rejected."
        },
        "category": {
          "enum": [
            "developer-tools",
            "ai-infra",
            "sales-crm",
            "marketing",
            "productivity",
            "data-analytics",
            "finance-accounting",
            "customer-support",
            "hr-recruiting",
            "design-creative",
            "security-privacy",
            "communication",
            "commerce-payments",
            "automation-nocode",
            "other"
          ],
          "type": "string",
          "description": "One category id. Call list_categories for valid ids."
        },
        "gdpr_dpa": {
          "type": "boolean",
          "description": "Optional: a GDPR data processing agreement (DPA) is available."
        },
        "logo_url": {
          "type": "string",
          "format": "uri",
          "description": "Required. Public https URL of the company logo: PNG, JPEG, WebP, GIF or AVIF, at least 64 px, max 5 MB. A square icon works best. Tulimoa downloads it, scales it to max 512 px and stores it as WebP."
        },
        "mcp_auth": {
          "type": "array",
          "items": {
            "enum": [
              "oauth",
              "api"
            ],
            "type": "string"
          },
          "maxItems": 2,
          "description": "Only if mcp is true: how agents connect (oauth, api). Empty = no auth."
        },
        "x_handle": {
          "type": "string",
          "maxLength": 40,
          "description": "Optional company X handle, e.g. @acme."
        },
        "visibility": {
          "enum": [
            "badge",
            "launch"
          ],
          "type": "string",
          "description": "How the listing goes live (required). 'badge' = free: embed the Tulimoa badge on the product website, reviewed within 7 days; if the badge is missing for 14 days the listing goes offline again. 'launch' = $5 one-time launch package: no badge needed, reviewed first, optional welcome post from @gettulimoa on X, refunded automatically if rejected. Ask the user which one they want."
        },
        "data_region": {
          "enum": [
            "eu",
            "eu-option",
            "non-eu",
            "self-hosted"
          ],
          "type": "string",
          "description": "Optional. Where customer data is hosted: eu (in the EU by default), eu-option (an EU region can be selected), non-eu, self-hosted (runs at the customer). Listings with EU hosting also appear on tulimoa.com/mcp-eu."
        },
        "launch_hook": {
          "type": "string",
          "maxLength": 140,
          "description": "Launch package with welcome post: one sentence why the tool matters (max 140 chars, English)."
        },
        "mcp_docs_url": {
          "type": "string",
          "format": "uri",
          "description": "Only if mcp is true: link to the MCP docs."
        },
        "model_source": {
          "enum": [
            "own",
            "open-weight",
            "provider",
            "mixed",
            "none"
          ],
          "type": "string",
          "description": "Optional: which AI models (own, open-weight, provider, mixed, none)."
        },
        "pricing_model": {
          "enum": [
            "free",
            "freemium",
            "paid",
            "lifetime"
          ],
          "type": "string",
          "description": "Pricing model (required): free | freemium | paid | lifetime."
        },
        "x_post_opt_in": {
          "type": "boolean",
          "description": "Launch package only: a free welcome post from @gettulimoa on X after approval. Needs launch_hook and at least one X handle."
        },
        "certifications": {
          "type": "array",
          "items": {
            "enum": [
              "soc2",
              "iso27001",
              "hipaa"
            ],
            "type": "string"
          },
          "maxItems": 3,
          "description": "Optional: soc2, iso27001, hipaa."
        },
        "mcp_server_url": {
          "type": "string",
          "format": "uri",
          "description": "Only if mcp is true: endpoint URL of the MCP server."
        },
        "pricing_detail": {
          "type": "string",
          "maxLength": 400,
          "description": "Optional price detail, e.g. 'from $10/month'."
        },
        "agent_interfaces": {
          "type": "array",
          "items": {
            "enum": [
              "api",
              "cli",
              "sdk",
              "webhooks"
            ],
            "type": "string"
          },
          "maxItems": 4,
          "description": "Optional: other ways agents can use it."
        },
        "hosting_provider": {
          "type": "string",
          "maxLength": 60,
          "description": "Optional hosting provider and location, e.g. 'Hetzner, Falkenstein'."
        },
        "founder_x_handles": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 40
          },
          "maxItems": 4,
          "description": "Optional founder X handles (max 4)."
        },
        "short_description": {
          "type": "string",
          "maxLength": 300,
          "minLength": 1,
          "description": "One-line pitch (max 300 chars)."
        },
        "withdrawal_consent": {
          "type": "boolean",
          "description": "Required (true) for visibility 'launch'. Only set it after the user agrees: Tulimoa starts the review right away, the right of withdrawal ends once the listing is live, and a rejected listing gets the $5 back automatically."
        },
        "trains_on_customer_data": {
          "enum": [
            "no",
            "opt-out",
            "yes"
          ],
          "type": "string",
          "description": "Optional: trains on customer data (no, opt-out, yes)."
        }
      }
    }
    arguments 224 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 511d04f5c7f23781.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/511d04f5c7f23781/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/511d04f5c7f23781/badge.svg)](https://brick.blue/agent/511d04f5c7f23781?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
90%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on tulimoa.com 2 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.