library
Server Details
Clinician-reviewed library on social anxiety, panic, and school refusal in adolescents.
- Status
- Healthy
- Uptime
- 100.0% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: getting an article, searching/listings, citing, crisis resources, and site info. No overlap or confusion between them.
All tool names follow the same verb_noun snake_case pattern (cite_, get_, list_, search_), making the API predictable and easy to understand.
Six tools is well-scoped for a content library server, covering the essential operations without bloat or missing core functionality.
The tool set covers the major article workflows: discovery (list/search), retrieval (get), citation, and additional context resources. No critical gaps for a read-only library.
Available Tools
6 toolscite_articleCite articleARead-onlyInspect
Get a formatted citation for a Anxiety in Teens article. Supports AMA, APA, and Chicago styles.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Article slug. | |
| format | No | Citation style (default ama). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, and the description does not contradict this. However, the description adds minimal extra behavioral context beyond the annotation and schema—it simply states what the tool does without disclosing additional traits such as output format or any operational nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, front-loading the verb and resource. It is appropriately sized for the tool's simplicity and contains only relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two parameters, full schema coverage, and no output schema, the description provides sufficient context. It clearly states the tool's purpose and supported styles, though it does not describe the exact return format—which is arguably unnecessary for a citation string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters ('slug' and 'format') are already fully described in the schema with types and enums. The description adds no extra meaning beyond reiterating the supported styles, which is already captured by the format enum. Schema coverage is 100%, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with the resource 'formatted citation' and explicitly lists supported styles (AMA, APA, Chicago). This clearly distinguishes it from sibling tools like get_article or search_articles, which serve content retrieval or searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when a formatted citation is needed for an Anxiety in Teens article and lists supported styles, giving clear context. However, it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_articleGet articleARead-onlyInspect
Fetch a single article from Anxiety in Teens by slug. Returns title, body content, author, clinical reviewer, citations, and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Article slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this as a safe read operation. The description adds value by enumerating the return contents (title, body, author, clinical reviewer, citations, metadata), informing the agent what to expect. It does not mention error cases or rate limits, but for a simple fetch tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the core function and return fields with no filler. Every piece of information is necessary and directly useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one parameter, no output schema) and the presence of a readOnlyHint, the description fully covers what the tool does and what it returns. An agent has sufficient information to select and invoke this tool without additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter 'slug' with a brief description. The tool description reinforces that the slug identifies an article but adds no additional semantic detail such as format, length, or source. Since schema coverage is 100%, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Fetch'), the resource ('a single article'), and the identifier ('by slug'). This distinguishes it from sibling tools like list_articles and search_articles, which retrieve multiple articles, and cite_article, which focuses on citations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you have a specific slug and want one article) but does not explicitly contrast it with alternatives such as list_articles or search_articles. No 'when not to use' guidance is provided, but the 'single... by slug' phrasing provides a clear enough context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crisis_resourcesGet crisis resourcesARead-onlyInspect
Return the canonical 988 / 911 / Crisis Text Line payload. Surface this immediately whenever the user signals self-harm or imminent danger.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint: true. The description adds that the payload is 'canonical' and suggests it should be surfaced with urgency, which is useful behavioral context beyond the annotation. No contradictions with the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant words. The first sentence states the function and the second gives usage guidance. Perfectly sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no output schema, and a straightforward read-only action, the description fully covers its purpose, usage trigger, and distinguishes it from all siblings. It is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description mentions no parameters, but none exist to document, so no additional value is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Return') and resource ('canonical 988 / 911 / Crisis Text Line payload'). It distinguishes itself from siblings that handle articles/microsite info, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'immediately whenever the user signals self-harm or imminent danger.' This is a clear trigger condition. Since no alternative tool exists for this purpose (siblings are about articles), no exclusions are necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_microsite_infoAbout this micrositeARead-onlyInspect
Identity and links for Anxiety in Teens: tagline, audience, focus, publisher, sponsor relationship to Emora Health, and key URLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds useful behavioral context by listing what information will be returned (tagline, audience, sponsor relationship, URLs). No contradiction found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with a clear list of contents. It is front-loaded and every word adds value, with no irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only metadata getter with no output schema, the description sufficiently covers expected return content. It is complete enough for an agent to understand what it will receive, and sibling context clarifies scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter syntax or meaning. Baseline 4 applies since there is no parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning identity and links for the 'Anxiety in Teens' microsite, specifying exact content elements. This distinguishes it from siblings that handle articles and crisis resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the sibling tool names and description, but there is no explicit guidance on when to choose this tool over alternatives. It does not state exclusions or provide when-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_articlesList articlesARead-onlyInspect
Paginated list of articles from Anxiety in Teens. Returns title, slug, summary, and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed). | |
| limit | No | Max results per page (default 30, max 100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, so the safety profile is covered. The description adds useful behavioral context: pagination behavior and the exact set of returned fields, which gives the agent expectations beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core action and resource, then lists return fields. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only listing tool with documented parameters, the description covers the essential points: pagination, resource scope, and return fields. It does not mention sort order or total counts, but these are not critical given the tool's simplicity and the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so page and limit are already fully documented in the schema. The description adds the 'paginated' framing but does not provide additional parameter meaning beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and names the exact resource ('articles from Anxiety in Teens'). It also specifies return fields (title, slug, summary, URL), clearly distinguishing this from sibling tools like get_article or search_articles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Paginated list' implies this is for browsing all articles, and the sibling 'search_articles' suggests an alternative, but the description does not explicitly state when to use list vs search or when not to use it. Usage is implied rather than clearly directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_articlesSearch articlesARead-onlyInspect
Search Anxiety in Teens's editorial corpus by query. Returns title, slug, summary, and URL for matching articles.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Alternate parameter name for `query`. | |
| limit | No | Max results (default 10, max 50). | |
| query | Yes | Free-text search query. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so no safety concerns. The description adds value by specifying what is returned (title, slug, summary, URL), which is not disclosed elsewhere and helps set expectations for the tool's output. No hidden side effects or behaviors are disclosed, but for a search operation, this is sufficient and aligns with the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the action, resource, and output fields without waste. Every word contributes to understanding what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple search with three parameters, and the description covers the purpose and output fields. No output schema is present, so the description's mention of return fields is important. However, it omits details like default result count or ordering, though the limit parameter is documented in the schema. Overall, it is sufficient for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the descriptions in the schema already explain each parameter (q, limit, query). The tool description adds no additional parameter meaning beyond restating that the search is 'by query', which the schema already conveys. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Search'), the resource ('Anxiety in Teens's editorial corpus'), and the return fields ('title, slug, summary, and URL'). This is specific and distinguishes it from siblings like 'list_articles' (likely listing all articles) and 'get_article' (likely fetching a single article).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this when you want to free-text search the corpus. However, it does not explicitly contrast with sibling tools (e.g., use 'list_articles' to browse all, 'get_article' to fetch by ID, or 'cite_article' for citations). The guidance is implied rather than explicit, so no clear exclusions or alternatives are provided.
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.
6 tool updates
- Changed
cite_article1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_article1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_crisis_resources1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_microsite_info1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_articles1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
search_articles1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
6 tool updates
- Changed
cite_article2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / format / descriptionPrevious value: -"Citation format. Default: ama."New value: +"Citation style (default ama)."
- Changed
get_article2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / slug / descriptionPrevious value: -"Article slug, e.g. \"what-an-evaluation-actually-looks-like\"."New value: +"Article slug."
- Changed
get_crisis_resources1 field changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#"
- Changed
get_microsite_info1 field changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#"
- Changed
list_articles9 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / limit / descriptionPrevious value: -"Page size (default 30, max 100)."New value: +"Max results per page (default 30, max 100)." - added
Input schema / properties / limit / maximumAdded value: +100 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / page / descriptionPrevious value: -"Page number (default 1)."New value: +"Page number (1-indexed)." - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - added
Input schema / properties / page / minimumAdded value: +1 - changed
Input schema / properties / page / typePrevious value: -"number"New value: +"integer"
- Changed
search_articles6 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / properties / limit / maximumAdded value: +50 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / qAdded value: +{ + "description": "Alternate parameter name for `query`.", + "type": "string" +} - changed
Input schema / properties / query / descriptionPrevious value: -"Free-text query. Matches title and summary."New value: +"Free-text search query."
6 tool updates
- First observed
cite_article - First observed
get_article - First observed
get_crisis_resources - First observed
get_microsite_info - First observed
list_articles - First observed
search_articles
Related MCP Connectors
Clinician-reviewed library on anxiety, OCD, and phobias in children ages 5–12.
Clinician-reviewed library on child psychiatric evaluation and medication decision-making.
Clinician-reviewed library on ADHD in teens — accommodations, executive function, evaluations.
Teen-first library on CBT, DBT, and finding the right therapist.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceAn MCP server that provides clinical decision support for polysubstance risk and drug–substance interactions, grounding LLM responses in a 7-level evidence cascade with population priors and validated screening triggers.-
- AlicenseNot gradedqualityCmaintenanceCreates and searches private, local RAG libraries from documentation to ground AI assistants in authoritative sources, reducing hallucinations by providing current, accurate context from your own docs instead of relying on outdated training data.21MIT
- AlicenseNot gradedqualityBmaintenanceDeterministic rule-based medical triage with citations, using a 0.6B LLM only to check criteria (yes/no/unknown).Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables semantic search and conversational querying across a personal research library of PDFs, DOCX, and other documents using a vector database. It provides tools for document summarization, finding related papers, and high-accuracy retrieval for AI clients like Claude Desktop.-
Glama MCP Gateway
Add one secure layer between your agents and this server.