Skip to main content
Glama

Withdrawal.help: detox and treatment finder

Server Details

US detox, residential, methadone and buprenorphine programs by ZIP, state or city (SAMHSA data).

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 3 tools

Disambiguation5/5

The three tools operate at clearly different granularities: find_programs returns a list of matching facilities, get_program returns full detail for a single facility by id, and state_overview returns aggregate counts and list-page links for a state. The descriptions make the search-vs-detail-vs-aggregate split explicit, and the id handoff from find_programs to get_program reinforces it.

Naming Consistency4/5

Two tools follow a clean verb_noun pattern (find_programs, get_program) and both use the same 'program' noun for the same resource. state_overview breaks the pattern with a noun_noun form and a different scope noun, a minor but noticeable deviation.

Tool Count4/5

For a read-only directory covering search, detail lookup, and state-level summary, three tools is lean but each has a distinct job. It sits at the low edge of the comfortable range, and an agent wanting to look up a specific facility by name has no dedicated entry point.

Completeness4/5

The core directory lifecycle is covered: discovery by ZIP/state/city with filters, per-facility detail including phones, payments, and medications, and state-level aggregate/Medicaid-coverage rollups. Gaps are minor — no name-based search, no cross-state or multi-program comparison, and no way to enumerate filter vocabularies — but agents can work around these.

Available Tools

3 tools
find_programsFind detox and addiction treatment programsA
Read-onlyIdempotent
Inspect

Programs listed in SAMHSA FindTreatment.gov and its opioid treatment program directory, near a ZIP code (closest first, straight-line miles) or in a state or city, for one level of care: detox, residential, outpatient, methadone clinics or buprenorphine. Each result: name, address, phone, detox setting and substances, other care settings, payment accepted, an id for get_program and its withdrawal.help page. Filters for detox substance and payment.

NameRequiredDescriptionDefault
zipNoFive-digit US ZIP code, e.g. 85004. Give this, or state.
cityNoCity within state, e.g. "Columbus". Needs state.
levelNoLevel of care: detox (medically supervised withdrawal), residential, outpatient, methadone (federally certified opioid treatment programs) or buprenorphine (programs that prescribe it). Default detox.detox
limitNoResults per page (1 to 10); page further with offset.
stateNoTwo-letter state code, e.g. OH, when searching a state or city instead of a ZIP.
offsetNoResults to skip, for paging.
paymentNoOnly programs that report accepting this payment. "medicaid" means some Medicaid plans; ask about a specific plan by name.any
detox_forNoWith level detox only: programs that list detox for this substance.any

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds useful context about data source, closest-first straight-line ordering, and returned fields, though it does not discuss rate limits or authentication.

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

Conciseness4/5

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

The description is front-loaded and dense: first sentence defines scope and search modes, second lists result fields and filters. It is longer than minimal but every part contributes useful selection and result context.

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 read-only search tool with no output schema, the description gives enough: source directory, location modes, level-of-care scope, result contents, and filters. An agent can call it correctly without needing additional return-value 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?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by clarifying ZIP/state/city search modes, one-level-of-care scope, closest-first straight-line distance, and detox/payment filtering. Some parameter detail still overlaps with the schema.

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?

States a specific verb and resource: find treatment programs in the SAMHSA FindTreatment.gov directory. It clearly specifies search modes (ZIP, state, city) and one level of care, making it distinct from a generic search tool.

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?

Explains the main usage context: search near a ZIP or in a state/city for one level of care, with detox substance and payment filters. It references get_program via result IDs but does not explicitly name state_overview or explain when to choose this over that sibling.

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

get_programDetails for one treatment programA
Read-onlyIdempotent
Inspect

Everything withdrawal.help lists for one program, by the id find_programs returns: name, address, main, intake and hotline phones, website, levels of care, detox setting, substances and detox medications, other care settings, opioid and alcohol use disorder medications, payment and help with cost, ages, sexes, languages, special groups, licenses and accreditation as reported, with its page and a correction link.

NameRequiredDescriptionDefault
idYesProgram id from find_programs: its page slug, e.g. "1-method-los-angeles-ca".

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds real context beyond that: fields are 'as reported' (provenance caveat) and the response includes the program page and a correction link, which tells the agent how to act on stale data. It omits error behavior for an unknown id.

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 with no preamble; the field enumeration replaces wording that would otherwise be padding. Because there is no output schema, the field list earns its length.

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?

With no output schema, the description usefully inventories what comes back (contact details, care levels, medications, cost help, licensing) plus the page and correction link. Missing only error handling for an invalid or stale id, a minor gap for a one-param read 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 id property already documents the slug pattern with an example, so the schema does the heavy lifting. The description adds only the provenance of the id ('the id find_programs returns'), which is marginal but not zero.

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?

Names a specific verb and resource (everything listed for one program) and enumerates the returned field groups: phones, levels of care, medications, payment, licenses. It separates itself clearly from find_programs (search) and state_overview (aggregate) by anchoring the lookup on an id that find_programs returns.

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 ties usage to the sibling workflow explicitly: call this with the id find_programs returns. That gives clear context for when to reach for it, but it states no exclusions or failure conditions, such as what to do with an id that no longer exists.

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

state_overviewTreatment programs in a state, by level of careA
Read-onlyIdempotent
Inspect

For one US state or territory: how many SAMHSA-listed programs withdrawal.help lists at each level of care (detox, residential, outpatient, methadone clinics, buprenorphine), how many of each report taking Medicaid, Medicare, or a sliding fee scale or no charge, and the withdrawal.help list pages for the state, its filters and its largest cities.

NameRequiredDescriptionDefault
stateYesTwo-letter state or territory code, e.g. FL.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive behavior in a closed-world dataset, so the safety profile is covered. The description earns credit by disclosing the actual content envelope: per-level-of-care counts, Medicaid/Medicare/sliding-scale/no-charge breakdowns, and accompanying list-page URLs. It omits data freshness and whether counts are deduplicated, which keeps it from a 5.

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

Conciseness4/5

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

A single front-loaded sentence that opens with the scope (one state/territory) before enumerating contents, with no filler. The nested clause structure and parenthetical lists make it dense to parse, but every clause carries information.

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?

No output schema exists, so the description must describe the return value, and it does so in detail: grouped counts, insurance/fee acceptance tallies, and page URLs. Missing only ancillary context such as data source recency or whether the counts are mutually exclusive by level of care.

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%, with the two-letter pattern and an example already documented in the schema. The description only adds that territories are included ('one US state or territory'), which is marginal over the schema's own 'state or territory code' wording. Baseline 3 applies.

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

Purpose4/5

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

The description names a specific resource (SAMHSA-listed treatment programs) and a specific output shape (counts per level of care, insurance acceptance counts, and list-page URLs) scoped to one state. That is clearly an aggregate overview rather than a single-record lookup, so an agent can infer the split from find_programs/get_program. It stops short of naming those siblings explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: the phrase 'how many ... at each level of care' signals a state-level aggregate, which contrasts with per-program lookups. There is no explicit statement of when to prefer this over find_programs or get_program, and no exclusions or prerequisites are given.

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. 3 tool updates
    • First observedfind_programs
    • First observedget_program
    • First observedstate_overview

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources