> ## 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.

# MCP tools reference

> Complete reference for all tools available in quikly-mcp-server, with parameters, examples, and API equivalents.

This page documents every tool exposed by `quikly-mcp-server`. Each tool maps to a REST API endpoint — the MCP server handles authentication and request formatting for you.

## quikly\_me

Get the current authenticated user's profile.

**API equivalent:** `GET /me`

**Parameters:** None

**Example usage:**

> "Check my Quikly profile"

**Response:**

```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"
}
```

Use this tool to verify the MCP connection is working and to check your subscription tier before creating proposals.

***

## quikly\_create\_proposal

Create a new proposal with project details and requirements.

**API equivalent:** `POST /proposals`

**Parameters:**

<ParamField body="project_name" type="string" required>
  Name of the project (e.g., "E-commerce Platform - Acme Corp").
</ParamField>

<ParamField body="client_name" type="string">
  Name of the client or company.
</ParamField>

<ParamField body="requirements" type="array">
  List of requirements. Each requirement is an object with:

  <Expandable title="Requirement fields">
    <ParamField body="name" type="string" required>
      Short name for the requirement (e.g., "User authentication").
    </ParamField>

    <ParamField body="description" type="string">
      Detailed description of what needs to be built.
    </ParamField>

    <ParamField body="complexity" type="number">
      Story points: `1` (trivial), `3` (small), `5` (medium), or `8` (large).
    </ParamField>

    <ParamField body="priority" type="string">
      Priority level: `high`, `medium`, or `low`.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="hourly_rate" type="number" required>
  Your hourly rate for this project.
</ParamField>

<ParamField body="currency" type="string" default="USD">
  Currency code (e.g., `USD`, `EUR`, `ARS`).
</ParamField>

**Example usage:**

> "Create a proposal for Acme Corp's e-commerce platform. Requirements: user auth (complexity 5, high priority), product catalog (complexity 8, high), shopping cart (complexity 5, medium), checkout with Stripe (complexity 5, high). My rate is \$85/hour USD."

**Response:** Full proposal object including `id`, calculated totals, estimated days, and all settings.

***

## quikly\_analyze\_brief

Analyze a raw project brief and extract structured requirements using AI.

**API equivalent:** `POST /ai/analyze-brief`

**Parameters:**

<ParamField body="brief" type="string" required>
  The project brief text. Can be a formal document, meeting notes, an email, or even a messy Slack thread.
</ParamField>

<ParamField body="language" type="string" default="en">
  Language for the output: `en` or `es`.
</ParamField>

**Example usage:**

> "Analyze this brief: 'We need a mobile app for our restaurant chain. Customers should be able to browse the menu, place orders for pickup or delivery, pay with Apple Pay or credit card, and earn loyalty points. We have 45 locations across Texas. Need to integrate with our existing Square POS system. Launch target is Q3 2026.'"

**Response:**

```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."
    }
  ]
}
```

After analyzing, you can pass these requirements directly to `quikly_create_proposal`.

***

## quikly\_recommend\_rate

Get an AI-powered rate recommendation based on role, seniority, and location.

**API equivalent:** `POST /ai/rate-recommendation`

**Parameters:**

<ParamField body="role" type="string" required>
  Your role (e.g., "fullstack developer", "cloud architect", "data engineer").
</ParamField>

<ParamField body="seniority" type="string" required>
  Seniority level: `junior`, `mid`, `senior`, `lead`, or `principal`.
</ParamField>

<ParamField body="location" type="string" required>
  Your location (e.g., "Buenos Aires, Argentina", "Berlin, Germany", "Austin, TX").
</ParamField>

**Example usage:**

> "What's the market rate for a senior fullstack developer based in Madrid, Spain?"

**Response:** The AI returns a recommended hourly rate with market context, including low/median/high ranges for the specified role, seniority, and region.

***

## quikly\_get\_proposal

Retrieve a proposal by its ID.

**API equivalent:** `GET /proposals/{id}`

**Parameters:**

<ParamField body="proposal_id" type="string" required>
  The UUID of the proposal to retrieve.
</ParamField>

**Example usage:**

> "Get the details of proposal 550e8400-e29b-41d4-a716-446655440000"

**Response:** Full proposal object including name, client, requirements, settings, calculations, status, and timestamps.

***

## quikly\_share\_link

Generate a share link for a proposal so the client can view, accept, or reject it.

**API equivalent:** `POST /proposals/{id}/share`

**Parameters:**

<ParamField body="proposal_id" type="string" required>
  The UUID of the proposal to share.
</ParamField>

**Example usage:**

> "Generate a share link for my Acme Corp proposal and send it to [john@acme.com](mailto:john@acme.com)"

**Response:**

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

The share link expires in 15 days. Clients can view the proposal, accept it, reject it, or request revisions — all from that link.

***

## Typical workflow

A common pattern when using Quikly MCP tools:

1. **Analyze** — use `quikly_analyze_brief` to turn a raw brief into structured requirements
2. **Price** — use `quikly_recommend_rate` to get a market-calibrated hourly rate
3. **Create** — use `quikly_create_proposal` with the requirements and rate
4. **Review** — use `quikly_get_proposal` to verify the proposal looks correct
5. **Share** — use `quikly_share_link` to send it to the client
