Upload the policy wording, product guide or IPID to a project. AI clients connected over MCP can then answer what a product covers, excludes or requires, alongside the price, and cite the clause and page.
The price comes from the model. What the policy covers comes from its documents. Both now sit in the same project.
The Project documents card on each project page shows what is uploaded and whether it is ready. Try it now returns the passages an AI client would be given.
We will not pay for: (a) loss or damage caused by flood to any basement used as living accommodation, unless the basement was declared to us and is shown in your schedule; (b) subsidence, heave or landslip damage to drives, patios, walls, gates and fences unless the home is damaged by the same cause at the same time; (c) escape of water or theft while the home is unoccupied; (d) damage caused by frost to any part of the buildings outside the home.
We will pay for loss of or damage to the contents caused by any of the causes listed under 1.1 What is covered. 2.2 Valuables Jewellery, watches and works of art are covered up to the single article limit shown in your schedule. Any single item worth more than 2,000 must be named in your schedule. 2.3 Exclusions We will not pay for theft from an unlocked outbuilding, or for loss or damage to contents kept in a basement that floods, unless the basement is shown in your schedule.
We will pay for loss of or damage to the buildings caused by fire, smoke, lightning, explosion or earthquake; storm or flood; escape of water from any fixed water or heating installation; theft or attempted theft; subsidence, heave or landslip of the site; falling trees, aerials or lampposts; and impact by any vehicle or animal.
A real search over a synthetic 12-page home wording. The exclusion comes first; the contents exclusion and the insured perils follow.
Documents are uploaded in the dashboard. Over MCP, AI clients can list, search and read them, signed in as you.
| Tool | What it returns |
|---|---|
list_docs | Every document on a project, with its status: indexed, still indexing, or failed and why. |
search_docs | The passages that answer a question, scored by meaning and by keywords. Pass the version that priced a quote so the wording matches it. |
get_doc | A run of passages either side of a hit, for a clause that is cut off or points to a defined term. |
{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "search_docs",
"arguments": {
"project_reference": "<uuid>",
"query": "Is flood damage to a basement covered?",
"k": 3
}
}
}get_project and run_quote also list the documents that apply to the version, so the client knows there is something to search.
{
"project_reference": "<uuid>",
"version_reference": "<uuid>",
"query": "Is flood damage to a basement covered?",
"documents": {
"indexed": 1,
"pending": 0,
"failed": 0
},
"results": [
{
"document_reference": "6c1d2f0a-4b7e-4e5c-9a3d-2f8b1c7e9d40",
"title": "Home Insurance Policy Wording",
"filename": "home-policy-wording.pdf",
"version_reference": null,
"chunk": 5,
"page": 4,
"section": "SECTION 1 BUILDINGS › 1.3 Exclusions",
"text": "We will not pay for: (a) loss or damage caused by flood to any basement used as living accommodation, unless the basement was declared to us and is shown in your schedule; (b) subsidence, heave or landslip damage to drives, patios, walls, gates and fences unless the home is damaged by the same cause at the same time; (c) escape of water or theft while the home is unoccupied; (d) damage caused by frost to any part of the buildings outside the home.",
"score": 0.8797,
"similarity": 0.7998,
"keyword": 0.5989
},
{
"document_reference": "6c1d2f0a-4b7e-4e5c-9a3d-2f8b1c7e9d40",
"title": "Home Insurance Policy Wording",
"filename": "home-policy-wording.pdf",
"version_reference": null,
"chunk": 6,
"page": 5,
"section": "SECTION 2 CONTENTS",
"text": "We will pay for loss of or damage to the contents caused by any of the causes listed under 1.1 What is covered. 2.2 Valuables Jewellery, watches and works of art are covered up to the single article limit shown in your schedule. Any single item worth more than 2,000 must be named in your schedule. 2.3 Exclusions We will not pay for theft from an unlocked outbuilding, or for loss or damage to contents kept in a basement that floods, unless the basement is shown in your schedule.",
"score": 0.7227,
"similarity": 0.6546,
"keyword": 1
}
],
"next_steps": "Answer from these passages only, and cite each one you use by title, section and page. …"
}score ranks the passages within this search. similarity is how close the meaning is to the question; keyword is the exact term match.
The same search is on the REST API, for a broker portal or a contact centre tool. Documents are added in the dashboard; the API reads and searches them.
curl -G "https://app.ptally.ai/api/projects/$PROJECT_REFERENCE/documents/search" \ -H "client_id_key: $PTALLY_CLIENT_ID" \ -H "client_secret_key: $PTALLY_CLIENT_SECRET" \ --data-urlencode "q=Is flood damage to a basement covered?" -d k=3
/projects/:project_reference/documentsList a project's documents and their status/projects/:project_reference/documents/searchFind the passages that answer a question/documents/:document_referenceOne document, for polling its status/documents/:document_reference/passageRead on either side of a search hitAdd version_reference to search the documents that apply to one version, such as the version that priced a quote.
Everything runs on the server that holds your projects, including a self-hosted install in your own cloud.
| Part | How it works |
|---|---|
| File types | PDF, Word (.docx), plain text and Markdown, up to 25 MB each. Scanned PDFs have no text layer, so they fail with a message saying they need OCR first. |
| Passages | Split at headings and numbered clauses, so each passage carries its section, such as Section 1 Buildings › 1.3 Exclusions, and its page. Running headers and footers are dropped. |
| Embeddings | A small open model, bge-small-en-v1.5, runs on the server's CPU. No document text is sent to an outside service to be indexed. |
| Search | Each passage is scored by meaning and by keywords, blended 70 to 30. Keywords catch exact terms such as clause numbers and defined terms. |
| Versions | A document applies to every version of its project, or can be pinned to one version when the wording changes with the rates. |
| Status | Indexing runs in the background, one document at a time, and resumes after a restart. Uploading the same file twice returns the first copy. |
Every answer points back to a passage, so an underwriter or a customer can read the clause for themselves.