Tulimoa
Discover curated SaaS and AI-agent tools in the Tulimoa directory; submit and edit your listings.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"platform": {
"url": "https://mcp.tulimoa.com/mcp"
}
}
}Remote-Endpunkte
https://mcp.tulimoa.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟢search_listings(query, category, pricing_model, mcp, eu_only, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"description": "Free-text terms matched against the listing name and short description.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"category": {
"description": "Restrict to one category id. Call list_categories for valid ids.",
"type": "string",
"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"
]
},
"pricing_model": {
"description": "Restrict to a pricing model.",
"type": "string",
"enum": [
"free",
"freemium",
"paid",
"lifetime"
]
},
"mcp": {
"description": "true = only tools that expose their own MCP server.",
"type": "boolean"
},
"eu_only": {
"description": "true = only tools whose company country is in the EU.",
"type": "boolean"
},
"sort": {
"description": "Result order. Default: popular.",
"type": "string",
"enum": [
"new",
"popular",
"viewed"
]
},
"limit": {
"description": "Max results (1-50, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Number of results returned."
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"short_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"mcp": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"pricing_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"slug",
"name"
],
"additionalProperties": {}
},
"description": "Lean listing rows; call get_listing(slug) for full detail."
}
},
"required": [
"count",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_listing(slug)
Fetch full detail of a single Tulimoa listing by its slug: long description, features, use cases, integrations, pricing detail, and links. Use after search_listings when the user wants depth on a specific tool.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "The listing's URL slug, e.g. 'acme-crm'."
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"listing": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": {},
"description": "Full listing row (detail projection, see DETAIL_SELECT)."
}
},
"required": [
"listing"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_categories
List the category ids and labels used to classify Tulimoa listings. Call this first when you need a valid `category` value for search_listings.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"labelDe": {
"type": "string"
}
},
"required": [
"id",
"label",
"labelDe"
],
"additionalProperties": false
}
}
},
"required": [
"categories"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡submit_listing(name, url, short_description, country, category, ...)
Create a new listing in the Tulimoa directory on behalf of the authenticated user. The listing is created with status 'pending' and appears publicly only after admin review. Every listing needs a logo: pass logo_url (a public image URL, e.g. the company's square icon). Requires a write-scoped Tulimoa login. Use list_categories first to pick a valid category id.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Product/company name (max 60 chars)."
},
"url": {
"type": "string",
"format": "uri",
"description": "Public homepage URL (https)."
},
"short_description": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "One-line pitch (max 300 chars)."
},
"country": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "ISO-3166-1 alpha-2 country code of the company, e.g. DE."
},
"category": {
"type": "string",
"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"
],
"description": "One category id. Call list_categories for valid ids."
},
"mcp": {
"type": "boolean",
"description": "true = this tool exposes its own MCP server."
},
"pricing_model": {
"type": "string",
"enum": [
"free",
"freemium",
"paid",
"lifetime"
],
"description": "Pricing model (required): free | freemium | paid | lifetime."
},
"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."
},
"tags": {
"description": "Optional descriptive tags (max 8).",
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
}
},
"required": [
"name",
"url",
"short_description",
"country",
"category",
"mcp",
"pricing_model",
"logo_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Listing id."
},
"slug": {
"type": "string",
"description": "Final slug (may carry a conflict suffix)."
},
"status": {
"type": "string",
"const": "pending"
}
},
"required": [
"id",
"slug",
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡edit_listing(slug, name, url, short_description, category, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "Slug of YOUR listing to edit (from submit_listing)."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"url": {
"type": "string",
"format": "uri"
},
"short_description": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"category": {
"type": "string",
"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"
]
},
"mcp": {
"type": "boolean"
},
"pricing_model": {
"type": "string",
"enum": [
"free",
"freemium",
"paid",
"lifetime"
]
},
"tags": {
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"logo_url": {
"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.",
"type": "string",
"format": "uri"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Listing id."
},
"slug": {
"type": "string"
},
"status": {
"type": "string",
"const": "pending"
}
},
"required": [
"id",
"slug",
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Nachweis