Tulimoa

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
81%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,946Tokens (definiciones de herramientas)
~3.7 KBTamaño de respuesta típico
Impacto moderado en la atención (1.52% del contexto de 128k)

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-http

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas
verificadoversión no registrada5 herramientas