# CI Treasure Hunt

> Contact Improvisation events, teachers, venues and communities worldwide. Read-only.

- name: com.citreasurehunt/directory
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 94/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.citreasurehunt%2Fdirectory
- tools: https://api.protogrid.dev/v1/servers/com.citreasurehunt%2Fdirectory/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "directory": {
      "type": "http",
      "url": "https://citreasurehunt.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-7d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 94/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,639 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 6 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 1,639 tokens to load them all
- tool set hash: 5a1751e6fe33cd864a3744f9a6001b26
- tools last changed: 2026-10-16T05:14:24.581Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.citreasurehunt/directory.svg)](https://protogrid.dev/servers/com.citreasurehunt/directory)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-16 `get_community` changed (annotations)
- 2026-10-16 `search_communities` changed (annotations)
- 2026-10-16 `get_venue` changed (annotations)
- 2026-10-16 `search_venues` changed (annotations)
- 2026-10-16 `get_teacher` changed (annotations)
- 2026-10-16 `search_teachers` changed (annotations)
- 2026-10-16 `get_event` changed (annotations)
- 2026-10-16 `search_events` changed (annotations)
- 2026-10-15 `search_events` changed (description, inputSchema)
  - before: Find upcoming Contact Improvisation events worldwide: festivals, workshops, intensives, retreats, long jams and residencies. Use for questions like 'CI festivals in Germany this summer' or 'workshops with <teacher>'. Filter by country, city, dates, type, practice or free text. Returns up to 20 events sorted by start date, each with id and citreasurehunt.com URL. Call get_event for prices, teachers and the full description.
  - after: Find Contact Improvisation events worldwide: festivals, workshops, intensives, retreats, long jams, residencies, jams and classes. Upcoming by default; a past 'from' date also searches ended events. Use for questions like 'CI festivals in Germany this summer', 'workshops with <teacher>' or 'when was X last year'. Filter by country, city, dates, type, practice or free text. Returns up to 20 events sorted by start date, each with id and citreasurehunt.com URL, plus the total match count. Call get_event for prices, teachers and the full description.

Full history: https://api.protogrid.dev/v1/servers/com.citreasurehunt%2Fdirectory/changes

## Remotes

- https://citreasurehunt.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `get_community`: Get one local community's public details: what it runs, where, in which languages, the people and venues involved, and events it organizes. Use with a slug from search_communities. Group chat invite links and contacts are only on the community's page, not returned here.
- `get_event`: Get the full listing of one event: dates and times, venue and address, description, prices, teachers, organizers, level and languages. Use after search_events, or when the user gives a citreasurehunt.com event link. Accepts the event id (e.g. 'W27r') or the URL.
- `get_teacher`: Get one person's public profile: bio, where they are based, practices, years of experience and their upcoming events. Use with a slug from search_teachers or from a get_event teacher link.
- `get_venue`: Get one venue's public details: address, description, website and the upcoming events it hosts. Use with a slug from search_venues or from a get_event venue link.
- `search_communities`: Find local Contact Improvisation communities, the groups that run regular weekly jams and classes, by country, city or name. The primary tool for 'where can I dance CI in <city>' or 'is there a CI jam in <city>'. Returns communities with slug and URL; call get_community for details.
- `search_events`: Find Contact Improvisation events worldwide: festivals, workshops, intensives, retreats, long jams, residencies, jams and classes. Upcoming by default; a past 'from' date also searches ended events. Use for questions like 'CI festivals in Germany this summer', 'workshops with <teacher>' or 'when was X last year'. Filter by country, city, dates, type, practice or free text. Returns up to 20 events sorted by start date, each with id and citreasurehunt.com URL, plus the total match count. Call get_event for prices, teachers and the full description.
- `search_teachers`: Find Contact Improvisation teachers, organizers and musicians by name, or by where they are based. Use for 'who teaches CI in <city>' or to look up a person mentioned in an event. Returns short profiles with slug and URL; call get_teacher for the full bio and their upcoming events.
- `search_venues`: Find dance studios and retreat centers that host Contact Improvisation classes, jams and events, by name, country or city. Use for 'where is CI taught in <city>' alongside search_communities. Returns venues with slug and URL; call get_venue for the address and upcoming events.
