Find US allergists offering ILIT by zip or city, read listings and FAQs, send consultation requests.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Plain answers from the Society’s question pages: what ILIT is, how it works, evidence and approval, cost and insurance, finding a practitioner, consultations and appointments, listing criteria. Give a question or keywords; without a query, returns the topics.
Default 5.
A question or keywords.
Restrict to a topic name.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http ilit-society https://ilitsociety.org/mcp
Plain answers from the Society’s question pages: what ILIT is, how it works, evidence and approval, cost and insurance, finding a practitioner, consultations and appointments, listing criteria. Give a question or keywords; without a query, returns the topics.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 5. |
| query | string | A question or keywords. |
| topic | string | Restrict to a topic name. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 20,
"description": "Default 5."
},
"query": {
"type": "string",
"description": "A question or keywords."
},
"topic": {
"type": "string",
"description": "Restrict to a topic name."
}
}
}For an allergist or immunologist offering ILIT: submit a listing application. The Society checks board certification against the ABAI register and creates the listing by hand; nothing is published automatically. Requires confirm_accurate=true and confirm_terms=true.
| Argument | Type | Description |
|---|---|---|
| bio | string | Short bio, up to 1200 characters. |
| phone* | string | Practice phone. |
| access | string | |
| offices* | array | One or more offices. |
| parking | string | |
| interval | string | e.g. "4 weeks". |
| allergens | array | Allergen names or slugs from list_allergens. |
| languages | string | |
| agent_name | string | Optional: the assistant sending this. |
| injections | string | e.g. "3". |
| credentials* | string | |
| minimum_age | integer | |
| website_url | string | Practice website. |
| confirm_terms |
Search the directory of allergists offering ILIT. Give a zip code, a city, "City, ST", a state name or code, or coordinates. Results come nearest first with the distance in miles; a 50-mile radius splits "within" from "further", but people travel far for ILIT, so always show the closest ones even when none is within the radius. Optional filters: allergen, accepting new patients, treats children, video first consult.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many to return (default 10, max 50). |
| query | string | Zip code, city, "City, ST", or a US state (name or two-letter code). Leave empty to list everything. |
| allergen | string | An allergen name or slug (grass pollen, tree pollen, ragweed, dust mite, cat, dog, mold, …). |
| latitude | number | With longitude: search around coordinates instead of a query. |
| longitude | number | |
| radius_miles | number | Default 50. |
| treats_children | boolean | Only listings that treat children. |
| video_first_consult |
A Journal article’s full text, by slug, id, URL or title.
| Argument | Type | Description |
|---|---|---|
| id | integer | Post id. |
| url | string | Article URL. |
| slug | string | URL slug. |
| title | string | Title (best match). |
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Post id."
},
"url": {
"type": "string",
"description": "Article URL."
},
"slug": {
"type": "string",
"description": "URL slug."
},
"title": {
"type": "string",
"description": "Title (best match)."
}
}
}What the Society is, counts (offices, practitioners, states, allergens, articles), how finding and requests work, what the site does not do, and how to get in touch.
No arguments.
{
"type": "object",
"properties": {}
}One listing in full: practitioner and certification, address, phone, website, hours, allergens, availability, protocol, cost, other offices of the same clinic, and which requests the listing accepts. Identify it by id, slug, URL, or the clinic or practitioner name.
| Argument | Type | Description |
|---|---|---|
| id | integer | Listing id. |
| url | string | The listing URL. |
| name | string | Clinic or practitioner name (best match). |
| slug | string | URL slug, e.g. premier-allergy-asthma-dublin. |
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Listing id."
},
"url": {
"type": "string",
"description": "The listing URL."
},
"name": {
"type": "string",
"description": "Clinic or practitioner name (best match)."
},
"slug": {
"type": "string",
"description": "URL slug, e.g. premier-allergy-asthma-dublin."
}
}
}How to reach the Society (email), how a practice gets listed, and how a person reaches a practice (requests through the site, or the listing’s phone and website).
No arguments.
{
"type": "object",
"properties": {}
}The allergens the directory tracks, with how many offices treat each with ILIT.
No arguments.
{
"type": "object",
"properties": {}
}Every clinic in the directory with its practitioner and offices (id, city, state, phone, URL). Optional state filter.
| Argument | Type | Description |
|---|---|---|
| state | string | Two-letter state code or state name. |
{
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "Two-letter state code or state name."
}
}
}For a person who has decided to start ILIT: send an appointment request to a listing that accepts them. The practice contacts the person within two business days to confirm dates; nothing is booked by the site. Requires name, phone, email and consent=true.
| Argument | Type | Description |
|---|---|---|
| name* | string | The person’s full name. |
| email* | string | The person’s email; they get a confirmation and the practice can reply to it. |
| phone* | string | The person’s phone number; practices usually call. |
| start | string | asap, months3 (within three months) or season (before the next pollen season). |
| consent* | boolean | Must be true: the person agreed that their request is sent to the practice, that the practice contacts them to confirm, that nothing is booked by the site and that the Society keeps no medical information. |
| message | string | Optional note to the practice (allergens, past treatment, questions). Up to 2000 characters. |
| agent_name | string | Optional: the assistant or product sending this, recorded with the request. |
| listing_id |
Send a consultation request (a first conversation, at the practice or over Zoom) to a listing that offers consultations. The practice contacts the person within two business days to confirm a time; nothing is booked by the site. Requires the person’s name, phone, email and consent=true.
| Argument | Type | Description |
|---|---|---|
| how | string | practice or zoom; must be one the listing offers (see requests.consultation_types). |
| name* | string | The person’s full name. |
| email* | string | The person’s email; they get a confirmation and the practice can reply to it. |
| phone* | string | The person’s phone number; practices usually call. |
| consent* | boolean | Must be true: the person agreed that their request is sent to the practice, that the practice contacts them to confirm, that nothing is booked by the site and that the Society keeps no medical information. |
| message | string | Optional note to the practice (allergens, past treatment, questions). Up to 2000 characters. |
| agent_name | string | Optional: the assistant or product sending this, recorded with the request. |
Search the Journal (articles for patients and practitioners) by keywords or topic; returns title, date, summary, key points and URL.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 5. |
| query | string | Keywords. |
| topic | string | For patients, Evidence, Cost, For practitioners, Society news. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 20,
"description": "Default 5."
},
"query": {
"type": "string",
"description": "Keywords."
},
"topic": {
"type": "string",
"description": "For patients, Evidence, Cost, For practitioners, Society news."
}
}
}The limits: no booking, no medical advice, no medical records, no ranking, no prices of its own, and that ILIT is off-label in the US.
No arguments.
{
"type": "object",
"properties": {}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.
| boolean |
| Must be true: the applicant agrees to the listing criteria. |
| contact_email* | string | Where the Society replies (not shown on the site). |
| cost_includes | string |
| practice_name* | string | Clinic name. |
| injection_site | string |
| insurance_note | string |
| waitlist_weeks | integer |
| allergen_detail | string | Extracts per allergen, one per line. |
| ilit_since_year | integer |
| selfpay_low_usd | integer |
| treats_children | boolean |
| confirm_accurate* | boolean | Must be true: the details are accurate and the applicant is a board-certified allergist or immunologist offering ILIT. |
| selfpay_high_usd | integer |
| ultrasound_guided | boolean |
| appointment_minutes | integer |
| observation_minutes | integer |
| video_first_consult | boolean |
| board_certified_abai | boolean | Board certified by the American Board of Allergy and Immunology. |
| other_certifications | string |
| accepting_new_patients* | string |
| practitioner_last_name* | string |
| practitioner_first_name* | string |
| required_before_starting | string |
{
"type": "object",
"required": [
"practice_name",
"phone",
"contact_email",
"practitioner_first_name",
"practitioner_last_name",
"credentials",
"accepting_new_patients",
"offices",
"confirm_accurate",
"confirm_terms"
],
"properties": {
"bio": {
"type": "string",
"description": "Short bio, up to 1200 characters."
},
"phone": {
"type": "string",
"description": "Practice phone."
},
"access": {
"type": "string",
"description": ""
},
"offices": {
"type": "array",
"items": {
"type": "object",
"required": [
"address_line1",
"city",
"state",
"zip"
],
"properties": {
"zip": {
"type": "string",
"description": ""
},
"city": {
"type": "string",
"description": ""
},
"hours": {
"type": "string",
"description": ""
},
"phone": {
"type": "string",
"description": ""
},
"state": {
"type": "string",
"description": "Two-letter code."
},
"address_line1": {
"type": "string",
"description": ""
},
"address_line2": {
"type": "string",
"description": ""
}
}
},
"maxItems": 10,
"minItems": 1,
"description": "One or more offices."
},
"parking": {
"type": "string",
"description": ""
},
"interval": {
"type": "string",
"description": "e.g. \"4 weeks\"."
},
"allergens": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allergen names or slugs from list_allergens."
},
"languages": {
"type": "string",
"description": ""
},
"agent_name": {
"type": "string",
"description": "Optional: the assistant sending this."
},
"injections": {
"type": "string",
"description": "e.g. \"3\"."
},
"credentials": {
"enum": [
"MD",
"DO",
"MD PhD",
"DO PhD",
"NP",
"PA-C",
"MBBS"
],
"type": "string",
"description": ""
},
"minimum_age": {
"type": "integer",
"description": ""
},
"website_url": {
"type": "string",
"description": "Practice website."
},
"confirm_terms": {
"type": "boolean",
"description": "Must be true: the applicant agrees to the listing criteria."
},
"contact_email": {
"type": "string",
"format": "email",
"description": "Where the Society replies (not shown on the site)."
},
"cost_includes": {
"type": "string",
"description": ""
},
"practice_name": {
"type": "string",
"description": "Clinic name."
},
"injection_site": {
"type": "string",
"description": ""
},
"insurance_note": {
"type": "string",
"description": ""
},
"waitlist_weeks": {
"type": "integer",
"description": ""
},
"allergen_detail": {
"type": "string",
"description": "Extracts per allergen, one per line."
},
"ilit_since_year": {
"type": "integer",
"description": ""
},
"selfpay_low_usd": {
"type": "integer",
"description": ""
},
"treats_children": {
"type": "boolean",
"description": ""
},
"confirm_accurate": {
"type": "boolean",
"description": "Must be true: the details are accurate and the applicant is a board-certified allergist or immunologist offering ILIT."
},
"selfpay_high_usd": {
"type": "integer",
"description": ""
},
"ultrasound_guided": {
"type": "boolean",
"description": ""
},
"appointment_minutes": {
"type": "integer",
"description": ""
},
"observation_minutes": {
"type": "integer",
"description": ""
},
"video_first_consult": {
"type": "boolean",
"description": ""
},
"board_certified_abai": {
"type": "boolean",
"description": "Board certified by the American Board of Allergy and Immunology."
},
"other_certifications": {
"type": "string",
"description": ""
},
"accepting_new_patients": {
"enum": [
"Accepting",
"Waitlist",
"Not accepting"
],
"type": "string",
"description": ""
},
"practitioner_last_name": {
"type": "string",
"description": ""
},
"practitioner_first_name": {
"type": "string",
"description": ""
},
"required_before_starting": {
"type": "string",
"description": ""
}
}
}| boolean |
| Only listings offering a video first consult. |
| accepting_new_patients | boolean | Only listings currently accepting new patients. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "How many to return (default 10, max 50)."
},
"query": {
"type": "string",
"description": "Zip code, city, \"City, ST\", or a US state (name or two-letter code). Leave empty to list everything."
},
"allergen": {
"type": "string",
"description": "An allergen name or slug (grass pollen, tree pollen, ragweed, dust mite, cat, dog, mold, …)."
},
"latitude": {
"type": "number",
"description": "With longitude: search around coordinates instead of a query."
},
"longitude": {
"type": "number"
},
"radius_miles": {
"type": "number",
"default": 50,
"description": "Default 50."
},
"treats_children": {
"type": "boolean",
"description": "Only listings that treat children."
},
"video_first_consult": {
"type": "boolean",
"description": "Only listings offering a video first consult."
},
"accepting_new_patients": {
"type": "boolean",
"description": "Only listings currently accepting new patients."
}
}
}| integer |
| The listing id (from find_practitioners or get_practitioner). |
| preferred_days | array | Preferred weekdays, if any. |
| had_consultation | string | here (with this practice), elsewhere, or none. |
{
"type": "object",
"required": [
"listing_id",
"name",
"email",
"phone",
"consent"
],
"properties": {
"name": {
"type": "string",
"description": "The person’s full name."
},
"email": {
"type": "string",
"format": "email",
"description": "The person’s email; they get a confirmation and the practice can reply to it."
},
"phone": {
"type": "string",
"description": "The person’s phone number; practices usually call."
},
"start": {
"enum": [
"asap",
"months3",
"season"
],
"type": "string",
"description": "asap, months3 (within three months) or season (before the next pollen season)."
},
"consent": {
"type": "boolean",
"description": "Must be true: the person agreed that their request is sent to the practice, that the practice contacts them to confirm, that nothing is booked by the site and that the Society keeps no medical information."
},
"message": {
"type": "string",
"description": "Optional note to the practice (allergens, past treatment, questions). Up to 2000 characters."
},
"agent_name": {
"type": "string",
"description": "Optional: the assistant or product sending this, recorded with the request."
},
"listing_id": {
"type": "integer",
"description": "The listing id (from find_practitioners or get_practitioner)."
},
"preferred_days": {
"type": "array",
"items": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri"
],
"type": "string"
},
"description": "Preferred weekdays, if any."
},
"had_consultation": {
"enum": [
"here",
"elsewhere",
"none"
],
"type": "string",
"description": "here (with this practice), elsewhere, or none."
}
}
}| listing_id* |
| integer |
| The listing id (from find_practitioners or get_practitioner). |
| time_of_day | string | morning, afternoon or either. |
| preferred_days | array | Preferred weekdays, if any. |
{
"type": "object",
"required": [
"listing_id",
"name",
"email",
"phone",
"consent"
],
"properties": {
"how": {
"enum": [
"practice",
"zoom"
],
"type": "string",
"description": "practice or zoom; must be one the listing offers (see requests.consultation_types)."
},
"name": {
"type": "string",
"description": "The person’s full name."
},
"email": {
"type": "string",
"format": "email",
"description": "The person’s email; they get a confirmation and the practice can reply to it."
},
"phone": {
"type": "string",
"description": "The person’s phone number; practices usually call."
},
"consent": {
"type": "boolean",
"description": "Must be true: the person agreed that their request is sent to the practice, that the practice contacts them to confirm, that nothing is booked by the site and that the Society keeps no medical information."
},
"message": {
"type": "string",
"description": "Optional note to the practice (allergens, past treatment, questions). Up to 2000 characters."
},
"agent_name": {
"type": "string",
"description": "Optional: the assistant or product sending this, recorded with the request."
},
"listing_id": {
"type": "integer",
"description": "The listing id (from find_practitioners or get_practitioner)."
},
"time_of_day": {
"enum": [
"morning",
"afternoon",
"either"
],
"type": "string",
"description": "morning, afternoon or either."
},
"preferred_days": {
"type": "array",
"items": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri"
],
"type": "string"
},
"description": "Preferred weekdays, if any."
}
}
}