lyra-mcp-server
Was dieses MCP kann
Searches Lyra profiles and supports contact management, profile information, gift recommendations, calendar availability, group organization, and gathering invitations and RSVPs.
Tools
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['display_name'], 'properties': {'city': {'type': 'string', 'maxLength': 120, 'description': 'City (optional)'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 320, 'description': 'Email address â\x80\x94 added as a primary contact method so the contact can be invited'}, 'notes': {'type': 'string', 'maxLength': 2000, 'description': 'Private host notes about this contact'}, 'phone': {'type': 'string', 'maxLength': 40, 'minLength': 3, 'description': 'Phone number (E.164 preferred) â\x80\x94 added as a primary contact method'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'country': {'type': 'string', 'maxLength': 120, 'description': 'Country (optional)'}, 'display_name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Contact display name'}, 'linked_profile_id': {'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)$', 'description': 'Lyra profile id to link this contact to (enables consent-gated shared availability)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tribe_id', 'contact_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'tribe_id': {'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)$', 'description': 'Tribe ID'}, 'contact_id': {'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)$', 'description': 'Contact ID'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['category', 'title'], 'properties': {'title': {'type': 'string', 'description': 'Item title (e.g. "Dark chocolate", "No surprise visits")'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'category': {'enum': ['gift_ideas', 'gifts_to_avoid', 'likes', 'dislikes', 'helpful_to_know', 'boundaries'], 'type': 'string', 'description': 'Item category'}, 'description': {'type': 'string', 'description': 'Optional extra detail'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string', 'description': 'URL (must start with http:// or https://)'}, 'title': {'type': 'string', 'description': 'Link title'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'link_type': {'enum': ['wishlist', 'retailer', 'article', 'general'], 'type': 'string'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['school_name'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'description': {'type': 'string', 'description': 'Optional free-text note about this affiliation (shown only when show_on_profile is true)'}, 'school_name': {'type': 'string', 'description': 'School / organisation / community name'}, 'relationship': {'enum': ['parent', 'student', 'alumni', 'staff', 'other'], 'type': 'string', 'description': 'Relationship to school'}, 'school_location': {'type': 'string', 'description': 'Location. For schools this must be a postcode (full or partial, e.g. "SW1A" or "SW1A 1AA"). Optional for organisations and communities.'}, 'show_on_profile': {'type': 'boolean', 'description': 'Whether this affiliation is visible on the public profile and in search. Defaults to false (hidden).'}, 'affiliation_type': {'enum': ['school', 'organisation', 'community'], 'type': 'string', 'default': 'school', 'description': 'Type of affiliation. Defaults to "school". Schools require a postcode in school_location.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gathering_id'], 'properties': {'reason': {'type': 'string', 'maxLength': 500, 'description': 'Optional cancellation reason (kept for audit + may be shown to invitees)'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>.'}, 'gathering_id': {'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)$', 'description': 'Gathering ID'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'provider': {'enum': ['google'], 'type': 'string', 'default': 'google', 'description': 'Calendar provider to connect (currently only "google")'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title', 'gathering_type'], 'properties': {'notes': {'type': 'string', 'maxLength': 2000, 'description': 'Private host notes'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Short title â\x80\x94 what is this gathering?'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'description': {'type': 'string', 'maxLength': 2000, 'description': 'Optional longer description'}, 'capacity_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'capacity_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'gathering_type': {'enum': ['coffee', 'lunch', 'dinner', 'drinks', 'party', 'kids_party', 'meeting', 'date', 'walk', 'cinema', 'other'], 'type': 'string', 'description': 'Category: coffee, lunch, dinner, drinks, party, kids_party, meeting, date, walk, cinema, other'}, 'proposed_slots': {'type': 'array', 'items': {'type': 'object', 'required': ['slot_start_iso', 'slot_end_iso'], 'properties': {'score': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'slot_end_iso': {'type': 'string'}, 'slot_start_iso': {'type': 'string'}}}, 'maxItems': 10, 'description': 'Candidate time slots (0-10). Score is optional rec-engine output.'}, 'dietary_summary': {'type': 'string', 'maxLength': 500, 'description': 'Free text summarising dietary requirements'}, 'invitee_contact_ids': {'type': 'array', 'items': {'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)$'}, 'maxItems': 30, 'description': "Contact IDs to invite. They must be in the host's contacts (DB trigger enforces)."}, 'target_window_end_iso': {'type': 'string', 'description': 'When you want this to happen (end of window, ISO 8601)'}, 'target_window_start_iso': {'type': 'string', 'description': 'When you want this to happen (start of window, ISO 8601)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Tribe name (must be unique within your account)'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'color_hex': {'type': 'string', 'pattern': '^#[0-9A-Fa-f]{6}$', 'description': 'Optional hex colour, e.g. #4a7359'}, 'description': {'type': 'string', 'maxLength': 1000, 'description': 'Optional description'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['provider'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'provider': {'enum': ['google', 'microsoft', 'apple', 'caldav_generic'], 'type': 'string', 'description': 'Provider to disconnect'}, 'provider_account_id': {'type': 'string', 'description': 'Specific provider account id (e.g. Google sub). If omitted, the most-recent connection for the provider is used.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gathering_id', 'finalised_slot_start_iso', 'finalised_slot_end_iso'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'venue_id': {'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)$', 'description': 'Venue ID (optional). If provided, must exist in the venues catalogue.'}, 'gathering_id': {'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)$', 'description': 'Gathering ID'}, 'finalised_slot_end_iso': {'type': 'string', 'description': 'Final end time, ISO 8601 (must be after start)'}, 'finalised_slot_start_iso': {'type': 'string', 'description': 'Final start time, ISO 8601'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gathering_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'gathering_id': {'type': 'string', 'description': 'Gathering ID (UUID)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Profile slug'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['window_start_iso', 'window_end_iso'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'window_end_iso': {'type': 'string', 'description': 'Window end as ISO 8601. Must be after window_start_iso. Cap at 14 days from start.'}, 'min_slot_minutes': {'type': 'number', 'default': 60, 'description': 'Minimum free-interval length to surface in suggested_free_intervals (default 60).'}, 'window_start_iso': {'type': 'string', 'description': 'Window start as ISO 8601 (e.g. "2026-06-01T08:00:00Z"). Past times allowed but pointless.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': 'Display name to search for'}, 'slug': {'type': 'string', 'description': 'Profile slug (e.g. "luisa-380956df")'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'category'], 'properties': {'slug': {'type': 'string', 'description': 'Profile slug'}, 'category': {'type': 'string', 'description': 'Section key: an item_category (gift_ideas, likes, dislikes, boundaries, hobbies, allergies, current_problems, questions, favourite_books, favourite_media, favourite_tv, favourite_places, favourite_music, quotes) OR one of the standalone sections (manual_of_me, conversation_starters, files)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['attendee_contact_ids', 'window_start_iso', 'window_end_iso'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'window_end_iso': {'type': 'string', 'description': 'Window end as ISO 8601. Must be after window_start_iso. Cap at 14 days from start.'}, 'min_slot_minutes': {'type': 'number', 'default': 60, 'description': 'Minimum aggregated-free-interval length to surface (default 60).'}, 'window_start_iso': {'type': 'string', 'description': 'Window start as ISO 8601 (e.g. "2026-06-01T08:00:00Z"). Past times allowed but pointless.'}, 'attendee_contact_ids': {'type': 'array', 'items': {'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)$'}, 'maxItems': 8, 'minItems': 1, 'description': 'Contact IDs from your Lyra address book (use lyra_list_my_contacts to find them). 1â\x80\x938 per call.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contact_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'contact_id': {'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)$', 'description': 'Contact ID to link'}, 'linked_profile_id': {'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)$', 'description': 'Lyra profile id to link to. Omit to UNLINK (clear the existing link).'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 50, 'description': 'Max results (default 50, max 200)'}, 'search': {'type': 'string', 'description': 'Fuzzy match on display_name (ilike %term%)'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 20, 'description': 'Max results (default 20, max 100)'}, 'status': {'enum': ['draft', 'awaiting_responses', 'live', 'rescheduled', 'cancelled', 'completed'], 'type': 'string', 'description': 'Filter by gathering status'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'include_member_counts': {'type': 'boolean', 'default': True, 'description': 'Include tribe_members count per tribe (default true)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'description': 'School name to search for'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['intent'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Max suggestions to return (default 10, max 20)'}, 'intent': {'enum': ['coffee', 'lunch', 'dinner', 'drinks', 'party', 'kids_party', 'meeting', 'date', 'walk', 'cinema', 'other'], 'type': 'string', 'description': 'Gathering type that the candidates would be invited to'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'tribe_name': {'type': 'string', 'description': 'Optional filter: only contacts in this tribe. Case-insensitive partial match.'}, 'exclude_contact_ids': {'type': 'array', 'items': {'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)$'}, 'maxItems': 30, 'description': 'Contact IDs to exclude (e.g. already invited)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['published'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'published': {'type': 'boolean', 'description': 'true to publish, false to unpublish'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Profile slug'}, 'budget': {'type': 'string', 'description': 'Legacy free-form budget label (e.g. "under £20", "luxury"). Kept for backwards compatibility â\x80\x94 use budget_min/budget_max for structured filtering.'}, 'occasion': {'enum': ['birthday', 'christmas', 'anniversary', 'valentines', 'just_because', 'other'], 'type': 'string', 'description': 'What the gift is for.'}, 'budget_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Budget maximum in the lowest currency unit (e.g. pence for GBP).'}, 'budget_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Budget minimum in the lowest currency unit (e.g. pence for GBP).'}, 'buyer_country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO-3166 alpha-2 country code of the buyer. Drives commission attribution. Defaults to GB.'}, 'budget_currency': {'type': 'string', 'maxLength': 3, 'minLength': 3, 'description': 'ISO-4217 currency code for the budget (default: GBP).'}, 'delivery_by_date': {'type': 'string', 'description': 'ISO date the gift needs to arrive by. Reserved for future urgency-aware ranking.'}, 'relationship_to_recipient': {'enum': ['partner', 'parent', 'child', 'sibling', 'friend', 'colleague', 'other'], 'type': 'string', 'description': 'How the buyer relates to the recipient. Used for rationale generation.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gathering_id', 'invitee_id', 'new_status'], 'properties': {'notes': {'type': 'string', 'maxLength': 500, 'description': 'Optional host notes about the response'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'invitee_id': {'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)$', 'description': 'gathering_invitees.id'}, 'new_status': {'enum': ['accepted', 'declined', 'tentative', 'attended', 'no_show', 'cancelled'], 'type': 'string', 'description': 'Status to set on the invitee row'}, 'gathering_id': {'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)$', 'description': 'Gathering ID'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['item_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'item_id': {'type': 'string', 'description': 'Item UUID to remove'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['link_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'link_id': {'type': 'string', 'description': 'Link UUID to remove'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['school_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'school_id': {'type': 'string', 'description': 'School affiliation UUID to remove'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gathering_id', 'new_slot_start_iso', 'new_slot_end_iso'], 'properties': {'reason': {'type': 'string', 'maxLength': 500, 'description': 'Optional reason captured in the audit log (e.g. "host needs a different night")'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>.'}, 'gathering_id': {'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)$', 'description': 'Gathering ID'}, 'new_venue_id': {'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)$', 'description': 'Optional new venue. If omitted, the existing venue is kept.'}, 'new_slot_end_iso': {'type': 'string', 'description': 'New end time, ISO 8601 (must be after start)'}, 'new_slot_start_iso': {'type': 'string', 'description': 'New start time, ISO 8601'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 10, 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'Search term â\x80\x94 matches name, headline, bio, city'}, 'school': {'type': 'string', 'description': 'Filter by school name'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gathering_id', 'invitee_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'channel': {'enum': ['email'], 'type': 'string', 'default': 'email', 'description': 'Channel to queue the invite on. Currently only email is supported; SMS / WhatsApp / iMessage are planned.'}, 'invitee_id': {'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)$', 'description': 'gathering_invitees.id of the invitee to send to'}, 'gathering_id': {'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)$', 'description': 'Gathering ID'}, 'template_name': {'type': 'string', 'default': 'default', 'description': 'Optional template variant name; defaults to "default"'}, 'token_ttl_days': {'type': 'integer', 'default': 30, 'maximum': 180, 'minimum': 1, 'description': 'How long the RSVP token stays valid (1-180 days, default 30)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gathering_id', 'declined_invitee_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>.'}, 'max_results': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1, 'description': 'Max suggestions to return (default 5)'}, 'gathering_id': {'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)$', 'description': 'Gathering ID'}, 'declined_invitee_id': {'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)$', 'description': 'gathering_invitees.id of the invitee whose decline triggered the request'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['intent', 'anchor', 'capacity_required'], 'properties': {'limit': {'type': 'integer', 'default': 8, 'maximum': 15, 'minimum': 1, 'description': 'Max suggestions (default 8, max 15)'}, 'anchor': {'type': 'string', 'description': 'Location anchor â\x80\x94 "lat,lng" (preferred) OR a postcode like "SW1A 1AA"'}, 'intent': {'enum': ['coffee', 'lunch', 'dinner', 'drinks', 'party', 'kids_party', 'meeting', 'date', 'walk', 'cinema', 'other'], 'type': 'string', 'description': 'Type of gathering'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'keyword': {'type': 'string', 'description': 'Optional supplemental search term (e.g. "wine bar", "soft play")'}, 'radius_m': {'type': 'integer', 'maximum': 50000, 'minimum': 100, 'description': 'Search radius in metres (only used with lat,lng anchor; default 3000)'}, 'required_dietary': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required dietary flags. Hard filter â\x80\x94 venues with zero overlap excluded.'}, 'capacity_required': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Minimum headcount (host + invitees)'}, 'preferred_price_tier': {'type': 'integer', 'maximum': 4, 'minimum': 1, 'description': 'Preferred price tier 1-4 (£, ££, £££, ££££). Soft signal only.'}, 'required_accessibility': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required accessibility flags. Hard filter â\x80\x94 venues missing any are excluded.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['gathering_id'], 'properties': {'notes': {'type': 'string', 'maxLength': 2000}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'description': {'type': 'string', 'maxLength': 2000}, 'capacity_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'capacity_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'gathering_id': {'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)$', 'description': 'Gathering ID'}, 'dietary_summary': {'type': 'string', 'maxLength': 500}, 'target_window_end_iso': {'type': 'string'}, 'accessibility_required': {'type': 'array', 'items': {'type': 'string'}}, 'target_window_start_iso': {'type': 'string'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['item_id'], 'properties': {'url': {'type': 'string', 'description': 'New URL (must start with http:// or https://). Pass an empty string to clear it.'}, 'title': {'type': 'string', 'description': 'New item title'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'item_id': {'type': 'string', 'description': 'Item UUID to update'}, 'description': {'type': 'string', 'description': 'New description. Pass an empty string to clear it.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'drains_me': {'type': 'string', 'description': 'What drains me'}, 'boundaries': {'type': 'string', 'description': 'My boundaries'}, 'energises_me': {'type': 'string', 'description': 'What gives me energy'}, 'good_to_know': {'type': 'string', 'description': 'Good to know about me'}, 'communication_style': {'type': 'string', 'description': 'How I find communication easier'}, 'working_preferences': {'type': 'string', 'description': 'If you ever come to my house'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'description': 'City'}, 'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'country': {'type': 'string', 'description': 'Country code (e.g. GB, US)'}, 'headline': {'type': 'string', 'description': 'Short headline/tagline'}, 'bio_short': {'type': 'string', 'description': 'Short bio (max 300 chars)'}, 'display_name': {'type': 'string', 'description': 'Display name'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['school_id'], 'properties': {'api_key': {'type': 'string', 'description': 'Lyra API key (lyra_â\x80¦). Optional â\x80\x94 can also be sent via Authorization: Bearer <key>, which most MCP clients do via their connector setup.'}, 'school_id': {'type': 'string', 'description': 'School affiliation UUID to update'}, 'description': {'type': 'string', 'description': 'Free-text note about this affiliation (shown only when show_on_profile is true). Pass an empty string to clear it.'}, 'relationship': {'enum': ['parent', 'student', 'alumni', 'staff', 'other'], 'type': 'string', 'description': 'Relationship to school'}, 'show_on_profile': {'type': 'boolean', 'description': 'Whether this affiliation is visible on the public profile and in search.'}}}
Letzte Tool-Änderungen
Ähnliche MCP-Server
terrarium
Provides a persistent agent community with spaces, messages, artifacts, quests, proposals, voting, and governance workflows.
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
mcp-server
Provides social-network functions for posts, comments, direct and group conversations, communities, moderation, collections, and …
Local MCP
Connects AI assistants to Mac email, calendars, reminders, notes, tasks, files, Microsoft 365, Todoist, spreadsheets, and daily b…
mu
Supports personal and collaborative tasks including web browsing, app creation, blogs, bookmarks, discussions, and contact manage…
Agent Commons
Provides rooms, threads, messaging, file sharing, invitations, subscriptions, search, and resumable events for agent collaboratio…
Dock
Provides collaborative workspaces with tables, documents, HTML surfaces, files, formulas, comments, activity tracking, agent mess…
agendaforge
Manages events, agendas, sessions, speakers, attendees, sponsors, forms, contacts, email templates, approvals, and organizer work…