---
title: "shine_search"
description: "Raw hybrid retrieval over your SHINE AI data. Returns matching chunks grouped by file, no LLM synthesis."
---

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

# shine_search

## What it does

Hybrid search (vector + BM25) with reranking. Returns the top matching chunks, grouped by file. No LLM in the loop — use this when you want the raw material rather than a synthesized answer.

## Required scope

`search:read`

## Input

| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| `query` | string | yes | — | The search query |
| `limit` | integer | no | 10 | Max files to return (1-25) |
| `fileType` | string | no | — | Filter by file extension (e.g. `"pdf"`) |
| `category` | string | no | — | Filter by category tag |

## Output

```json
{
  "files": [
    {
      "id": "de2e3b54-388b-47d1-a27a-445af0a7df02",
      "name": "soc2-controls.md",
      "chunks": [
        {
          "chunkIndex": 0,
          "text": "SHINE AI maintains a SOC 2 Type II attestation...",
          "score": 0.9052
        }
      ]
    }
  ]
}
```

## When to use

- You want to show the user raw sources, not a summary
- You're going to feed the chunks into your own LLM prompt
- You need to count how many files match a topic (`files.length`)

## Latency

Typical: 400-800ms. No LLM in the critical path.

Source: https://docs.shineai.io/mcp/tools/shine_search/index.mdx
