Jewish Ground-Truth Intelligence (J-GTI) API by TATEH
What this MCP does
Finds and verifies kosher or Jewish places and services, recommends dishes from published menus, searches community events, and provides Jewish calendar times.
Tools
Input schema
{'type': 'object', 'required': ['service'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 5, 'minimum': 1}, 'service': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'Trade or need, e.g. plumber, dentist, electrician.'}, 'location': {'type': 'string', 'maxLength': 120}, 'open_now': {'type': 'boolean'}, 'radius_m': {'type': 'integer', 'maximum': 30000, 'minimum': 200, 'description': "Metres. Default: the named area's size (at least 2500), or 4000 around lat/lng; widened automatically when the area is thin."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['data', 'status', 'freshness', 'sources'], 'properties': {'data': {'type': 'object', 'required': ['providers', 'sponsored', 'ranking', 'more_nearby'], 'properties': {'ranking': {'type': 'object'}, 'coverage': {'type': 'object'}, 'providers': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 5}, 'sponsored': {'type': 'array', 'maxItems': 0, 'description': 'Always separate from organic results. Empty in Beta.'}, 'understood': {'type': 'object'}, 'more_nearby': {'type': 'integer'}}}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'status': {'enum': ['ok', 'verified', 'conflicted', 'stale', 'unknown', 'not_found', 'ambiguous', 'no_data', 'partial', 'temporarily_unavailable'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'kind', 'url', 'observed_at'], 'properties': {'url': {'type': ['string', 'null']}, 'kind': {'enum': ['certifying_agency', 'business_website', 'government_register', 'open_map_data', 'base_map', 'listing_site', 'tateh', 'computation'], 'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'observed_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'freshness': {'type': 'object', 'required': ['as_of', 'oldest_fact_at', 'fresh_until', 'state', 'tier'], 'properties': {'tier': {'enum': ['cache', 'db', 'live', 'computed'], 'type': 'string'}, 'as_of': {'type': 'string'}, 'state': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'fresh_until': {'type': ['string', 'null']}, 'oldest_fact_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}}
Input schema
{'type': 'object', 'properties': {'tz': {'type': 'string', 'maxLength': 60, 'description': 'IANA time zone; needed with lat/lng outside NYC (e.g. Asia/Jerusalem).'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'date': {'type': 'string', 'pattern': '^[0-9]{4}-[0-9]{2}-[0-9]{2}$', 'description': 'YYYY-MM-DD. Default: today at the place.'}, 'days': {'type': 'integer', 'default': 8, 'maximum': 60, 'minimum': 1, 'description': 'How many days of holidays, candle lighting and parsha to list from date.'}, 'israel': {'type': 'boolean', 'description': 'Israel holiday and parsha schedule. Default: true for places in Israel.'}, 'location': {'type': 'string', 'maxLength': 120, 'description': 'NYC neighbourhood or ZIP (Boro Park, Crown Heights, 11219), or a city (Jerusalem, London, Los Angeles).'}, 'candle_minutes': {'type': 'integer', 'maximum': 60, 'minimum': 0, 'description': 'Minutes before sunset for candle lighting. Default 18 (40 in Jerusalem).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['data', 'status', 'freshness', 'sources'], 'properties': {'data': {'type': 'object', 'required': ['location', 'date', 'hebrew_date', 'zmanim', 'shabbat_or_yom_tov', 'events'], 'properties': {'date': {'type': 'string'}, 'custom': {'type': 'object'}, 'events': {'type': 'array', 'items': {'type': 'object'}}, 'zmanim': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label', 'time', 'opinion']}}, 'daf_yomi': {'type': ['string', 'null']}, 'location': {'type': 'object'}, 'hebrew_date': {'type': 'object'}, 'shabbat_or_yom_tov': {'type': 'object'}}}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'status': {'enum': ['ok', 'verified', 'conflicted', 'stale', 'unknown', 'not_found', 'ambiguous', 'no_data', 'partial', 'temporarily_unavailable'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'kind', 'url', 'observed_at'], 'properties': {'url': {'type': ['string', 'null']}, 'kind': {'enum': ['certifying_agency', 'business_website', 'government_register', 'open_map_data', 'base_map', 'listing_site', 'tateh', 'computation'], 'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'observed_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'freshness': {'type': 'object', 'required': ['as_of', 'oldest_fact_at', 'fresh_until', 'state', 'tier'], 'properties': {'tier': {'enum': ['cache', 'db', 'live', 'computed'], 'type': 'string'}, 'as_of': {'type': 'string'}, 'state': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'fresh_until': {'type': ['string', 'null']}, 'oldest_fact_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}}
Input schema
{'type': 'object', 'anyOf': [{'required': ['query']}, {'required': ['place_id']}, {'required': ['name']}], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'live': {'enum': ['auto', 'never'], 'type': 'string', 'default': 'auto', 'description': "auto = if the named place has no menu on file, read it from the business's own website now (a live call, metered separately)."}, 'name': {'type': 'string', 'maxLength': 120}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 300, 'description': 'What the user wants, in their words.'}, 'exclude': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40}, 'maxItems': 10}, 'include': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40}, 'maxItems': 10}, 'location': {'type': 'string', 'maxLength': 120}, 'place_id': {'type': 'string', 'pattern': '^[A-Za-z0-9:_.-]{3,80}$', 'maxLength': 80}, 'radius_m': {'type': 'integer', 'maximum': 30000, 'minimum': 100, 'description': "Metres. Default 5000 or the named area's size."}, 'max_price': {'type': 'number', 'maximum': 10000, 'minimum': 0}, 'party_size': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'food_status': {'enum': ['meat', 'dairy', 'pareve', 'fish'], 'type': 'string'}, 'kosher_only': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['data', 'status', 'freshness', 'sources'], 'properties': {'data': {'type': 'object', 'required': ['dishes', 'places_considered'], 'properties': {'dishes': {'type': 'array', 'items': {'type': 'object'}}, 'coverage': {'type': 'object'}, 'understood': {'type': 'object'}, 'places_considered': {'type': 'integer'}}}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'status': {'enum': ['ok', 'verified', 'conflicted', 'stale', 'unknown', 'not_found', 'ambiguous', 'no_data', 'partial', 'temporarily_unavailable'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'kind', 'url', 'observed_at'], 'properties': {'url': {'type': ['string', 'null']}, 'kind': {'enum': ['certifying_agency', 'business_website', 'government_register', 'open_map_data', 'base_map', 'listing_site', 'tateh', 'computation'], 'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'observed_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'freshness': {'type': 'object', 'required': ['as_of', 'oldest_fact_at', 'fresh_until', 'state', 'tier'], 'properties': {'tier': {'enum': ['cache', 'db', 'live', 'computed'], 'type': 'string'}, 'as_of': {'type': 'string'}, 'state': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'fresh_until': {'type': ['string', 'null']}, 'oldest_fact_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}}
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200}, 'to': {'type': 'string', 'format': 'date-time', 'description': 'Default: 30 days after from.'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'from': {'type': 'string', 'format': 'date-time', 'description': 'Default: now.'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'category': {'type': 'string', 'maxLength': 60}, 'location': {'type': 'string', 'maxLength': 120}, 'radius_m': {'type': 'integer', 'maximum': 80000, 'minimum': 100, 'description': "Metres. Default: the named area's size (at least 8 km), or 15000 around lat/lng."}, 'free_only': {'type': 'boolean'}, 'max_price': {'type': 'number', 'maximum': 100000, 'minimum': 0}, 'include_stale': {'type': 'boolean', 'default': False, 'description': 'Also return listings not re-confirmed within 72 hours, labelled listing_state=stale.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['data', 'status', 'freshness', 'sources'], 'properties': {'data': {'type': 'object', 'required': ['events', 'count'], 'properties': {'count': {'type': 'integer'}, 'events': {'type': 'array', 'items': {'type': 'object'}}, 'coverage': {'type': 'object'}}}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'status': {'enum': ['ok', 'verified', 'conflicted', 'stale', 'unknown', 'not_found', 'ambiguous', 'no_data', 'partial', 'temporarily_unavailable'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'kind', 'url', 'observed_at'], 'properties': {'url': {'type': ['string', 'null']}, 'kind': {'enum': ['certifying_agency', 'business_website', 'government_register', 'open_map_data', 'base_map', 'listing_site', 'tateh', 'computation'], 'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'observed_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'freshness': {'type': 'object', 'required': ['as_of', 'oldest_fact_at', 'fresh_until', 'state', 'tier'], 'properties': {'tier': {'enum': ['cache', 'db', 'live', 'computed'], 'type': 'string'}, 'as_of': {'type': 'string'}, 'state': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'fresh_until': {'type': ['string', 'null']}, 'oldest_fact_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}}
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'description': 'Free text: name, cuisine or kind of place (e.g. sushi, bakery, pizza, shul). Hebrew accepted.'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'category': {'type': 'string', 'maxLength': 60, 'description': 'TATEH category or world (configurable taxonomy), e.g. restaurant, bakery, synagogue, kosher.'}, 'location': {'type': 'string', 'maxLength': 120, 'description': 'Neighbourhood, borough, city or ZIP (e.g. Brooklyn, Boro Park, 11213).'}, 'open_now': {'type': 'boolean'}, 'radius_m': {'type': 'integer', 'maximum': 50000, 'minimum': 50, 'description': "Metres. Default: the named area's own size, or 3000 around lat/lng."}, 'hashgacha': {'type': 'string', 'maxLength': 40, 'description': 'Comma-separated agency codes: OU,OK,CRC,CHK.'}, 'standards': {'type': 'string', 'maxLength': 120, 'description': 'Comma-separated: cholov_yisroel,pas_yisroel,yoshon,glatt,bishul_yisroel,chassidishe_shechita.'}, 'food_status': {'enum': ['meat', 'dairy', 'pareve', 'fish'], 'type': 'string'}, 'kosher_only': {'type': 'boolean', 'default': False, 'description': 'Only places a readable certifying agency currently lists.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['data', 'status', 'freshness', 'sources'], 'properties': {'data': {'type': 'object', 'required': ['results', 'count', 'query'], 'properties': {'count': {'type': 'integer'}, 'query': {'type': 'object'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['place_id', 'name', 'category', 'address', 'location', 'distance_m', 'kosher', 'open_now'], 'properties': {'why': {'type': 'object', 'required': ['rank', 'score', 'method', 'factors', 'shown_not_scored'], 'properties': {'rank': {'type': 'integer', 'minimum': 1}, 'score': {'type': ['number', 'null'], 'description': 'null when the order is not a score (events: soonest first).'}, 'method': {'type': 'string'}, 'factors': {'type': 'array', 'items': {'type': 'object', 'required': ['factor', 'points', 'detail'], 'properties': {'detail': {'type': 'string'}, 'factor': {'type': 'string'}, 'points': {'type': 'number'}, 'evidence': {'type': 'object', 'properties': {'url': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'observed_at': {'type': ['string', 'null']}}}}}}, 'shown_not_scored': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Why this line holds its place: every factor with the points it added and its evidence, and what was shown but not scored. Every ranked answer carries one (docs/ranking.md).'}, 'name': {'type': 'string'}, 'phone': {'type': ['string', 'null']}, 'world': {'type': ['string', 'null']}, 'kosher': {'type': 'object', 'required': ['status', 'certified_by', 'last_confirmed_at'], 'properties': {'status': {'enum': ['listed_by_agency', 'listing_stale', 'no_readable_agency_lists_it', 'no_longer_listed_by_agency', 'conflicted'], 'type': 'string'}, 'standards': {'type': 'array', 'items': {'type': 'string'}}, 'food_status': {'type': ['string', 'null']}, 'certified_by': {'type': 'array', 'items': {'type': 'string'}}, 'last_confirmed_at': {'type': ['string', 'null']}}}, 'address': {'type': ['string', 'null']}, 'website': {'type': ['string', 'null']}, 'category': {'type': ['string', 'null']}, 'location': {'oneOf': [{'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}}}, {'type': 'null'}]}, 'open_now': {'type': ['boolean', 'null'], 'description': 'null = hours unknown or sources disagree.'}, 'place_id': {'type': 'string'}, 'relevance': {'type': 'number'}, 'distance_m': {'type': ['integer', 'null']}}}}, 'coverage': {'type': 'object'}}}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'status': {'enum': ['ok', 'verified', 'conflicted', 'stale', 'unknown', 'not_found', 'ambiguous', 'no_data', 'partial', 'temporarily_unavailable'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'kind', 'url', 'observed_at'], 'properties': {'url': {'type': ['string', 'null']}, 'kind': {'enum': ['certifying_agency', 'business_website', 'government_register', 'open_map_data', 'base_map', 'listing_site', 'tateh', 'computation'], 'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'observed_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'freshness': {'type': 'object', 'required': ['as_of', 'oldest_fact_at', 'fresh_until', 'state', 'tier'], 'properties': {'tier': {'enum': ['cache', 'db', 'live', 'computed'], 'type': 'string'}, 'as_of': {'type': 'string'}, 'state': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'fresh_until': {'type': ['string', 'null']}, 'oldest_fact_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}}
Input schema
{'type': 'object', 'anyOf': [{'required': ['place_id']}, {'required': ['name']}, {'required': ['url']}, {'required': ['lat', 'lng']}], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'url': {'type': 'string', 'maxLength': 300}, 'city': {'type': 'string', 'maxLength': 80}, 'live': {'enum': ['auto', 'always', 'never'], 'type': 'string', 'default': 'auto', 'description': 'always = re-read the agency list now (a live verification, metered separately).'}, 'name': {'type': 'string', 'maxLength': 120, 'minLength': 2}, 'address': {'type': 'string', 'maxLength': 200}, 'place_id': {'type': 'string', 'pattern': '^[A-Za-z0-9:_.-]{3,80}$', 'maxLength': 80}, 'postcode': {'type': 'string', 'maxLength': 12}}, 'description': 'Identify the place with place_id, OR name (+ address / city / postcode), OR url, OR lat+lng (+ name).', 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['data', 'status', 'freshness', 'sources'], 'properties': {'data': {'type': 'object', 'required': ['subject', 'answer', 'certifications', 'food_status', 'attributes', 'conflicts', 'missing', 'checked', 'coverage', 'candidates'], 'properties': {'answer': {'type': 'object', 'required': ['sufficient_evidence_now', 'certified_by', 'summary'], 'properties': {'summary': {'type': 'string'}, 'certified_by': {'type': 'array', 'items': {'type': 'string'}}, 'sufficient_evidence_now': {'type': 'boolean'}}}, 'checked': {'type': 'object'}, 'missing': {'type': 'array', 'items': {'type': 'string'}}, 'subject': {'type': ['object', 'null']}, 'branches': {'type': 'array', 'description': 'When status is ambiguous: each matching place with its own certification evidence.'}, 'coverage': {'type': 'object'}, 'conflicts': {'type': 'array'}, 'attributes': {'type': 'object'}, 'candidates': {'type': 'array'}, 'food_status': {'type': 'object'}, 'certifications': {'type': 'array', 'items': {'type': 'object'}}}}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'status': {'enum': ['ok', 'verified', 'conflicted', 'stale', 'unknown', 'not_found', 'ambiguous', 'no_data', 'partial', 'temporarily_unavailable'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'kind', 'url', 'observed_at'], 'properties': {'url': {'type': ['string', 'null']}, 'kind': {'enum': ['certifying_agency', 'business_website', 'government_register', 'open_map_data', 'base_map', 'listing_site', 'tateh', 'computation'], 'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'observed_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'freshness': {'type': 'object', 'required': ['as_of', 'oldest_fact_at', 'fresh_until', 'state', 'tier'], 'properties': {'tier': {'enum': ['cache', 'db', 'live', 'computed'], 'type': 'string'}, 'as_of': {'type': 'string'}, 'state': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'fresh_until': {'type': ['string', 'null']}, 'oldest_fact_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}}
Recent tool changes
Similar MCP servers
SeaWeb
Searches and extracts web information about entities and travel locations, including restaurants, salons, tourist conditions, dis…
Geonames
Looks up geographic places, nearby features, postal codes, and timezone information from the GeoNames database.
Arcgis Kinston
Provides access to Kinston, North Carolina ArcGIS open geospatial layers, including schemas and SQL-like feature queries, alongsi…
Arcgis Kingston
Provides access to Kingston, Ontario ArcGIS open geospatial layers, including schemas and SQL-like feature queries, alongside Pip…
Arcgis Lubbock
Provides access to Lubbock, Texas ArcGIS open geospatial layers, including schemas and SQL-like feature queries, alongside Pipewo…
Arcgis Marioncountyor
Provides access to Marion County, Oregon ArcGIS open geospatial layers, including schemas and SQL-like feature queries, alongside…
Arcgis Monocounty
Provides access to Mono County and Mammoth Lakes, California ArcGIS open geospatial layers, including schemas and SQL-like featur…
Arcgis Mckinney
Provides access to McKinney, Texas ArcGIS open geospatial layers, including schemas and SQL-like feature queries, alongside Pipew…