TL;DR: The Weaviate instance is fine; the collection name is wrong. List the collections that exist, fix the name (Weaviate class names start uppercase by convention), and retry.

```text
Collection "documents" not found
```

## Fix it

1. List the collections on the instance. Use the MCP server's schema/list tool, or:

```bash
curl -H "your auth header https://your-cluster.weaviate.cloud/v1/schema | python3 -m json.tool | grep '"class"'
```

   Expected: the real class names, e.g. `Documents`, `Articles`.

2. Fix the name in your query. Watch for:
   - Capitalization: `Documents` vs `documents`. Weaviate convention is uppercase-first.
   - Plurals and prefixes you assumed.
   - The collection living on a different instance (dev vs prod).

3. Retry the tool call.

   Expected: results instead of not-found.

## When to use this

- The server connects, but queries fail with collection/class not found.
- The name was typed by hand or guessed by the agent.

## When NOT to use this

- Connection or 401 errors. Fix reachability and auth first.
- No collections exist at all. Then import or create the schema first.

## Compatibility

- weaviate/mcp-server-weaviate.
- Weaviate 1.2x+.

## Why it happens

Weaviate does not fuzzy-match class names. Agents reconstruct names from conversation context and get the casing or pluralization slightly wrong. The error is exact because the lookup is exact.

## Edge cases

- Multi-tenancy: the collection exists but the tenant does not. Tenant names are exact too.
- If the collection was just created, schema propagation is fast but not instant. Wait a few seconds on large clusters.
- Deleted collections stay gone. Recreate the schema and re-import if it was dropped.