UniAffitti Room Finder

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
69%
Qualität der Benennung
98%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'compare_rooms' description lacks action verbin compare_rooms

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,652Tokens (Tool-Definitionen)
~890 BTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.07% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "room-finder": {
      "url": "https://www.uniaffitti.com/mcp/"
    }
  }
}

Remote-Endpunkte

https://www.uniaffitti.com/mcp/streamable-http

Was es kann

Tool-Inventar

Tools (21)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢search_rooms(query, city, country_code, limit, offset, ...)

Search approved and available student rooms by budget, type, university, optional campus, distance, and features.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free text search over title, description, university, location, and campus."
    },
    "city": {
      "type": "string",
      "description": "Optional city filter selected from the assisted location search."
    },
    "country_code": {
      "type": "string",
      "description": "Optional ISO 3166-1 alpha-2 country filter."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 8
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "university_id": {
      "type": "integer",
      "minimum": 1
    },
    "campus_id": {
      "type": "integer",
      "minimum": 1
    },
    "room_type": {
      "type": "string",
      "enum": [
        "single",
        "double",
        "bed"
      ]
    },
    "min_price": {
      "type": "number",
      "minimum": 0
    },
    "max_price": {
      "type": "number",
      "minimum": 0
    },
    "available_from": {
      "type": "string",
      "description": "YYYY-MM-DD."
    },
    "max_distance_km": {
      "type": "number",
      "minimum": 0
    },
    "features": {
      "type": "object",
      "additionalProperties": true
    },
    "order_by": {
      "type": "string",
      "enum": [
        "newest",
        "price_asc",
        "price_desc",
        "distance_asc",
        "distance_desc"
      ],
      "default": "newest"
    }
  },
  "additionalProperties": false
}
🟢rank_room_matches(limit, campus_id, preferred_room_type, max_budget, max_distance_km, ...)

Find rooms and score them against student preferences such as budget, campus distance, room type, and trust signals.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 8
    },
    "campus_id": {
      "type": "integer",
      "minimum": 1
    },
    "preferred_room_type": {
      "type": "string",
      "enum": [
        "single",
        "double",
        "bed"
      ]
    },
    "max_budget": {
      "type": "number",
      "minimum": 0
    },
    "max_distance_km": {
      "type": "number",
      "minimum": 0
    },
    "available_from": {
      "type": "string",
      "description": "YYYY-MM-DD."
    },
    "features": {
      "type": "object",
      "additionalProperties": true
    },
    "query": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢get_room_details(room_id)

Return public details for one approved room, including media, features, and limited landlord trust information.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "room_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "room_id"
  ],
  "additionalProperties": false
}
🟢compare_rooms(room_ids, campus_id)

Compare selected rooms side by side for price, distance, type, availability, features, and trust signals.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "room_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "minItems": 2,
      "maxItems": 8
    },
    "campus_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "room_ids"
  ],
  "additionalProperties": false
}
🟢list_search_metadata(university_query, university_country_code, university_limit, university_offset)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "university_query": {
      "type": "string",
      "description": "Filter universities by name, city, country, or alias."
    },
    "university_country_code": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code."
    },
    "university_limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    },
    "university_offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    }
  },
  "additionalProperties": false
}
🟢search_universities(query, country_code, city, limit, offset)

Search the complete active UniAffitti university catalog worldwide with pagination and total count.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "country_code": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 30
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    }
  },
  "additionalProperties": false
}
🟢search_cities(query, country_code, limit, offset)

Search cities in the complete active worldwide university catalog, with country and university counts for assisted room search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "country_code": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 12
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    }
  },
  "additionalProperties": false
}
🟢list_university_campuses(university_id)

List active campuses for a selected university so the user can refine the room search.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "university_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "university_id"
  ],
  "additionalProperties": false
}
🟢get_my_profile

When the user asks to access or connect UniAffitti, call this tool. It starts the secure OAuth account connection when the user is not authenticated, then returns the profile without credentials or secrets.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_my_messages(conversation_id, limit, messages_limit, unread_only)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "conversation_id": {
      "type": "string",
      "description": "Optional Firebase conversation/thread id."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 12
    },
    "messages_limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 30
    },
    "unread_only": {
      "type": "boolean",
      "default": false
    }
  },
  "additionalProperties": false
}
🟡send_room_message(room_id, message)

Send a first message to the landlord of an approved available room from the authenticated UniAffitti account. The conversation is stored in the same UniAffitti chat used by the web app.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "room_id": {
      "type": "integer",
      "minimum": 1
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "required": [
    "room_id",
    "message"
  ],
  "additionalProperties": false
}
🟢get_my_conversation_messages(conversation_id, messages_limit)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "conversation_id": {
      "type": "string",
      "description": "Firebase conversation/thread id."
    },
    "messages_limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    }
  },
  "required": [
    "conversation_id"
  ],
  "additionalProperties": false
}
🟢list_my_favorites

List the authenticated user’s saved available rooms.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡add_favorite(room_id)

Save an approved room to the authenticated user’s favorites.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "room_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "room_id"
  ],
  "additionalProperties": false
}
🔴remove_favorite(room_id)

Remove a room from the authenticated user’s favorites.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "room_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "room_id"
  ],
  "additionalProperties": false
}
🟢list_my_requests(direction)

List rental requests sent or received by the authenticated user.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "direction": {
      "type": "string",
      "enum": [
        "sent",
        "received",
        "all"
      ],
      "default": "all"
    }
  },
  "additionalProperties": false
}
🟡create_rental_request(room_id, message, start_date, duration_months)

Send a rental request for an approved available room using the authenticated UniAffitti account.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "room_id": {
      "type": "integer",
      "minimum": 1
    },
    "message": {
      "type": "string",
      "maxLength": 4000
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD."
    },
    "duration_months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 120
    }
  },
  "required": [
    "room_id"
  ],
  "additionalProperties": false
}
🔴update_rental_request_status(request_id, status, available_from)

Accept, review, reject, or cancel a UniAffitti rental request according to the authenticated user’s role.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "integer",
      "minimum": 1
    },
    "status": {
      "type": "string",
      "enum": [
        "in_review",
        "accepted",
        "rejected",
        "cancelled"
      ]
    },
    "available_from": {
      "type": "string",
      "description": "YYYY-MM-DD; required when accepting."
    }
  },
  "required": [
    "request_id",
    "status"
  ],
  "additionalProperties": false
}
🟢list_my_listings

List the authenticated user’s own listings and moderation status.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_listing(title, description, address_full, location_label, city, ...)

Create a UniAffitti listing draft for moderation. Listings intentionally keep university_id and campus_id NULL; location is stored independently from the university catalog.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190
    },
    "description": {
      "type": "string",
      "minLength": 1
    },
    "address_full": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "location_label": {
      "type": "string",
      "maxLength": 190
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "country_code": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code."
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "property_type": {
      "type": "string",
      "enum": [
        "apartment",
        "house",
        "other"
      ],
      "default": "apartment"
    },
    "property_floor": {
      "type": "integer",
      "minimum": -2,
      "maximum": 20
    },
    "price_monthly": {
      "type": "number",
      "minimum": 0
    },
    "deposit_amount": {
      "type": "number",
      "minimum": 0
    },
    "price_currency": {
      "type": "string",
      "default": "EUR"
    },
    "room_type": {
      "type": "string",
      "enum": [
        "single",
        "double",
        "bed"
      ]
    },
    "min_stay_months": {
      "type": "integer",
      "minimum": 0
    },
    "available_from": {
      "type": "string",
      "description": "YYYY-MM-DD."
    },
    "occupancy_status": {
      "type": "string",
      "enum": [
        "available",
        "reserved",
        "rented",
        "unavailable"
      ],
      "default": "available"
    },
    "features": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "required": [
    "title",
    "description",
    "address_full",
    "city",
    "country_code",
    "latitude",
    "longitude",
    "property_floor",
    "price_monthly",
    "room_type"
  ],
  "additionalProperties": false
}
🟢get_account_links

Return deep links for account, listing creation, messages, requests, and favorites in the full UniAffitti web app.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet21 Tools
verifiziertVersion nicht aufgezeichnet21 Tools