> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getquikly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Referencia de herramientas MCP

> Referencia completa de todas las herramientas disponibles en quikly-mcp-server, con parámetros, ejemplos y equivalentes de API.

Esta página documenta cada herramienta expuesta por `quikly-mcp-server`. Cada herramienta corresponde a un endpoint de la API REST — el servidor MCP se encarga de la autenticación y el formato de las solicitudes por ti.

## quikly\_me

Obtiene el perfil del usuario autenticado actual.

**Equivalente de API:** `GET /me`

**Parámetros:** Ninguno

**Ejemplo de uso:**

> "Verifica mi perfil de Quikly"

**Respuesta:**

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "email": "dev@youragency.com",
  "name": "Alex Torres",
  "subscription_tier": "pro",
  "created_at": "2026-01-15T10:30:00Z"
}
```

Usa esta herramienta para verificar que la conexión MCP funciona y para comprobar tu tier de suscripción antes de crear propuestas.

***

## quikly\_create\_proposal

Crea una nueva propuesta con detalles del proyecto y requerimientos.

**Equivalente de API:** `POST /proposals`

**Parámetros:**

<ParamField body="project_name" type="string" required>
  Nombre del proyecto (ej., "Plataforma E-commerce - Acme Corp").
</ParamField>

<ParamField body="client_name" type="string">
  Nombre del cliente o empresa.
</ParamField>

<ParamField body="requirements" type="array">
  Lista de requerimientos. Cada requerimiento es un objeto con:

  <Expandable title="Campos del requerimiento">
    <ParamField body="name" type="string" required>
      Nombre corto del requerimiento (ej., "Autenticación de usuarios").
    </ParamField>

    <ParamField body="description" type="string">
      Descripción detallada de lo que se necesita construir.
    </ParamField>

    <ParamField body="complexity" type="number">
      Story points: `1` (trivial), `3` (pequeño), `5` (mediano) o `8` (grande).
    </ParamField>

    <ParamField body="priority" type="string">
      Nivel de prioridad: `high`, `medium` o `low`.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="hourly_rate" type="number" required>
  Tu tarifa por hora para este proyecto.
</ParamField>

<ParamField body="currency" type="string" default="USD">
  Código de moneda (ej., `USD`, `EUR`, `ARS`).
</ParamField>

**Ejemplo de uso:**

> "Crea una propuesta para la plataforma de e-commerce de Acme Corp. Requerimientos: autenticación de usuarios (complejidad 5, prioridad alta), catálogo de productos (complejidad 8, alta), carrito de compras (complejidad 5, media), checkout con Stripe (complejidad 5, alta). Mi tarifa es \$85/hora USD."

**Respuesta:** Objeto completo de la propuesta incluyendo `id`, totales calculados, días estimados y toda la configuración.

***

## quikly\_analyze\_brief

Analiza un brief de proyecto sin procesar y extrae requerimientos estructurados usando IA.

**Equivalente de API:** `POST /ai/analyze-brief`

**Parámetros:**

<ParamField body="brief" type="string" required>
  El texto del brief del proyecto. Puede ser un documento formal, notas de reunión, un email o incluso un hilo desordenado de Slack.
</ParamField>

<ParamField body="language" type="string" default="en">
  Idioma para la salida: `en` o `es`.
</ParamField>

**Ejemplo de uso:**

> "Analiza este brief: 'Necesitamos una app móvil para nuestra cadena de restaurantes. Los clientes deben poder navegar el menú, hacer pedidos para retiro o delivery, pagar con Apple Pay o tarjeta de crédito, y acumular puntos de lealtad. Tenemos 45 locales en Texas. Necesitamos integración con nuestro sistema Square POS existente. Fecha de lanzamiento objetivo es Q3 2026.'"

**Respuesta:**

```json theme={null}
{
  "success": true,
  "requirements": [
    {
      "id": "req_1",
      "name": "Menu browsing",
      "description": "Customers browse restaurant menu with categories, item details, photos, and dietary filters.",
      "complexity": 3,
      "priority": "high",
      "rationale": "Core feature — primary interaction point for all users."
    },
    {
      "id": "req_2",
      "name": "Order placement (pickup & delivery)",
      "description": "Place orders for pickup or delivery with location selection across 45 locations, estimated times, and order tracking.",
      "complexity": 8,
      "priority": "high",
      "rationale": "Multi-location delivery adds complexity for routing and availability."
    },
    {
      "id": "req_3",
      "name": "Payment processing",
      "description": "Apple Pay and credit card payments with tokenized processing and PCI compliance.",
      "complexity": 5,
      "priority": "high",
      "rationale": "Payment is critical path. Apple Pay integration adds native SDK work."
    },
    {
      "id": "req_4",
      "name": "Loyalty program",
      "description": "Points-based loyalty system with earning rules, redemption, and tier levels.",
      "complexity": 5,
      "priority": "medium",
      "rationale": "Drives retention but can launch with basic version."
    },
    {
      "id": "req_5",
      "name": "Square POS integration",
      "description": "Two-way sync with Square POS for menu, orders, and inventory across 45 locations.",
      "complexity": 8,
      "priority": "high",
      "rationale": "Third-party integration with multi-location sync is high risk and high effort."
    }
  ]
}
```

Después de analizar, puedes pasar estos requerimientos directamente a `quikly_create_proposal`.

***

## quikly\_recommend\_rate

Obtiene una recomendación de tarifa impulsada por IA basada en rol, seniority y ubicación.

**Equivalente de API:** `POST /ai/rate-recommendation`

**Parámetros:**

<ParamField body="role" type="string" required>
  Tu rol (ej., "fullstack developer", "cloud architect", "data engineer").
</ParamField>

<ParamField body="seniority" type="string" required>
  Nivel de seniority: `junior`, `mid`, `senior`, `lead` o `principal`.
</ParamField>

<ParamField body="location" type="string" required>
  Tu ubicación (ej., "Buenos Aires, Argentina", "Berlin, Germany", "Austin, TX").
</ParamField>

**Ejemplo de uso:**

> "¿Cuál es la tarifa de mercado para un desarrollador fullstack senior en Madrid, España?"

**Respuesta:** La IA devuelve una tarifa por hora recomendada con contexto de mercado, incluyendo rangos bajo/mediana/alto para el rol, seniority y región especificados.

***

## quikly\_get\_proposal

Recupera una propuesta por su ID.

**Equivalente de API:** `GET /proposals/{id}`

**Parámetros:**

<ParamField body="proposal_id" type="string" required>
  El UUID de la propuesta a recuperar.
</ParamField>

**Ejemplo de uso:**

> "Obtén los detalles de la propuesta 550e8400-e29b-41d4-a716-446655440000"

**Respuesta:** Objeto completo de la propuesta incluyendo nombre, cliente, requerimientos, configuración, cálculos, estado y marcas de tiempo.

***

## quikly\_share\_link

Genera un enlace de compartir para una propuesta para que el cliente pueda verla, aceptarla o rechazarla.

**Equivalente de API:** `POST /proposals/{id}/share`

**Parámetros:**

<ParamField body="proposal_id" type="string" required>
  El UUID de la propuesta a compartir.
</ParamField>

**Ejemplo de uso:**

> "Genera un enlace de compartir para mi propuesta de Acme Corp y envíalo a [john@acme.com](mailto:john@acme.com)"

**Respuesta:**

```json theme={null}
{
  "share_url": "https://app.getquikly.com/p/abc123token",
  "token": "abc123token",
  "expires_at": "2026-04-18T14:30:00Z",
  "is_new": true
}
```

El enlace de compartir expira en 15 días. Los clientes pueden ver la propuesta, aceptarla, rechazarla o solicitar revisiones — todo desde ese enlace.

***

## Flujo de trabajo típico

Un patrón común al usar las herramientas MCP de Quikly:

1. **Analizar** — usa `quikly_analyze_brief` para convertir un brief sin procesar en requerimientos estructurados
2. **Presupuestar** — usa `quikly_recommend_rate` para obtener una tarifa por hora calibrada por mercado
3. **Crear** — usa `quikly_create_proposal` con los requerimientos y la tarifa
4. **Revisar** — usa `quikly_get_proposal` para verificar que la propuesta esté correcta
5. **Compartir** — usa `quikly_share_link` para enviarla al cliente
