Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
OpenClaw agent: thais Thais MCP Server (StreamableHTTPServerTransport) Production-style Model Context Protocol (MCP) server for the Thais Hotel API. This server exposes booking-related tools to an MCP client (including Claude through an MCP-compatible connection), so Claude can: - check room availability by date range - list room type IDs with human-readable names Features - MCP server built with @modelcontextprotocol/sdk - HTTP transport Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
thais is best for general automation workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
OpenClaw agent: thais Thais MCP Server (StreamableHTTPServerTransport) Production-style Model Context Protocol (MCP) server for the Thais Hotel API. This server exposes booking-related tools to an MCP client (including Claude through an MCP-compatible connection), so Claude can: - check room availability by date range - list room type IDs with human-readable names Features - MCP server built with @modelcontextprotocol/sdk - HTTP transport
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Ziadkaroune
Artifacts
0
Benchmarks
0
Last release
1.0.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/ziadkaroune/thais-mcp-server.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Ziadkaroune
Protocol compatibility
MCP
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
text
src/ ├── index.js # MCP server creation, tool registration, and HTTP endpoints ├── helpers.js # Thais API authentication + data-access helpers package.json # dependencies and package metadata .env.example # example environment variables template README.md # this file
bash
npm install
env
USERNAME=your_thais_username PASSWORD=your_thais_password
bash
node src/index.js
text
http://127.0.0.1:3000/mcp
text
http://127.0.0.1:3000/mcp
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
OpenClaw agent: thais Thais MCP Server (StreamableHTTPServerTransport) Production-style Model Context Protocol (MCP) server for the Thais Hotel API. This server exposes booking-related tools to an MCP client (including Claude through an MCP-compatible connection), so Claude can: - check room availability by date range - list room type IDs with human-readable names Features - MCP server built with @modelcontextprotocol/sdk - HTTP transport
Production-style Model Context Protocol (MCP) server for the Thais Hotel API.
This server exposes booking-related tools to an MCP client (including Claude through an MCP-compatible connection), so Claude can:
@modelcontextprotocol/sdk/mcp) with session lifecycle handlingsrc/
├── index.js # MCP server creation, tool registration, and HTTP endpoints
├── helpers.js # Thais API authentication + data-access helpers
package.json # dependencies and package metadata
.env.example # example environment variables template
README.md # this file
USERNAME, PASSWORD)npm install
Create a .env file in the project root:
USERNAME=your_thais_username
PASSWORD=your_thais_password
node src/index.js
Server URL:
http://127.0.0.1:3000/mcp
src/helpers.jsgetTokens()Authenticates to Thais Partner API using USERNAME and PASSWORD, then returns a bearer token.
POST /logintoken (string)thais_check_availability(checkIn_date, checkOut_date, token)Fetches current room availability between two dates.
GET /hotel/apr/availabilities/currents?from=...&to=...checkIn_date (YYYY-MM-DD)checkOut_date (YYYY-MM-DD)token (bearer token)thais_check_room_type(token)Fetches room type catalog (ID + label).
GET /hotel/room-typestokensrc/index.jscreateMcpServer()Creates and configures a new MCP server instance (thais_mcp_server v1.0.0) and registers tools.
Registered MCP tools:
get_room_availability
from and tofrom: date string in YYYY-MM-DDto: date string in YYYY-MM-DDgetTokens()thais_check_availability()availability > 0thais_list_room_types
getTokens()thais_check_room_type()Type ID = Label textPOST /mcp
mcp-session-id is validisInitializeRequest)StreamableHTTPServerTransport to a server instanceGET /mcp
DELETE /mcp
There are two common ways to connect, depending on your Claude MCP client capabilities.
If your Claude MCP client allows remote MCP URLs, add this server endpoint:
http://127.0.0.1:3000/mcp
Then:
node src/index.js)get_room_availabilitythais_list_room_typesIf your Claude app expects stdio MCP servers only, use an HTTP-to-stdio bridge such as mcp-remote.
node src/index.js
{
"mcpServers": {
"thais": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://127.0.0.1:3000/mcp"
]
}
}
}
Restart Claude Desktop.
In Claude, check that tools appear and run a test prompt:
Check room availability from 2026-03-10 to 2026-03-15 and list room types.
Note: Claude MCP features evolve. If your current Claude build already supports remote MCP URLs, Option A is simpler.
YYYY-MM-DDUSERNAME and PASSWORD in .env127.0.0.1:3000.envISC
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T05:23:55.220Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Ziadkaroune",
"href": "https://github.com/ziadkaroune/thais-mcp-server",
"sourceUrl": "https://github.com/ziadkaroune/thais-mcp-server",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T03:06:08.617Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T03:06:08.617Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-ziadkaroune-thais-mcp-server/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to thais and adjacent AI workflows.