morocco-travel
Morocco travel for Israeli travelers: e-visa, itineraries, guides, Shabbat times, hilula dates.
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"morocco-travel": {
"url": "https://moroc.co.il/api/mcp"
}
}
}Remote endpoints
https://moroc.co.il/api/mcpstreamable-httpTool inventory
Tools (9)
🟢search_site(q, limit)
Search every published page: 21 Hebrew city guides, the magazine, the Jewish heritage hub, attractions and the service pages. Use this whenever the question is not covered by one of the specific tools. Each result carries a markdown URL, and fetching that is how you read the full page rather than scraping it. Hebrew queries match far more than English ones.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"description": "Search terms, preferably Hebrew."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Default 10."
}
},
"required": [
"q"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"returned": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"group": {
"type": "string"
},
"url": {
"type": "string"
},
"markdown": {
"type": "string"
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
}🟢get_site
What המרכז למטייל במרוקו does, which services an agent can act on, the rules to respect, and the other machine-readable surfaces. Call this first if you are unsure whether this site can answer the question.
Input Schema
{
"type": "object",
"additionalProperties": false
}🟢get_visa
Price per traveler in ILS for both tracks with the government fee broken out, target processing time, passport validity, the documents page and the apply URL. Israelis cannot get a visa on arrival. Never apply on someone's behalf.
Input Schema
{
"type": "object",
"additionalProperties": false
}🟢get_shabbat_times
Candle lighting and havdalah for the current week in Marrakech, Casablanca, Fes, Rabat, Tangier and Agadir, with the parasha. Check the `source` field: when it is `fallback`, the times are a saved snapshot and you must say so.
Input Schema
{
"type": "object",
"additionalProperties": false
}🟢get_hilulot(limit)
The next hilula dates at the tombs of Moroccan tzadikim, with the site, the city, the Hebrew date and how reliably each date holds. A date with runsReliably false has not been held every year; say that when you quote it.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 60,
"description": "Default 12."
}
},
"additionalProperties": false
}🟢search_attractions(q, category, limit)
Search the catalog of day trips and attractions. Returns Hebrew editorial copy and our own page URL. There is no booking link and no price in the result by design: the person books from our page. Do not go looking for the operator.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text, Hebrew or English. All terms must match."
},
"category": {
"type": "string",
"description": "Narrow to one category. An unfiltered call lists the valid ids."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 60,
"description": "Default 20."
}
},
"additionalProperties": false
}🟢get_city_guides
The index of published city guides, each with a page URL and a markdown URL. Fetch the markdown URL for the full text of one city instead of scraping the page.
Input Schema
{
"type": "object",
"additionalProperties": false
}🟢get_plan_options
The exact ids plan_trip accepts for cities, who, style, vibes, pace, kosher and shabbatCity. Call this before plan_trip rather than guessing an id.
Input Schema
{
"type": "object",
"additionalProperties": false
}🟢plan_trip(cities, who, duration, style, vibes, ...)
A free, anonymous, day-by-day itinerary. Every city you list appears in the route, and the number of days you ask for is honoured exactly or the answer explains what would fit. Use get_plan_options first for valid ids. The route is not saved; send the person to the questionnaire URL to keep or adjust it.
Input Schema
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
},
"description": "City ids from get_plan_options."
},
"who": {
"type": "string"
},
"duration": {
"type": [
"integer",
"null"
],
"description": "Whole days including the flight days, or null."
},
"style": {
"type": "string"
},
"vibes": {
"type": "array",
"items": {
"type": "string"
}
},
"pace": {
"type": "string",
"description": "relaxed, balanced or packed."
},
"kosher": {
"type": "string",
"description": "none, partial or keep."
},
"arrivalDate": {
"type": "string",
"description": "YYYY-MM-DD."
},
"month": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"shabbatCity": {
"type": "string",
"description": "Only when kosher is partial or keep."
}
},
"required": [
"cities",
"who",
"style",
"vibes",
"pace",
"kosher"
],
"additionalProperties": false
}