Tulimoa
Discover curated SaaS and AI-agent tools in the Tulimoa directory; submit and edit your listings.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"platform": {
"url": "https://mcp.tulimoa.com/mcp"
}
}
}Puntos de conexión remotos
https://mcp.tulimoa.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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
}Comunidad
Evidencia