Is the Gojinko Jinko MCP server down?

mcp-registry/com.gojinko.mcp/jinko · v1.48.1

healthy
Last checked 2026-10-17 19:18 UTC · handshake 348ms

As of 2026-10-17 19:18 UTC, the Gojinko Jinko MCP server is up with a Glimind reliability score of 92/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 7 minutes.

uptime (30d checks)
100%
checks observed
3,610
outages (90d)
1
tools
7

Turn your ChatGPT to a super travel agent

Install Gojinko Jinko MCP server

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http gojinko-jinko-mcp-server https://mcp.gojinko.com

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "gojinko-jinko-mcp-server": {
      "type": "http",
      "url": "https://mcp.gojinko.com"
    }
  }
}

Third-party server, listed as discovered. Review its source before installing.

Agent-readiness: C (79/100)

C (79/100): 0 error(s), 5 warning(s) across 7 tool(s); ~20,751 tokens of tool definitions.
Scores higher than 32% of 15,315 MCP servers Glimind has audited.
Its tool list costs an agent ~20,751 tokens per session — more than 95% of servers.
no tool-poisoning patterns
Schemas83
Descriptions100
Safety hints100
Token cost14
Client compatibility100
Protocol100
Reliability85
Stability20

What to fix (5)

5 tool definition(s) exceed ~1,200 tokens each (largest: flight_search, ~5,688).

Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~15,791 tokens every session.

Tools: flight_search, hotel_search, trip, flight_calendar, find_destination · saves ~15,791 tokens/session

1 tool(s) have parameters with no type (no type/enum/anyOf/$ref).

Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays.

Tools: trip

Loading this server's tool list costs an agent ~20,751 tokens before any work — more than 95% of MCP servers.

Split rarely-used tools into a separate server or a toolset the client can enable, or expose one "search tools" entry point. Many agents load every connected server's tools into every request.

Handshake + tools/list takes ~2,101 ms.

Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.

In the last 30 days: 18 tool(s) removed and 59 schema change(s).

Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts.

Auto-fix: 1 corrected tool definition

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fcom.gojinko.mcp%2Fjinko/fixes

trip 1 change
{
  "name": "trip",
  "description": "Unified tool for managing a trip (shopping cart). Supports flights and hotels in the same cart. Actions are determined by which objects you provide.\n\nSCHEMA:\n{\n  trip_id?: string,           // Existing trip ID (omit to create new)\n  offer_id?: string,          // (Legacy) Offer ID — now auto-encoded into trip_item_token by flight_search\n  add_item?: { ... },         // Add a flight or hotel to the trip\n  remove_item?: { ... },      // Remove an item from the trip\n  upsert_travelers?: { ... }, //",
  "inputSchema": {
    "type": "object",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
      "trip_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "ID of an existing trip. If not provided, a new trip will be created."
      },
      "version": {
        "description": "Deprecated legacy widget field. Accepted and ignored for compatibility; it does not provide optimistic concurrency.",
        "type": "string"
      },
      "add_item": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "rooms": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "trip_item_token"
                      ],
                      "properties": {
                        "traveler_ids": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Optional traveler IDs occupying this specific room."
                        },
                        "trip_item_token": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Hotel rate token (htl_*) from hotel_search for THIS room. All rooms in the array must come from the same hotel and the same stay (same check-in/check-out dates) — typically one rate per requested occupancy from the same hotel_search response."
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "MULTI-ROOM HOTEL ONLY: book 2–8 rooms of the SAME hotel and SAME stay as ONE booking with ONE reference. One entry per room, each with its own htl_* rate token from hotel_search (e.g. one rate per occupancy). All tokens must belong to the same hotel and identical check-in/check-out dates. Mutually exclusive with trip_item_token; for a single room use trip_item_token instead. Not every hotel rate can be booked this way; one that cannot is refused when it is added."
              },
              "traveler_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Traveler IDs to associate with the added item"
              },
              "trip_item_token": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Token from flight_search fare options. Contains encoded flight/fare information. Mutually exclusive with rooms — provide exactly one of the two; the unused one may be null or left out."
              },
              "special_requests": {
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 500
                },
                "maxItems": 10,
                "description": "HOTEL ONLY. Free-text special requests for the property, one per entry — e.g. \"Expected arrival around 11:30 PM\", \"Quiet room on a high floor, if available\", \"Baby cot requested\", \"Non-smoking room\". Forwarded to the hotel supplier with the booking as REQUESTS ONLY: neither Jinko nor the hotel guarantees them, and a confirmed booking does not mean they will be honoured — tell the user so. Applies to the whole stay (every room). At most 10 entries of 500 characters each and 1500 characters in total; blank entries are dropped. Ignored on any item that is not a hotel."
              }
            },
            "additionalProperties": false
          },
          {
            "type": "null"
          }
        ],
        "description": "Add a flight or hotel to the trip. Use trip_item_token from flight_search (offer__* format) or offer_id from hotel_search (htl_* format). For MULTIPLE ROOMS of the same hotel stay, make ONE add_item call with the rooms array (2–8 htl_* tokens, same hotel + dates) — do NOT add the same hotel as separate items."
      },
      "offer_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "Deprecated: offer_id is now encoded into trip_item_token by flight_search. Only needed for legacy tokens without encoded offer_id."
      },
      "remove_item": {
        "anyOf": [
          {
            "type": "object",
            "required": [
              "item_id"
            ],
            "properties": {
              "item_id": {
                "type": "string",
                "description": "ID of the trip item to remove. Get this from trip.trip_items[].id"
              }
            },
            "additionalProperties": false
          },
          {
            "type": "null"
          }
        ],
        "description": "Remove an item from the trip by its ID."
      },
      "user_intent": {
        "type": "string",
        "description": "A concise summary of what the user is trying to accomplish, derived from their message or the\nconversation context that triggered this tool call.\nThis is used to understand the user's intent and context to improve the overall user experience.\n\n- For short, self-contained prompts (e.g. \"I want new shoes\"), copy the user message as-is.\n- For longer conversations or detailed requests, summarize the core goal and any relevant\n  context in 1-2 sentences. Focus on intent, constraints, and preferences - not the full\n  dialogue.\n\nBefore sending, strip all personally identifiable information (PII), including but not\nlimited to:\n  - Names (first, last, usernames, handles)\n  - Email addresses\n  - Phone numbers\n  - Physical addresses (street, city, zip/postal code, country when tied to an individual)\n  - Dates of birth or exact ages\n  - Government-issued ID numbers (SSN, passport, driver's license, etc.)\n  - Payment or financial information (card numbers, bank accounts, etc.)\n  - IP addresses or device identifiers\n  - Account credentials (passwords, tokens, API keys)\n  - Health or biometric data\n  - Any other information that could identify a specific individual\n\nReplace stripped values with a generic placeholder (e.g. \"[name]\", \"[email]\", \"[address]\").\n\nExamples:\n  User: \"I want red running shoes under $100\"\n  -> \"I want red running shoes under $100\"\n\n  User: \"Hi, I'm John Smith, [email protected], and I'm looking for flights from Paris to\n         Tokyo for 2 adults departing around mid-June, budget around EUR2000 total\"\n  -> \"Looking for flights from Paris to Tokyo for 2 adults, mid-June, budget ~EUR2000\"\n\n  User: \"I need help resetting my password for account ID acct_12345\"\n  -> \"I need help resetting my password for account ID [account_id]\""
      },
      "payment_type": {
        "enum": [
          "checkout",
          "intent"
        ],
        "type": "string",
        "description": "Payment flow type: \"checkout\" for Stripe Checkout (default), \"intent\" for Payment Intent."
      },
      "schedule_quote": {
        "type": "boolean",
        "description": "Schedule a fresh quote on the current cart state. Triggers async re-pricing on the BFF; poll trip(get) until trip.quote_status is \"completed\", \"partial\", or \"failed\". Only \"completed\" covers the whole cart. trip.quoted_total is the quoted sell total; trip.totals includes unquoted search prices, and trip.status is a legacy lifecycle field. Call this AFTER any traveler or cart-composition change so subsequent steps see fresh prices. book(create) will silently re-quote if the cart drifted from the last quote."
      },
      "idempotency_key": {
        "type": [
          "string",
          "null"
        ],
        "description": "Idempotency key to prevent duplicate processing"
      },
      "upsert_travelers": {
        "anyOf": [
          {
            "type": "object",
            "required": [
              "travelers"
            ],
            "properties": {
              "contact": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "email",
                      "phone"
                    ],
                    "properties": {
                      "city": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Billing city. Required by some carriers."
                      },
                      "email": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address for booking confirmations"
                      },
                      "phone": {
                        "type": "string",
                        "description": "Phone number in international format: a leading + and the country code, e.g. \"+12025550147\". Spaces, hyphens, dots and parentheses are tolerated and removed. A number without the leading + is rejected with INVALID_PHONE_NUMBER."
                      },
                      "title": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Title of the person paying (e.g. \"mr\", \"ms\", \"mx\"). Required by some carriers."
                      },
                      "zip_code": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Billing postal code. Required by some carriers."
                      },
                      "country_code": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Billing country as an ISO 3166-1 alpha-2 code (e.g. \"FR\")."
                      },
                      "terms_accepted": {
                        "type": "boolean",
                        "description": "Whether the traveller accepted the CARRIER's terms and conditions, which are separate from Jinko's. Send true only if they were actually shown and accepted."
                      },
                      "street_and_number": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Billing street and number. Required by some carriers."
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Contact for the trip lead (email + phone). Optional while building the cart, but required before booking — the connectors reject bookings without a contact phone."
              },
              "travelers": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "contact": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "email": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "format": "email"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Email address"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "Phone number in international format: a leading + and the country code, e.g. \"+12025550147\". Spaces, hyphens, dots and parentheses are tolerated and removed. A number without the leading + is rejected with INVALID_PHONE_NUMBER."
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Contact information"
                    },
                    "is_lead": {
                      "type": "boolean",
                      "description": "Whether this traveler is the lead/primary contact"
                    },
                    "identity": {
                      "anyOf": [
                        {
                          "type": "object",
                          "required": [
                            "first_name",
                            "last_name",
                            "passenger_type"
                          ],
                          "properties": {
                            "title": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "Title (Mr, Mrs, Ms, etc.)"
                            },
                            "gender": {
                              "anyOf": [
                                {
                                  "enum": [
                                    "MALE",
                                    "FEMALE"
                                  ],
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Gender. Required for flights; optional for hotel-only bookings."
                            },
                            "last_name": {
                              "type": "string",
                              "description": "Last name as on travel documents"
                            },
                            "first_name": {
                              "type": "string",
                              "description": "First name as on travel documents"
                            },
                            "middle_name": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "Middle name"
                            },
                            "nationality": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "Nationality (ISO 3166-1 alpha-2 country code)"
                            },
                            "date_of_birth": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "Date of birth (YYYY-MM-DD). Required for flights; optional for hotel-only bookings."
                            },
                            "frequent_flyer": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "required": [
                                    "airline",
                                    "number"
                                  ],
                                  "properties": {
                                    "number": {
                                      "type": "string"
                                    },
                                    "airline": {
                                      "type": "string"
                                    }
                                  },
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Frequent-flyer / loyalty membership. airline = IATA carrier that issued the membership (e.g. LH); number = membership number."
                            },
                            "passenger_type": {
                              "enum": [
                                "ADULT",
                                "CHILD",
                                "LAP_INFANT",
                                "SEATED_INFANT"
                              ],
                              "type": "string",
                              "description": "Passenger type based on age. SEATED_INFANT is not currently supported for flights — bookings with it are rejected; book infants as LAP_INFANT."
                            },
                            "redress_number": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "DHS redress control number (TRIP program). Flights only."
                            },
                            "known_traveler_number": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "US trusted-traveler Known Traveler Number (TSA PreCheck / Global Entry). Flights only; sent to the airline as Secure Flight data so PreCheck prints on the boarding pass."
                            },
                            "redress_issuing_country": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "ISO 3166-1 alpha-2 country that issued the redress number. Defaults to US downstream; ignored without redress_number."
                            },
                            "known_traveler_issuing_country": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "ISO 3166-1 alpha-2 country that issued the Known Traveler Number. Defaults to US downstream; ignored without known_traveler_number."
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Traveler identity information. Required if traveler_id is not provided."
                    },
                    "passport": {
                      "anyOf": [
                        {
                          "type": "object",
                          "required": [
                            "number",
                            "expiry_date",
                            "issuing_country"
                          ],
                          "properties": {
                            "type": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "Document type in the CARRIER's vocabulary, when the booking requires one (carriers list it in required_customer_details as government_id_type; values are carrier-specific, e.g. \"passport_id\", \"international_passport\", \"national_id\"). Omit unless asked."
                            },
                            "number": {
                              "type": "string",
                              "description": "Passport number"
                            },
                            "expiry_date": {
                              "type": "string",
                              "description": "Passport expiration date (YYYY-MM-DD)"
                            },
                            "issuing_country": {
                              "type": "string",
                              "description": "Issuing country (ISO 3166-1 alpha-2 code)"
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Passport information for international travel"
                    },
                    "traveler_id": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "ID of a pre-saved traveler. If provided, fetches traveler details from storage."
                    }
                  },
                  "additionalProperties": false
                },
                "description": "List of travelers for the trip. Replaces all existing travelers (idempotent). Required to complete a booking; the first traveler also supplies the booking contact name."
              }
            },
            "additionalProperties": false
          },
          {
            "type": "null"
          }
        ],
        "description": "Set travelers on the trip. Replaces all existing travelers (idempotent operation)."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "openWorldHint": false,
    "idempotentHint": true,
    "destructiveHint": true
  },
  "title": "trip"
}

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/com.gojinko.mcp/jinko"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/com.gojinko.mcp/jinko"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.gojinko.mcp%2Fjinko.svg)](https://glimind.com/server/mcp-registry%2Fcom.gojinko.mcp%2Fjinko?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Fcom.gojinko.mcp%2Fjinko?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.gojinko.mcp%2Fjinko.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.gojinko.mcp%2Fjinko.svg
   :target: https://glimind.com/server/mcp-registry%2Fcom.gojinko.mcp%2Fjinko?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:8d518127e8a33012…, first seen 2026-10-17, included at leaf 13617 of 18,208. Version history · verify what your client received.

Tools (7)

Compare: most reliable productivity servers · most reliable knowledge servers · most reliable search servers · most reliable data servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http glimind https://glimind.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Gojinko Jinko MCP server down right now?

As of 2026-10-17 19:18 UTC, the Gojinko Jinko MCP server is up with a Glimind reliability score of 92/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 7 minutes.

How many tools does Gojinko Jinko MCP server provide?

Gojinko Jinko MCP server advertises 7 tools, including book, find_destination, flight_calendar, flight_search, hotel_details.

How do I install Gojinko Jinko MCP server?

Point your MCP client at this streamable-http endpoint: https://mcp.gojinko.com

Is the Gojinko Jinko MCP server safe to connect to an AI agent?

Glimind scanned all 7 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Gojinko Jinko MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.