# UniAffitti Room Finder

> Find, rank, and compare student rooms from UniAffitti public listings.

- name: com.uniaffitti.www/room-finder
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 77/100 flags: no-repository
- quality: 75/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.uniaffitti.www%2Froom-finder
- tools: https://api.protogrid.dev/v1/servers/com.uniaffitti.www%2Froom-finder/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "room-finder": {
      "type": "http",
      "url": "https://www.uniaffitti.com/mcp/"
    }
  }
}
```


## Trust

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

## Quality 75/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### 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`: 21 of 21 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,120 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 21 tool changes in 30 days
- fail `stability.rug_pull`: 4 tools kept their name but changed most of their description in 30 days; review before trusting them

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

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

- tools: 21, about 3,120 tokens to load them all
- tool set hash: 3e0d9e919fe2adf77289e0d3572541db
- tools last changed: 2026-10-07T18:15:17.756Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.uniaffitti.www/room-finder.svg)](https://protogrid.dev/servers/com.uniaffitti.www/room-finder)
- 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-07 `get_account_links` changed (outputSchema, annotations)
- 2026-10-07 `create_listing` changed (description, inputSchema, outputSchema, annotations) **meaning changed**
  - before: Create a UniAffitti listing draft for moderation. Listings intentionally keep university_id and campus_id NULL; location is stored independently from the university catalog.
  - after: Create a listing draft for UniAffitti moderation. It is not public until approved. The draft stores the full property address and coordinates; university and campus IDs remain unset. Do not include passwords, payment-card details, government identifiers, health or biometric data in the description.
- 2026-10-07 `list_my_listings` changed (outputSchema, annotations)
- 2026-10-07 `update_rental_request_status` changed (description, outputSchema, annotations) **meaning changed**
  - before: Accept, review, reject, or cancel a UniAffitti rental request according to the authenticated user’s role.
  - after: Change a rental request to in review, accepted, rejected, or cancelled according to the authenticated user’s role. Acceptance marks the room as rented; status changes may notify the other participant.
- 2026-10-07 `create_rental_request` changed (description, inputSchema, outputSchema, annotations) **meaning changed**
  - before: Send a rental request for an approved available room using the authenticated UniAffitti account.
  - after: Create and send a rental request for an approved available room using the authenticated UniAffitti account. The landlord is notified, and the request remains in the account until its status changes. Do not include passwords, payment-card details, government identifiers, health or biometric data in the optional message.
- 2026-10-07 `list_my_requests` changed (outputSchema, annotations)
- 2026-10-07 `remove_favorite` changed (outputSchema, annotations)
- 2026-10-07 `add_favorite` changed (outputSchema, annotations)
- 2026-10-07 `list_my_favorites` changed (outputSchema, annotations)
- 2026-10-07 `get_my_conversation_messages` changed (outputSchema, annotations)

Full history: https://api.protogrid.dev/v1/servers/com.uniaffitti.www%2Froom-finder/changes

## Remotes

- https://www.uniaffitti.com/mcp/ (streamable-http, auth none, reachable true, uptime30d 0.9916667)

## Packages

_none_

## Tools (21)

- `add_favorite`: Save an approved room to the authenticated user’s favorites.
- `compare_rooms`: Compare selected public room listings side by side for price, distance, type, availability, features, and trust signals.
- `create_listing`: Create a listing draft for UniAffitti moderation. It is not public until approved. The draft stores the full property address and coordinates; university and campus IDs remain unset. Do not include passwords, payment-card details, government identifiers, health or biometric data in the description.
- `create_rental_request`: Create and send a rental request for an approved available room using the authenticated UniAffitti account. The landlord is notified, and the request remains in the account until its status changes. Do not include passwords, payment-card details, government identifiers, health or biometric data in the optional message.
- `get_account_links`: Return deep links for account, listing creation, messages, requests, and favorites in the full UniAffitti web app.
- `get_my_conversation_messages`: Load the recent messages for one authenticated UniAffitti conversation. This is a data-only tool intended to be called by the messages UI after the user selects a conversation.
- `get_my_profile`: When the user asks to access or connect UniAffitti, call this tool. It starts secure OAuth account connection when needed, then returns only first and last name, email, role, and email-verification status; it does not return phone, photos, account IDs, credentials, or secrets.
- `get_room_details`: Return public details for one approved room, including user-submitted description, media, features, and limited landlord trust information.
- `list_my_favorites`: List the authenticated user’s saved available rooms.
- `list_my_listings`: List the authenticated user’s own listings and moderation status.
- `list_my_messages`: Read the authenticated user’s UniAffitti conversations from the same chat used by the web app. Without a conversation_id return fast conversation summaries and last-message previews; with one load the complete recent messages for that conversation.
- `list_my_requests`: List rental requests sent or received by the authenticated user.
- `list_search_metadata`: List a paginated slice of the global university catalog, optional campuses, and feature filters for room search. The catalog is not limited to 500 records.
- `list_university_campuses`: List active campuses for a selected university so the user can refine the room search.
- `rank_room_matches`: Find public, approved room listings and score them against preferences such as budget, campus distance, room type, and trust signals. Listing content is submitted by UniAffitti users.
- `remove_favorite`: Remove a room from the authenticated user’s favorites.
- `search_cities`: Search cities represented in the active university catalog and public room listings, with country and university counts for assisted room search.
- `search_rooms`: Search approved, available student rooms by budget, type, university, optional campus, distance, and features. Results include public listing content submitted by UniAffitti users.
- `search_universities`: Search the complete active UniAffitti university catalog worldwide with pagination and total count.
- `send_room_message`: Send and permanently store a message to the landlord of an approved available room from the authenticated UniAffitti account. The landlord receives a notification; messages cannot be recalled with this tool. Do not include passwords, payment-card details, government identifiers, health or biometric data.
- `update_rental_request_status`: Change a rental request to in review, accepted, rejected, or cancelled according to the authenticated user’s role. Acceptance marks the room as rented; status changes may notify the other participant.
