Servidor MCP

Tulimoa

com.tulimoa/platform
Búsqueda e investigación Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides a directory for discovering, inspecting, submitting, and editing SaaS and AI-agent tool listings.

edit_listing
Edit one of your own Tulimoa listings
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', '$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}, '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'}, '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.'}, 'pricing_model': {'enum': ['free', 'freemium', 'paid', 'lifetime'], 'type': 'string'}, 'short_description': {'type': 'string', 'maxLength': 300, 'minLength': 1}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'slug', 'status'], 'properties': {'id': {'type': 'string', 'description': 'Listing id.'}, 'slug': {'type': 'string'}, 'status': {'type': 'string', 'const': 'pending'}}, 'additionalProperties': False}
get_listing
Get one SaaS listing
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', '$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'."}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['listing'], 'properties': {'listing': {'type': 'object', 'required': ['slug', 'name'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}}, 'description': 'Full listing row (detail projection, see DETAIL_SELECT).', 'additionalProperties': {}}}, 'additionalProperties': False}
list_categories
List directory 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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['categories'], 'properties': {'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'labelDe'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'labelDe': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_listings
Search SaaS listings
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', '$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.'}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['count', 'results'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of results returned.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name'], 'properties': {'mcp': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'pricing_model': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'short_description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': {}}, 'description': 'Lean listing rows; call get_listing(slug) for full detail.'}}, 'additionalProperties': False}
submit_listing
Submit a SaaS listing to the Tulimoa directory
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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'url', 'short_description', 'country', 'category', 'mcp', 'pricing_model', 'logo_url'], '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.'}, '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.'}, '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.'}, 'pricing_model': {'enum': ['free', 'freemium', 'paid', 'lifetime'], 'type': 'string', 'description': 'Pricing model (required): free | freemium | paid | lifetime.'}, 'short_description': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'One-line pitch (max 300 chars).'}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'slug', 'status'], 'properties': {'id': {'type': 'string', 'description': 'Listing id.'}, 'slug': {'type': 'string', 'description': 'Final slug (may carry a conflict suffix).'}, 'status': {'type': 'string', 'const': 'pending'}}, 'additionalProperties': False}
Añadido
edit_listing
17 de September de 2026 a las 12:38
Añadido
submit_listing
17 de September de 2026 a las 12:38
Añadido
list_categories
17 de September de 2026 a las 12:38
Añadido
get_listing
17 de September de 2026 a las 12:38
Añadido
search_listings
17 de September de 2026 a las 12:38