# `brief_from_file`

> **Casafari is the AI agent-native real estate data intelligence platform.** The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries. Every property is one record with its full price and market history. [How the property graph is built](/docs/property-graph).

Read a brief from a file. Product: [Claro AI](/docs/claro).

Call it as `brief_from_file` on Claro AI's own server, not through `https://mcp.casafari.com/`. Its address on the platform is `https://platform.casafari.com/mcp/claro`: Streamable HTTP, a platform API key or the platform's OAuth, metered in platform units.

Over REST: [`POST /v1/brief/file`](/docs/rest/claro/brief-file) (equivalent). [MCP and REST compared](/docs/parity#claro-ai).

## What does Read a brief from a file do?

The premises requirements a file states (a site brief, a location profile, a requirements sheet): a PDF, a photo or scan (JPG, PNG, WebP, HEIC), a Word, Excel or PowerPoint file (or OpenDocument), or text, sent as base64 in `content_base64` with its `media_type` and, best, its `filename`. Up to 10 MB. Accepted: .pdf,.jpg,.jpeg,.png,.webp,.heic,.heif,.txt,.md,.csv,.tsv,.html,.htm,.rtf,.json,.xml,.docx,.xlsx,.pptx,.odt,.ods,.odp. Returns `brief` (the requirements in plain words), `requirements` (each with the file's own words as `quote`) and `quotes_checked` (true for Office and text files, where a requirement whose quote is not in the text is dropped; false for PDFs and images). Show the brief to the user to check, then pass it to search_premises; nothing is searched here. The file is not stored.

## Which parameters does brief_from_file take?

- `content_base64` (string, required): The file's bytes, base64.
- `media_type` (string, required): The file's media type, e.g. application/pdf, image/jpeg, text/plain, application/vnd.openxmlformats-officedocument.wordprocessingml.document.
- `filename` (string, optional): The file's name with its extension, e.g. perfil.docx.

## How do I call brief_from_file?

Required arguments only, with placeholder values; see the parameters above for real ones.

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "brief_from_file",
    "arguments": {
      "content_base64": "…",
      "media_type": "…"
    }
  }
}
```

## Related pages

- [Search commercial premises (search_premises)](/docs/claro/search_premises)
- [Refine a search (refine_search)](/docs/claro/refine_search)
- [Get one premises (get_premises)](/docs/claro/get_premises)
- [Compare premises (compare_premises)](/docs/claro/compare_premises)
- [Claro AI: all its MCP tools and REST operations](/docs/claro)
- [Connect Claro to an MCP client](/docs/claro/connect)
