---
name: hoa-documents
description: "Find the answer in your community's documents, and see exactly where it comes from. Use when the task involves ask this question, or mentions an HOA, condo or community association and ask your hoa documents. Runs over HTTP or MCP against https://tools.rodri.ai."
license: Proprietary. See https://tools.rodri.ai/terms
compatibility: Requires network access to https://tools.rodri.ai. Some operations require an API key.
metadata:
  author: HOA Power Tools
  tool-id: hoa_documents
  homepage: https://tools.rodri.ai/tools/hoa-documents
---

# Ask Your HOA Documents

Find the answer in your community's documents, and see exactly where it comes from.

## When to use this

Use it when someone needs find the answer in your community's documents, and see exactly where it comes from. It is built
for community association work specifically, so its assumptions — owners, units,
voting power, assessments — already match the domain.

Do not present its output as legal advice. Deterministic operations return exact
arithmetic that can be relied on as arithmetic; AI operations draft language that
a person must read before it goes anywhere near a resident.

## Operations

| Operation | Engine | Cost |
| --- | --- | --- |
| `hoa_documents.answer` | ai | 1 AI credit |

### `hoa_documents.answer`

Needs an API key. Spends 1 AI credit from the key owner's monthly allowance.

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sourceSetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "sourceSetVersion": {
      "default": 1,
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "question": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    },
    "asOfDate": {
      "type": "string",
      "maxLength": 20
    },
    "communityLabel": {
      "type": "string",
      "maxLength": 120
    },
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    },
    "history": {
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "maxLength": 1000
          },
          "answer": {
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "question",
          "answer"
        ]
      }
    }
  },
  "required": [
    "sourceSetId",
    "question",
    "asOfDate"
  ]
}
```

### Running an operation

Two ways in, and the difference is what an operation costs.

**No credential.** The four calculators are pure arithmetic — no model, nothing
stored, no allowance spent. Rate limited to 30 requests a minute per address.

```http
POST https://tools.rodri.ai/api/agent/tools/{toolId}/runs
Content-Type: application/json

{"operation": "meeting_quorum.calculate", "input": { ... }}
```

**With an API key.** Everything else, including every AI operation. The key's
owner creates it at https://tools.rodri.ai/account. It carries exactly their entitlements: a
free account has 20 AI credits a month and unlimited use of the calculators.
A key grants nothing its owner does not already have.

```http
POST https://tools.rodri.ai/api/agent/tools/{toolId}/runs
Authorization: Bearer hpt_live_…
Content-Type: application/json

{"operation": "resident_notice.generate", "input": { ... }}
```

Errors come back as `{"error": {"code", "message", "retryable"}}`. Branch on
`code` — `QUOTA_EXHAUSTED`, `RATE_LIMITED`, `REGISTRATION_REQUIRED`,
`VALIDATION_ERROR` — not on the sentence, which is written for people and is
translated.

**MCP.** The same operations are exposed at `https://tools.rodri.ai/api/mcp` over Streamable
HTTP. It is stateless, so POST JSON-RPC and read the JSON reply; the same
`Authorization` header applies.

## Full reference

- This tool as markdown: https://tools.rodri.ai/tools/hoa-documents.md
- Every tool and schema as JSON: https://tools.rodri.ai/api/agent/catalogue
- The site's index for agents: https://tools.rodri.ai/llms.txt
