Speeron NEXT
Speeron NEXT is a comprehensive digital guest journey platform that transforms hotel operations through seamless technology integration. The platform revolutionizes how hotels interact with guests by providing end-to-end digital solutions that streamline operations and enhance the guest experience.
Core Capabilities
Speeron NEXT enables hotels to deliver personalized, automated guest experiences throughout the entire guest lifecycle:
- Pre-Arrival Services: Automated check-in link generation, booking verification, and guest communication
- Digital Check-In: Self-service check-in processes accessible via web, mobile, and kiosk interfaces
- In-Stay Services: Guest portal functionality, room service ordering, concierge services, and real-time communication
- Check-Out: Streamlined checkout processes with digital invoicing and payment processing
- Multi-Channel Access: Web applications, mobile interfaces, kiosk terminals, and TV-based guest portals
Key Features
Multi-Tenant Architecture
The platform supports multiple hotel properties with intelligent tenant resolution, allowing seamless operations across hotel chains and independent properties. Each hotel maintains its own configuration while benefiting from shared infrastructure.
PMS Integration
Deep integration with Property Management Systems (PMS), enabling real-time synchronization of bookings, guest data, and room availability. The platform supports various PMS adapters for flexible hotel system connectivity.
Payment Processing
Comprehensive payment solutions supporting multiple payment methods, including credit cards, digital wallets, and online payment gateways. Secure transaction processing with PCI compliance considerations.
Guest Communication
Automated messaging and communication tools that keep guests informed throughout their stay, from booking confirmation to post-stay follow-up.
Analytics and Reporting
Built-in analytics capabilities that provide hotels with insights into guest behavior, operational efficiency, and service utilization patterns.
Technology Stack
Built on modern .NET technologies with a modular architecture that supports:
- Scalable cloud-based deployment
- RESTful API integrations
- Real-time data synchronization
- Multi-language and multi-currency support
- Responsive web and mobile interfaces
Value Proposition
Speeron NEXT empowers hotels to:
- Reduce Operational Costs: Automate routine tasks and reduce front desk workload
- Enhance Guest Satisfaction: Provide convenient, 24/7 self-service options
- Increase Revenue: Enable upselling opportunities and streamline payment processing
- Improve Efficiency: Integrate seamlessly with existing hotel systems and workflows
- Scale Operations: Support properties of all sizes with flexible, cloud-based infrastructure
The platform serves as the foundation for Speeron's digital hospitality ecosystem, connecting guests with hotel services through intuitive, technology-driven interfaces that modernize the traditional hotel experience.
Speeron NEXT MCP Server - Official Claude Connector Documentation
Description
The Speeron NEXT MCP server provides hotel check-in and room booking services through natural language interactions. It offers automated check-in link generation by searching bookings with booking ID and guest last name, supporting multi-tenant hotel properties with intelligent tenant resolution. The server also provides room availability search with multiple pricing options and booking confirmation capabilities, seamlessly integrating hotel operations into conversational experiences.
1. Tool Descriptions
1.1 check_in_user (Hotel Check-In Link Retrieval)
What it does: Helps guests retrieve their personalized check-in link by searching for their booking using booking ID and guest last name. The tool automatically resolves the hotel property (tenant) using hotel name and city information if the tenant ID is not directly provided.
Input Parameters:
bookingId(string, required): The guest's booking reference numberguestLastName(string, required): The guest's last name for verificationtenantId(string, optional): Direct tenant identifier if already known from a previous interaction. If not provided,hotelNameandcitymust be provided instead.hotelName(string, conditionally required): Hotel name for tenant resolution. Required iftenantIdis not provided.city(string, conditionally required): City location for tenant resolution. Required iftenantIdis not provided.country(string, optional): Country for tenant resolution (helpful for international properties)
Note: The tenantId parameter is optional, but the tool requires either:
- A
tenantIddirectly, OR - Both
hotelNameandcityto automatically resolve the tenant ID
In typical usage, guests will provide hotel name and city (not tenantId), and the system will automatically resolve the correct tenant identifier from the conversation context.
Expected Output/Response: ``json { "content": [ { "type": "text", "text": "Your check-in link has been generated. Please use this link to complete your check-in: https://ci.next.speeron.com/{tenantId}/checkin/{bookingId}?token={token}" } ], "isError": false } ``
Example Usage: ``json { "method": "tools/call", "params": { "name": "check_in_user", "arguments": { "bookingId": "ABC123", "guestLastName": "Smith", "hotelName": "Speeron Plaza Hotel", "city": "New York" } } } ``
Safety Annotations:
readOnlyHint: true (retrieves information and generates a link without modifying booking state)destructiveHint: false (non-destructive operation)
1.2 search_room_options (Search Available Hotel Rooms)
What it does: Searches for available room options at a specific hotel for the specified dates and guest configuration. Returns multiple options with different prices, amenities, and occupancy limits.
Input Parameters:
hotelName(string, required): The name of the hotelcity(string, required): The city where the hotel is locatednumberOfNights(integer, required): The number of nights for the staycheckInDate(datetime, required): The check-in date (ISO 8601 format: YYYY-MM-DD)numberOfAdults(integer, required): The number of adult guestsnumberOfChildren(integer, optional): The number of children guests (default: 0)country(string, optional): The country where the hotel is locatedtenantId(string, optional): The tenant ID if already known
Expected Output/Response: ``json { "content": [ { "type": "text", "text": "I found 3 available room option(s) at Speeron Plaza Hotel:\n\nOption 1 (ID: opt-1)\nRoom Type: Standard Room\nDescription: Comfortable standard room with city view...\nPrice per night: $120.00\nTotal for 3 night(s): $360.00\n..." } ], "isError": false, "metadata": { "options": "[{\"OptionId\":\"opt-1\",\"RoomType\":\"Standard Room\",...}]", "checkInDate": "2024-03-15", "checkOutDate": "2024-03-18", "numberOfNights": 3, "numberOfAdults": 2, "numberOfChildren": 1, "hotelName": "Speeron Plaza Hotel" } } ``
Example Usage: ``json { "method": "tools/call", "params": { "name": "search_room_options", "arguments": { "hotelName": "Speeron Plaza Hotel", "city": "New York", "numberOfNights": 3, "checkInDate": "2024-03-15", "numberOfAdults": 2, "numberOfChildren": 1 } } } ``
Safety Annotations:
readOnlyHint: true (searches and retrieves information without modifying data)destructiveHint: false (non-destructive operation)
1.3 search_rooms_by_area (Search Rooms by City/Area)
What it does: Searches for available room options in a specific city/area for the specified dates and guest configuration. Returns multiple options from Speeron Plaza Hotel with different prices.
Input Parameters:
city(string, required): The city or area where to search for roomsnumberOfNights(integer, required): The number of nights for the staycheckInDate(datetime, required): The check-in date (ISO 8601 format: YYYY-MM-DD)numberOfAdults(integer, required): The number of adult guestsnumberOfChildren(integer, optional): The number of children guests (default: 0)country(string, optional): The country where to search
Expected Output/Response: ``json { "content": [ { "type": "text", "text": "I found 3 available room option(s) at Speeron Plaza Hotel in New York:\n\nOption 1 (ID: opt-1)\nRoom Type: Standard Room\n..." } ], "isError": false, "metadata": { "options": "[{\"OptionId\":\"opt-1\",...}]", "checkInDate": "2024-05-10", "checkOutDate": "2024-05-12", "numberOfNights": 2, "numberOfAdults": 2, "numberOfChildren": 0, "hotelName": "Speeron Plaza Hotel", "city": "New York" } } ``
Example Usage: ``json { "method": "tools/call", "params": { "name": "search_rooms_by_area", "arguments": { "city": "New York", "numberOfNights": 2, "checkInDate": "2024-05-10", "numberOfAdults": 2 } } } ``
Safety Annotations:
readOnlyHint: true (searches and retrieves information without modifying data)destructiveHint: false (non-destructive operation)
1.4 confirm_booking (Confirm Room Booking)
What it does: Confirms a room booking by selecting one of the available options. Returns a booking confirmation with a booking number.
Input Parameters:
optionId(string, required): The ID of the selected room option (must be one of: "opt-1", "opt-2", or "opt-3")guestName(string, required): The name of the guest making the bookingcheckInDate(datetime, required): The check-in date (ISO 8601 format: YYYY-MM-DD)numberOfNights(integer, required): The number of nights for the staynumberOfAdults(integer, required): The number of adult guestsnumberOfChildren(integer, optional): The number of children guests (default: 0)hotelName(string, optional): The name of the hotel (defaults to "Speeron Plaza Hotel")
Expected Output/Response: ``json { "content": [ { "type": "text", "text": "✅ Booking Confirmed!\n\nYour room has been successfully booked at Speeron Plaza Hotel.\n\nBooking Details:\n• Booking Number: 45\n• Guest Name: Sarah Johnson\n• Room Type: Deluxe Room\n• Check-in Date: 2024-03-15\n• Check-out Date: 2024-03-18\n• Number of Nights: 3\n• Guests: 2 adult(s), 1 child(ren)\n• Total Price: $540.00\n\nWe look forward to welcoming you to Speeron Plaza Hotel!" } ], "isError": false } ``
Example Usage: ``json { "method": "tools/call", "params": { "name": "confirm_booking", "arguments": { "optionId": "opt-2", "guestName": "Sarah Johnson", "checkInDate": "2024-03-15", "numberOfNights": 3, "numberOfAdults": 2, "numberOfChildren": 1, "hotelName": "Speeron Plaza Hotel" } } } ``
Safety Annotations:
readOnlyHint: false (creates a booking, modifying system state)destructiveHint: false (creates new data, does not delete or modify existing bookings)
2. Authentication
Authentication Method
The Speeron NEXT MCP server uses anonymous access - no authentication is required to connect to the server. The endpoints are publicly accessible and do not require API keys, OAuth tokens, or any other authentication credentials.
Security Considerations
While authentication is not required, the server implements multiple security layers:
- Rate Limiting: Per-session and per-tenant rate limits prevent abuse
- Exponential Backoff: Automatic blocking after repeated failures
- CORS Protection: Requests are restricted to configured origins (ChatGPT domains)
- Input Validation: All parameters are validated before processing
- Step-Up Authentication: Additional verification required after suspicious activity patterns
Required Scopes/Permissions
No scopes or permissions are required as the server operates with anonymous access.
Token Refresh Procedures
Not applicable - the server does not use token-based authentication.
Available Resources
None. The server provides action-oriented tools only.
Available Prompts
None. The server provides tools for direct interaction with hotel systems.
3. Setup Instructions
Prerequisites
- Access to Claude or another MCP-compatible AI assistant
- Internet connection to reach the MCP server endpoint
- Valid booking information (for check-in operations) or hotel details (for booking operations)
How to Connect to the Server
The Speeron NEXT MCP server is a remote HTTP endpoint that can be connected via the MCP protocol.
Connection Configuration
Add the following configuration to your MCP client (e.g., Claude Desktop):
{
"mcpServers": {
"speeron-next": {
"url": "https://speeronnext-prod-chat-app.azurewebsites.net/mcp",
"transport": "streamable-http"
}
}
}
Using server.json Configuration
Alternatively, use the server configuration file:
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
"name": "io.github.Speeron-Polska/speeron-next",
"description": "Speeron NEXT Digital Guest Journey MCP server (remote HTTP endpoint).",
"version": "1.0.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://speeronnext-prod-chat-app.azurewebsites.net/mcp"
}
]
}
Configuration Options
The server supports the following configuration options (server-side):
- Enabled/Disabled: Feature flag to enable or disable the MCP server
- Allowed Origins: CORS configuration for browser-based clients
- Rate Limits: Configurable per-session and per-tenant limits
- Exponential Backoff: Configurable failure thresholds and block durations
- Cool-Off Schedules: Progressive cool-off period configuration
Verification
After connecting, you can verify the connection by:
- Checking that the server appears in your MCP client's list of available servers
- Attempting to use one of the tools (e.g.,
check_in_user) with test parameters - Verifying that responses are received correctly
4. API Reference
Endpoint URLs
Base URL: https://speeronnext-prod-chat-app.azurewebsites.net/mcp
Discovery Endpoint: GET / (returns server capabilities and tool definitions)
MCP Endpoint: POST /mcp (handles JSON-RPC requests and Server-Sent Events)
Supported Transport Types
The server supports Streamable HTTP transport, which includes:
- JSON-RPC 2.0: For synchronous request/response interactions
- Method: POST
- Content-Type: application/json
- Request format: JSON-RPC 2.0 specification
- Server-Sent Events (SSE): For streaming responses and real-time updates
- Method: GET
- Content-Type: text/event-stream
- Enables streaming tool responses and progress updates
Request Format
JSON-RPC Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "check_in_user",
"arguments": {
"bookingId": "ABC123",
"guestLastName": "Smith",
"hotelName": "Speeron Plaza Hotel",
"city": "New York"
}
}
}
SSE Connection
Connect to the SSE endpoint to receive streaming updates:
GET /mcp?sse=true
Accept: text/event-stream
Response Format
Success Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "Your check-in link has been generated. Please use this link to complete your check-in: https://ci.next.speeron.com/{tenantId}/checkin/{bookingId}?token={token}"
}
],
"isError": false
}
}
Note: The response includes the actual check-in URL in the text content. The URL is a fully functional link that guests can use to access their digital check-in process.
Error Response
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32602,
"message": "Invalid params",
"data": {
"details": "Booking ID is required"
}
}
}
HTTP Status Codes
200 OK: Successful request400 Bad Request: Invalid request format or parameters429 Too Many Requests: Rate limit exceeded (includesRetry-Afterheader)500 Internal Server Error: Server-side error503 Service Unavailable: Service temporarily unavailable (e.g., during maintenance)
Use Cases with Example Prompts
Use Case 1: Pre-Arrival Check-In Link Retrieval
Scenario: A guest has a booking but lost their check-in email or needs to retrieve their check-in link before arriving at the hotel.
Example Prompts:
- "I need to check in to my hotel. My booking ID is ABC123 and my last name is Smith. The hotel is Speeron Plaza Hotel in New York."
- "Can you help me get my check-in link? Booking number 789XYZ, last name Johnson, at Speeron Plaza Hotel in Chicago."
- "I'm checking in tomorrow. Booking ID: 456DEF, surname: Williams, hotel: Speeron Plaza Hotel, city: Los Angeles."
Value: Guests can quickly retrieve their personalized check-in links through natural conversation without navigating email or hotel websites, enabling seamless pre-arrival preparation.
Use Case 2: Room Booking Search and Selection
Scenario: A guest wants to find and book a room at a hotel for specific dates, comparing different room types and prices.
Example Prompts:
- "I need a room at Speeron Plaza Hotel in New York for 3 nights starting March 15th. Two adults and one child."
- "Show me available rooms in Chicago for 2 nights from April 1st. I need a room for 2 adults."
- "What rooms are available at Speeron Plaza Hotel in Los Angeles? Check-in March 20th, 4 nights, 2 adults."
Value: Guests can search for rooms, compare options (Standard, Deluxe, Suite) with pricing and amenities, and make informed booking decisions through conversational interaction.
Use Case 3: Area-Based Room Discovery
Scenario: A guest is planning a trip but hasn't decided on a specific hotel yet. They want to explore available options in a city.
Example Prompts:
- "I'm looking for a hotel room in New York for 2 nights, check-in on May 10th, for 2 adults. What's available?"
- "Find me a room in Chicago for 3 nights starting June 1st. One adult."
- "What hotel rooms are available in Los Angeles? 5 nights from July 15th, 2 adults and 2 children."
Value: Guests can discover and book hotel rooms by city without needing to know specific hotel names, making trip planning more flexible and convenient.
Use Case 4: Booking Confirmation After Search
Scenario: A guest has reviewed room options and wants to confirm their booking selection.
Example Prompts:
- "I'll take option 2, the Deluxe Room. Guest name: Sarah Johnson, check-in March 15th, 3 nights, 2 adults."
- "Book option 1 for me. Name: Michael Brown, dates: April 1-3, 2 nights, 2 adults."
- "Confirm booking for option 3, the Suite. Guest: David Lee, check-in May 10th, 4 nights, 2 adults and 1 child."
Value: After reviewing room options, guests can complete their booking in the same conversation, receiving immediate confirmation with booking details and confirmation number.
Technical Architecture
Integration Architecture
The MCP server is co-hosted as a module within the existing Speeron chatbot application, providing:
- Unified Infrastructure: Shared logging, dependency injection, configuration, and deployment pipeline
- Efficient Resource Usage: Single process eliminates overhead of separate application hosting
- Modular Design: Clear separation of concerns with dedicated MCP module structure
- Future Extensibility: Easy addition of new tools and features within the same bounded context
Tenant Resolution
The server includes intelligent tenant directory resolution that:
- Maps hotel names and cities to tenant identifiers
- Supports optional country specification for international properties
- Caches tenant lookups for improved performance
- Provides clear error messages when hotels cannot be found
Booking Search Integration
The check-in tool integrates with Speeron's booking search system to:
- Query bookings by tenant ID, booking ID, and guest last name
- Return secure, personalized check-in URLs
- Handle booking not found scenarios gracefully
- Support both simple and full booking ID formats
Security and Compliance
The server implements multiple layers of security to protect against abuse and ensure reliable service:
- Rate Limiting
- Exponential Backoff
- Cool-Off Mechanism
- Step-Up Authentication
- CORS Configuration
5. Error Handling
Common Error Codes
JSON-RPC Error Codes
- -32600 (Invalid Request): The JSON sent is not a valid Request object
- -32601 (Method Not Found): The method does not exist or is not available
- -32602 (Invalid Params): Invalid method parameter(s)
- -32603 (Internal Error): Internal JSON-RPC error
- -32700 (Parse Error): Invalid JSON was received
Application Error Codes
- BOOKING_NOT_FOUND: The specified booking could not be found
- TENANT_RESOLUTION_FAILED: Could not resolve hotel property from provided information
- INVALID_PARAMETER: Required parameter is missing or invalid
- RATE_LIMIT_EXCEEDED: Request rate limit has been exceeded
- SESSION_ERROR: Session-related error occurred
Error Response Format
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32602,
"message": "Invalid params",
"data": {
"errorCode": "INVALID_PARAMETER",
"details": "Booking ID is required. Please provide your booking ID.",
"isError": true
}
}
}
Common Error Scenarios
1. Missing Required Parameters
Error: INVALID_PARAMETER Message: "Booking ID is required. Please provide your booking ID." Solution: Ensure all required parameters are provided in the tool call.
2. Booking Not Found
Error: BOOKING_NOT_FOUND Message: "Could not find your booking. Please verify your booking ID and last name, and ensure you've provided the correct hotel name and city." Solution: Verify the booking ID, guest last name, and hotel information are correct.
3. Hotel/Tenant Resolution Failed
Error: TENANT_RESOLUTION_FAILED Message: "Could not find a hotel named 'Hotel Name' in City. Please verify the hotel name and city." Solution: Provide accurate hotel name and city. Optionally include country for international properties.
4. Rate Limit Exceeded
Error: RATE_LIMIT_EXCEEDED HTTP Status: 429 Too Many Requests Headers: Retry-After: 60 (seconds) Message: "Rate limit exceeded. Please try again later." Solution: Wait for the specified duration before retrying. The Retry-After header indicates when to retry.
5. Session Issues
Error: SESSION_ERROR Message: "It looks like there's a session issue. Please disconnect and reconnect from the Speeron check-in connector to establish a fresh session." Solution: Disconnect and reconnect the MCP server connection.
Troubleshooting Guidance
Issue: Tool calls are not working
Checklist:
- Verify the server is enabled and accessible
- Check that the endpoint URL is correct
- Ensure all required parameters are provided with correct types
- Verify network connectivity to the server
Issue: Getting rate limit errors frequently
Solutions:
- Reduce the frequency of requests
- Wait for the cool-off period to expire
- Check if multiple sessions are active simultaneously
- Contact support if legitimate use is being blocked
Issue: Booking searches return no results
Solutions:
- Verify booking ID format matches the hotel's system
- Ensure guest last name matches exactly (case-sensitive in some systems)
- Confirm hotel name and city are correct
- Try providing country information for international properties
Issue: Connection timeouts
Solutions:
- Check network connectivity
- Verify the server endpoint is accessible
- Check if the server is under maintenance
- Retry the request after a short delay
Error Recovery
The server implements automatic error recovery mechanisms:
- Exponential Backoff: Automatic retry delays for transient failures
- Negative Result Caching: Prevents repeated failed queries for the same data
- Session Recovery: Automatic session re-establishment for connection issues
- Graceful Degradation: Provides helpful error messages instead of generic failures
Configuration
The server can be configured via application settings with feature flags for:
- Enabling/disabling the MCP server
- Configuring rate limits and thresholds
- Setting up exponential backoff parameters
- Defining cool-off schedules
- Enabling step-up authentication requirements
- CORS origin restrictions
Future Enhancements
The architecture supports future expansion including:
- Guest portal tools for in-stay services
- Additional hotel service integrations
- Enhanced booking search capabilities
- Multi-language support
Publisher Information
Publisher: Speeron Polska License: Proprietary Support: Contact Speeron support for integration assistance






