Skip to main content
Glama

Kids Stay MCP Server

Verified kid-friendly hotel data for Japan — 1,900+ hotels checked against official sources across 48 kid-friendly conditions (diaper-friendly baths, baby beds, kids' meals, in-room dining, and more), served over the Model Context Protocol.

Built and maintained by Kids Stay (kids-stay.com), a hotel search site for families traveling with babies and toddlers in Japan.

Why this exists

Booking sites can't answer questions like "Which hot-spring hotels allow toddlers who aren't potty-trained in the shared bath?" — that information lives deep inside each hotel's official website. Kids Stay reads those sources hotel by hotel and structures them into 48 verified conditions. This MCP server hands that data directly to AI assistants, with sources and verification dates attached.

Related MCP server: MAQAMI Travel

Tools

Tool

Description

search_hotels

Search by condition IDs × prefecture/area × child age × budget. Returns up to 20 summary cards

get_hotel

Verified details for one hotel: conditions with per-hotel notes, target ages, nearby kid spots, sources

list_conditions

The 48 condition definitions (IDs, labels, EN labels)

list_areas

Hotel inventory per prefecture — useful for narrowing down before searching

Every response includes verified_at (when the data was last checked), sources (official URLs for re-verification), a page link to the hotel's page, and a disclaimer. Data is maintained in Japanese with English labels; translation is left to the agent.

Quick start

Claude (claude.ai / desktop): Settings → Connectors → Add custom connector → paste the endpoint URL.

Claude Code:

claude mcp add --transport http kids-stay https://mcp.kidsstay.workers.dev/mcp

Any MCP client (Streamable HTTP):

{
  "kids-stay": {
    "type": "streamable-http",
    "url": "https://mcp.kidsstay.workers.dev/mcp"
  }
}

Then ask things like: "Find hotels in Okinawa for a family with a 0-year-old — baby bed and baby food required."

Local (stdio): for MCP clients that prefer stdio, this repository ships a zero-dependency local build (index.js, Node.js 18+). Introspection is served locally from the bundled tool definitions; tool calls fetch live data from the hosted endpoint (the single source of truth):

npx github:sitebox/kids-stay-mcp        # or: git clone && node index.js

Data usage

Use in AI responses with attribution (link to the facility page on kids-stay.com) is welcome. Bulk redistribution, resale, or building competing databases is prohibited. Facilities change their services — always confirm current conditions on the hotel page before booking. Full terms: https://kids-stay.com/mcp/ and https://kids-stay.com/terms/

About this repository

The MIT license in LICENSE covers the code in this repository only. The hotel data served by the hosted endpoint is not part of this repository; its terms of use are described at https://kids-stay.com/mcp/ and https://kids-stay.com/terms/.

This repository is the public home of the server metadata (server.json) and a small local stdio build (index.js, MIT-licensed) for registry and directory listings. The hosted implementation and the dataset itself are not part of this repository — the data is the product of ongoing manual verification against official sources, refreshed monthly, and is served only through the endpoint.


日本語

Kids Stay MCPサーバー — 全国1,900軒超の宿を「おむつが取れていない子と入れる風呂」「ベビーベッド」「離乳食」など48種類の子連れ条件で公式サイトの一次情報から検証したデータを、MCP経由でAIアシスタントに提供します。

  • エンドポイント: https://mcp.kidsstay.workers.dev/mcp(Streamable HTTP・認証なし・無料)

  • 案内・利用条件: https://kids-stay.com/mcp/

  • 応答には検証日(verified_at)・出典・施設ページURLが必ず付きます

出典として施設ページを示したうえでのAI応答への利用は歓迎です。一括再配布・転売・競合データベースの構築は禁止です。設備・条件は変わることがあるため、予約前に施設ページで最新情報をご確認ください。

Available Tools

4 tools
get_hotel施設の検証済み詳細A
Read-onlyIdempotent

slug指定で施設の全条件(施設別の根拠note付き)・キッズ設備・アクセス・出典・検証日を返します。表示はテキストと Markdown リンクのみで、地図・場所カード等のウィジェットは付けないでください。

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes施設slug(search_hotelsの結果に含まれる)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the safe read-only, idempotent, non-destructive profile, and the description adds useful behavior: the response contains evidence notes, sources, and a verification date, and the output rendering must be text/Markdown only with no map or place-card widgets. No contradiction with the annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler: the first front-loads the retrieval purpose and contents, and the second gives a crisp rendering constraint. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one required parameter, no output schema, and read-only/idempotent annotations, the description covers everything an agent needs: what is returned, how it is selected, and how it must be presented. The absence of detailed response formatting is acceptable given the low complexity of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already explains that slug is the facility slug included in search_hotels results. The description only repeats 'slug指定' and adds no additional parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('返します') and a concrete resource: facility conditions with per-facility evidence notes, kids' equipment, access, sources, and verification date, retrieved by slug. This clearly differentiates it from the sibling search/list tools, which operate at a different level of granularity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: call it with a slug to get the full verified detail payload, and then present the result as text/Markdown links without widgets. It does not explicitly name alternatives or state when not to use it, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_areasエリア別の在庫A
Read-onlyIdempotent

都道府県別の施設数・主要エリアと、編集部のエリア特集ページ一覧を返します。検索前の当たり付けに使います。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds that it returns counts and feature pages, and the phrase '主要エリア' hints at a possible scope limitation. However, it does not disclose return format, pagination, or data freshness; with no output schema, this is a moderate gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the return content and closes with the intended use case. No filler or redundant restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a parameterless read-only list operation with strong annotations. The description fully specifies what it returns and when to use it; no invocation complexity is missing. An agent can confidently call and interpret this tool without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero parameters and 100% schema description coverage, so there is nothing for the description to compensate for. Baseline for 0 params is 4; no additional parameter detail is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (返します) and a concrete resource: prefecture-level facility counts, major areas, and editorial area feature page list. It also frames the tool as a pre-search rough targeting aid, which distinguishes it from search siblings. This is above the minimum viable and leaves no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use it before searching for rough targeting (検索前の当たり付けに使います), providing clear context for when to invoke it. It does not explicitly name sibling tools or give exclusions, so it stops just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_conditions48条件の定義一覧A
Read-onlyIdempotent

検索に使える子連れ条件の全定義(id・ラベル・対象年齢・該当施設数)を返します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and side effects. The description adds that the tool returns all definitions and enumerates the fields, which is consistent but does not introduce significant behavioral traits beyond what the annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that states the purpose first and packs the return fields into a parenthetical list. There is no filler or redundant information; every part of the sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple parameterless listing tool, the description tells the agent exactly what will be returned and why it exists. The absent output schema is compensated by the explicit field list, and annotations cover operational behavior, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty schema, so there are no parameter semantics to document. The description's emphasis on '全定義' (all definitions) confirms the tool takes no filters and returns the complete set, which is appropriate for this zero-parameter design.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('返します' – returns) and a precise resource ('子連れ条件の全定義' – all definitions of child-friendly conditions), and it lists the return fields (id, label, target age, facility count). This clearly distinguishes it from sibling tools like list_areas and search_hotels, which are about areas and hotel search rather than condition meta-definitions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase '検索に使える' (usable for search) provides clear context that this is a reference list intended to be used with search_hotels. It does not explicitly name alternatives or state exclusions, but the intended usage context is clear enough for an agent to infer when to call this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_hotels子連れ条件×エリアで宿を検索A
Read-onlyIdempotent

赤ちゃん・子連れ向け設備の検証済み条件(48種・list_conditions参照)とエリア・子どもの年齢・価格で日本の宿を検索します。宿名が分かっている場合は keyword で直接検索できます。結果の page URL が施設の詳細・予約ページです。表示は箇条書きテキストと Markdown リンクのみで、地図・場所カード等のウィジェットは付けないでください(施設ページに地図あり)。

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoエリア名。例: "箱根" "沖縄本島"
sortNo並び順。既定=rating(楽天評価順)
limitNo取得件数(既定10・最大20)
keywordNo宿名で検索(部分一致・日本語名/英語名/slug対応)。例: "グリーンプラザ軽井沢"
child_ageNo子どもの年齢(歳)。対象年齢に合う宿へ絞り込み
max_priceNo1名1泊あたり上限額(円・目安)
conditionsNo条件ID(AND検索)。例: ["baby_bed_rental","bath_pre_potty_ok"]
prefectureNo都道府県名またはJISコード。例: "神奈川県" / "14"

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds meaningful behavior: results are limited to bulleted text and Markdown links, no map/location-card widgets should be attached, and each result's page URL is the facility's detail/reservation page. It also notes conditions are verified, which is useful operational context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose first, then the keyword shortcut, then output and display constraints. Every sentence carries distinct information and there is no redundant repetition of the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with 8 optional parameters and no output schema, the description covers the search dimensions, condition-source reference, keyword behavior, result URL meaning, and output formatting. It does not explicitly mention list_areas for valid area values or get_hotel for single-hotel detail lookup, and it does not address empty-result handling, but the schema and annotations cover much of the remaining context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all 8 parameters with descriptions and examples (100% coverage), so the baseline is 3. The description adds extra value by tying conditions to the 48 verified IDs in list_conditions and clarifying that keyword is for direct hotel-name search, which goes slightly beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it searches Japanese accommodations using verified baby/child-friendly conditions (48 types, referencing list_conditions), area, child age, and price. It distinguishes itself from siblings by emphasizing condition-based search and keyword search when the hotel name is known, so an agent can tell it apart from get_hotel/list_conditions/list_areas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear guidance on when to search by conditions/area/age/price and when to use keyword directly if the hotel name is known. It also points to list_conditions for valid condition IDs and gives output formatting rules. It does not explicitly direct the agent to get_hotel for a single hotel's details or state when not to use this tool, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedget_hotel
    • First observedlist_areas
    • First observedlist_conditions
    • First observedsearch_hotels

TDQS

A4.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool maps to a distinct purpose: search_hotels performs queries, get_hotel returns detail for a specific facility, while list_conditions and list_areas are clearly separate reference lookups. No two tools appear to do the same thing.

Naming Consistency5/5

All tool names follow a consistent lower_snake verb_noun convention: search_, get_, list_. The only minor variation is plural search_hotels vs singular get_hotel, which does not create confusion.

Tool Count5/5

Four tools is well-scoped for a focused read-only hotel-search server: one query tool, one detail tool, and two supporting reference lookups. Each tool earns its place and works together as a cohesive set.

Completeness5/5

The surface covers the full search workflow: discover supported filters (list_conditions), narrow by area (list_areas), search hotels, and inspect a specific facility's verified details. There are no obvious dead ends or missing operations for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Book hotels worldwide — search, price, prebook & book across 249 countries. 65 tools for hotel search, flights, loyalty, analytics. Zero API keys needed. at best prices for hotels 3 M+ property
    5 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Japanese real-estate actual transaction prices and official land prices (official MLIT Reinfolib data): search by area, period, and property type, with published land-price reference points.
    -