digital-compass-mcp
Server Details
Digital-crisis playbooks as tools, 9 languages, country-anchored reporting channels. CC BY 4.0.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 5 tools
Each tool has a clear, distinct purpose: finding playbooks, checking freshness, retrieving content, listing situations, and getting reporting channels. There is no overlap or ambiguity.
Most tools follow a consistent 'compass_verb_noun' pattern (e.g., compass_find_playbook, compass_get_content), but compass_freshness uses a noun instead of a verb, causing a minor inconsistency.
With exactly 5 tools, the set is well-scoped for a digital safety guidance server, covering searching, listing, retrieving content, checking freshness, and getting reporting channels without being too sparse or bloated.
The tool set provides a comprehensive coverage for the domain: listing all situations, searching by user description, retrieving full content, checking content freshness, and obtaining reporting channels. No obvious gaps for a read-only repository.
Available Tools
5 toolscompass_find_playbookFind the right playbook for a situationARead-onlyIdempotentInspect
Matches the situation in the user's own words ("I clicked a link and it asked for my card") against the covered situations. Deterministic keyword matching (title, situation, summary), not guessing. Returns the best 3 matches with a score.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (ro = original; en/hu anchored in Romania; pl/cs/sk/it/fr/de anchored in their own countries, with local reporting channels) | ro |
| query | Yes | The situation, in the user's own words | |
| audienta | No | Optional audience filter: individ (private person) or organizatie (company/team). Content marked "ambele" matches both. | |
| categorie | No | Optional use-case category filter. Playbook categories: cumparaturi-bani, conturi-dispozitive, mesaje-apeluri, oameni-manipulare, ai-asistenti. Guide categories: conturi-parole, cumparaturi-plati, dispozitive, email-mesaje, la-birou. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint and idempotentHint. The description adds valuable context: deterministic keyword matching (not guessing), result limit of 3, and scoring. No contradictions with annotations.
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, front-loaded with purpose, no wasted words. Efficiently conveys matching algorithm, constraints, and output format.
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?
Covers input (query, language, filters) and output (3 best matches with scores). Lacks mention of how scoring works or edge-case handling, but sufficient given no 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 covers 100% of parameters with descriptions. The description does not add per-parameter details but explains overall input-output behavior. Baseline 3 is appropriate as the schema already does 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 matches user's situation description against covered situations using deterministic keyword matching, returning best 3 matches with a score. It distinguishes from sibling tools like compass_list_situations (which lists all situations) and compass_get_content (which retrieves content by ID).
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 explains when to use (user's own words for situation matching) and the deterministic behavior, but does not explicitly exclude scenarios or list alternatives among siblings. The context is clear enough for an agent to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compass_freshnessHow fresh the content isARead-onlyIdempotentInspect
The date of the last editorial review ("last verified") for every playbook and guide — transparency about how fresh the advice is.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety traits. The description adds context about transparency and scope ('every playbook and guide'), but does not disclose format details or potential latency. It does not contradict annotations.
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 clearly conveys the tool's purpose without unnecessary words.
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 and no output schema, the description adequately explains what the tool returns (date of last editorial review), though it could specify the output format. Overall, it is sufficient for simple usage.
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?
With zero parameters, schema coverage is 100%, and the description does not need to add parameter info. Baseline is 4.
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 provides 'the date of the last editorial review' for 'every playbook and guide', specifying a concrete verb (provides transparency) and resource (freshness info). It distinguishes from siblings like compass_find_playbook (search) and compass_get_content (retrieval).
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 for checking content freshness but does not explicitly specify when to use it versus alternatives like compass_get_content. No when-not-to-use guidance is provided, but the tool's simplicity reduces the need for extensive guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compass_get_contentFull content of one playbook or guideARead-onlyIdempotentInspect
The full markdown of a crisis playbook (steps to take now, what NOT to do, how to recognize it next time, where to report) or of a prevention guide. Suitable to relay to the user step by step, in document order. In MCP Apps-capable hosts this renders as a calm step-by-step checklist card (ui://compass/playbook-card).
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (ro = original; en/hu anchored in Romania; pl/cs/sk/it/fr/de anchored in their own countries, with local reporting channels) | ro |
| slug | Yes | Slug from compass_list_situations, e.g. "link-sms-fals" | |
| type | Yes | playbook = crisis (reactive), ghid = prevention guide |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that content is 'markdown' and that in MCP Apps-capable hosts it renders as a 'calm step-by-step checklist card', providing behavioral context beyond annotations. No contradictions.
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, each serving a distinct purpose: first defines content and structure, second gives usage and rendering context. No fluff 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?
Given the simplicity (3 parameters, no output schema), the description covers purpose, content type, and rendering. It might lack error handling info or behavior for invalid slugs, but that is minor for a straightforward getter with good schema annotations.
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%, with each parameter having descriptions (lang enum details, slug guidance, type enum meanings). The description briefly mentions 'playbook' and 'prevention guide' but does not add new semantic information beyond what the schema already provides.
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 it returns 'full markdown of a crisis playbook or of a prevention guide', specifying content types. The title reinforces 'full content'. While it implicitly differentiates from sibling tools like compass_list_situations (which lists metadata), it does not explicitly distinguish from compass_find_playbook.
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 says 'Suitable to relay to the user step by step', which implies when to use it (after selecting a playbook/guide). However, it does not explicitly state when not to use it or mention alternative tools like compass_find_playbook for searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compass_list_situationsList covered situationsARead-onlyIdempotentInspect
All digital-crisis situations (reactive playbooks: fake link, hacked account, online scam...) and prevention guides covered by Digital Compass, with slugs for compass_get_content. Public Romanian guide, plain language, content in 9 languages. Optional filters: categorie (use case) and audienta (individ/organizatie).
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (ro = original; en/hu anchored in Romania; pl/cs/sk/it/fr/de anchored in their own countries, with local reporting channels) | ro |
| audienta | No | Optional audience filter: individ (private person) or organizatie (company/team). Content marked "ambele" matches both. | |
| categorie | No | Optional use-case category filter. Playbook categories: cumparaturi-bani, conturi-dispozitive, mesaje-apeluri, oameni-manipulare, ai-asistenti. Guide categories: conturi-parole, cumparaturi-plati, dispozitive, email-mesaje, la-birou. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description adds valuable context: public Romanian guide, plain language, content in 9 languages, and per-language anchoring details. No contradictions with annotations.
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 front-loaded with key information and is relatively concise. It could be slightly shorter, but it is well-structured and avoids verbosity.
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?
Even without an output schema, the description indicates that the result includes slugs for use with compass_get_content, covering essential behavior. It also explains language anchoring and audience filters, making it complete for a list tool.
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% with descriptions. The description adds distinction between playbook and guide categories for the categorie parameter, which is not in the schema. This adds meaning beyond the schema.
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 explicitly states it lists digital-crisis situations and prevention guides, mentioning specific use cases and the purpose of providing slugs for another tool. It clearly distinguishes from siblings like compass_get_content.
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 for obtaining a list of situations with slugs for further retrieval, and mentions optional filters. However, it does not explicitly state when to use vs alternatives like compass_find_playbook.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compass_report_channelsWhere to report digital incidentsARead-onlyIdempotentInspect
Real reporting channels for digital incidents, from the playbooks' "Where to report" sections. lang=ro/en/hu → channels in ROMANIA (DNSC 1911, Romanian Police, your bank); lang=pl → channels in POLAND (CERT Polska, policja, card blocking). With slug: only that situation's channels; without: all, deduplicated.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (ro = original; en/hu anchored in Romania; pl/cs/sk/it/fr/de anchored in their own countries, with local reporting channels) | ro |
| slug | No | Optional: the slug of one specific playbook |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral context: that channels are derived from playbooks' 'Where to report' sections, that lang determines the country, and that slug filters to one situation while no slug returns deduplicated all. This goes beyond the annotations without contradicting them.
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 extremely concise—two sentences plus a list-like structure using arrows and examples. Every word adds value. It is front-loaded with the core purpose and then provides specific, actionable context for the parameters.
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 low complexity (2 params, no output schema), the description covers the essential aspects: what the tool returns (channels per country), how lang and slug affect results, and that results are deduplicated. It could mention the output format (e.g., list of channel names or objects), but the current level is sufficient for most agents to use it correctly.
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%, so baseline is 3. The description adds significant value by explaining the country mapping for each lang value (e.g., 'lang=ro/en/hu → channels in ROMANIA') and the effect of the 'slug' parameter (with slug: only that situation's channels; without: all, deduplicated). This clarifies the behavioral impact beyond the schema's enum and optional text.
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 provides 'real reporting channels for digital incidents' from playbooks, and differentiates from siblings by focusing on channels rather than playbook content or freshness. It gives specific examples for different languages and countries, making the purpose unmistakable.
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 explains when to use the tool (to get reporting channels) and how the 'lang' parameter selects country-specific channels (e.g., ro/en/hu → Romania, pl → Poland). It also covers the effect of the optional 'slug' parameter. However, it does not explicitly state when not to use this tool or compare it to alternatives like compass_find_playbook.
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.
2 tool updates
- Changed
compass_find_playbook2 fields changed- changed
Input schema / properties / categorie / descriptionPrevious value: -"Optional use-case category filter. Playbook categories: cumparaturi-bani, conturi-dispozitive, mesaje-apeluri, oameni-manipulare. Guide categories: conturi-parole, cumparaturi-plati, dispozitive, email-mesaje, la-birou."New value: +"Optional use-case category filter. Playbook categories: cumparaturi-bani, conturi-dispozitive, mesaje-apeluri, oameni-manipulare, ai-asistenti. Guide categories: conturi-parole, cumparaturi-plati, dispozitive, email-mesaje, la-birou." - changed
Input schema / properties / categorie / enumPrevious value: -[ - "cumparaturi-bani", - "conturi-dispozitive", - "mesaje-apeluri", - "oameni-manipulare", - "conturi-parole", - "cumparaturi-plati", - "dispozitive", - "email-mesaje", - "la-birou" -]New value: +[ + "cumparaturi-bani", + "conturi-dispozitive", + "mesaje-apeluri", + "oameni-manipulare", + "ai-asistenti", + "conturi-parole", + "cumparaturi-plati", + "dispozitive", + "email-mesaje", + "la-birou" +]
- Changed
compass_list_situations2 fields changed- changed
Input schema / properties / categorie / descriptionPrevious value: -"Optional use-case category filter. Playbook categories: cumparaturi-bani, conturi-dispozitive, mesaje-apeluri, oameni-manipulare. Guide categories: conturi-parole, cumparaturi-plati, dispozitive, email-mesaje, la-birou."New value: +"Optional use-case category filter. Playbook categories: cumparaturi-bani, conturi-dispozitive, mesaje-apeluri, oameni-manipulare, ai-asistenti. Guide categories: conturi-parole, cumparaturi-plati, dispozitive, email-mesaje, la-birou." - changed
Input schema / properties / categorie / enumPrevious value: -[ - "cumparaturi-bani", - "conturi-dispozitive", - "mesaje-apeluri", - "oameni-manipulare", - "conturi-parole", - "cumparaturi-plati", - "dispozitive", - "email-mesaje", - "la-birou" -]New value: +[ + "cumparaturi-bani", + "conturi-dispozitive", + "mesaje-apeluri", + "oameni-manipulare", + "ai-asistenti", + "conturi-parole", + "cumparaturi-plati", + "dispozitive", + "email-mesaje", + "la-birou" +]
2 tool updates
- Changed
compass_find_playbook2 fields changed- added
Input schema / properties / audientaAdded value: +{ + "description": "Optional audience filter: individ (private person) or organizatie (company/team). Content marked \"ambele\" matches both.", + "enum": [ + "individ", + "organizatie" + ], + "type": "string" +} - added
Input schema / properties / categorieAdded value: +{ + "description": "Optional use-case category filter. Playbook categories: cumparaturi-bani, conturi-dispozitive, mesaje-apeluri, oameni-manipulare. Guide categories: conturi-parole, cumparaturi-plati, dispozitive, email-mesaje, la-birou.", + "enum": [ + "cumparaturi-bani", + "conturi-dispozitive", + "mesaje-apeluri", + "oameni-manipulare", + "conturi-parole", + "cumparaturi-plati", + "dispozitive", + "email-mesaje", + "la-birou" + ], + "type": "string" +}
- Changed
compass_list_situations2 fields changed- added
Input schema / properties / audientaAdded value: +{ + "description": "Optional audience filter: individ (private person) or organizatie (company/team). Content marked \"ambele\" matches both.", + "enum": [ + "individ", + "organizatie" + ], + "type": "string" +} - added
Input schema / properties / categorieAdded value: +{ + "description": "Optional use-case category filter. Playbook categories: cumparaturi-bani, conturi-dispozitive, mesaje-apeluri, oameni-manipulare. Guide categories: conturi-parole, cumparaturi-plati, dispozitive, email-mesaje, la-birou.", + "enum": [ + "cumparaturi-bani", + "conturi-dispozitive", + "mesaje-apeluri", + "oameni-manipulare", + "conturi-parole", + "cumparaturi-plati", + "dispozitive", + "email-mesaje", + "la-birou" + ], + "type": "string" +}
4 tool updates
- Changed
compass_find_playbook2 fields changed- changed
Input schema / properties / lang / descriptionPrevious value: -"Limba conținutului (ro = original; en/hu ancorate în România; pl/cs/sk/it/fr/de ancorate în țările lor, cu canale locale)"New value: +"Content language (ro = original; en/hu anchored in Romania; pl/cs/sk/it/fr/de anchored in their own countries, with local reporting channels)" - changed
Input schema / properties / query / descriptionPrevious value: -"Situația, în cuvintele utilizatorului"New value: +"The situation, in the user's own words"
- Changed
compass_get_content3 fields changed- changed
Input schema / properties / lang / descriptionPrevious value: -"Limba conținutului (ro = original; en/hu ancorate în România; pl/cs/sk/it/fr/de ancorate în țările lor, cu canale locale)"New value: +"Content language (ro = original; en/hu anchored in Romania; pl/cs/sk/it/fr/de anchored in their own countries, with local reporting channels)" - changed
Input schema / properties / slug / descriptionPrevious value: -"Slug-ul din compass_list_situations, ex. \"link-sms-fals\""New value: +"Slug from compass_list_situations, e.g. \"link-sms-fals\"" - changed
Input schema / properties / type / descriptionPrevious value: -"playbook = criză (reactiv), ghid = prevenție"New value: +"playbook = crisis (reactive), ghid = prevention guide"
- Changed
compass_list_situations1 field changed- changed
Input schema / properties / lang / descriptionPrevious value: -"Limba conținutului (ro = original; en/hu ancorate în România; pl/cs/sk/it/fr/de ancorate în țările lor, cu canale locale)"New value: +"Content language (ro = original; en/hu anchored in Romania; pl/cs/sk/it/fr/de anchored in their own countries, with local reporting channels)"
- Changed
compass_report_channels2 fields changed- changed
Input schema / properties / lang / descriptionPrevious value: -"Limba conținutului (ro = original; en/hu ancorate în România; pl/cs/sk/it/fr/de ancorate în țările lor, cu canale locale)"New value: +"Content language (ro = original; en/hu anchored in Romania; pl/cs/sk/it/fr/de anchored in their own countries, with local reporting channels)" - changed
Input schema / properties / slug / descriptionPrevious value: -"Opțional: slug-ul unui playbook anume"New value: +"Optional: the slug of one specific playbook"
4 tool updates
- Changed
compass_find_playbook2 fields changed- changed
Input schema / properties / lang / descriptionPrevious value: -"Limba conținutului (ro = original; en/hu ancorate în România, pl ancorat în Polonia)"New value: +"Limba conținutului (ro = original; en/hu ancorate în România; pl/cs/sk/it/fr/de ancorate în țările lor, cu canale locale)" - changed
Input schema / properties / lang / enumPrevious value: -[ - "ro", - "en", - "hu", - "pl" -]New value: +[ + "ro", + "en", + "hu", + "pl", + "cs", + "sk", + "it", + "fr", + "de" +]
- Changed
compass_get_content2 fields changed- changed
Input schema / properties / lang / descriptionPrevious value: -"Limba conținutului (ro = original; en/hu ancorate în România, pl ancorat în Polonia)"New value: +"Limba conținutului (ro = original; en/hu ancorate în România; pl/cs/sk/it/fr/de ancorate în țările lor, cu canale locale)" - changed
Input schema / properties / lang / enumPrevious value: -[ - "ro", - "en", - "hu", - "pl" -]New value: +[ + "ro", + "en", + "hu", + "pl", + "cs", + "sk", + "it", + "fr", + "de" +]
- Changed
compass_list_situations2 fields changed- changed
Input schema / properties / lang / descriptionPrevious value: -"Limba conținutului (ro = original; en/hu ancorate în România, pl ancorat în Polonia)"New value: +"Limba conținutului (ro = original; en/hu ancorate în România; pl/cs/sk/it/fr/de ancorate în țările lor, cu canale locale)" - changed
Input schema / properties / lang / enumPrevious value: -[ - "ro", - "en", - "hu", - "pl" -]New value: +[ + "ro", + "en", + "hu", + "pl", + "cs", + "sk", + "it", + "fr", + "de" +]
- Changed
compass_report_channels2 fields changed- changed
Input schema / properties / lang / descriptionPrevious value: -"Limba conținutului (ro = original; en/hu ancorate în România, pl ancorat în Polonia)"New value: +"Limba conținutului (ro = original; en/hu ancorate în România; pl/cs/sk/it/fr/de ancorate în țările lor, cu canale locale)" - changed
Input schema / properties / lang / enumPrevious value: -[ - "ro", - "en", - "hu", - "pl" -]New value: +[ + "ro", + "en", + "hu", + "pl", + "cs", + "sk", + "it", + "fr", + "de" +]
5 tool updates
- First observed
compass_find_playbook - First observed
compass_freshness - First observed
compass_get_content - First observed
compass_list_situations - First observed
compass_report_channels
Related MCP Connectors
Scholarly literature search across nine sources
The Emotion Dictionary's 402 emotions: define a word, resolve a feeling, body maps. CC BY 4.0.
Incident-reporting deadlines from the law: CRA, NIS2, DORA, GDPR, HIPAA, SEC 8-K. 6 of 9 tools free.
Norwegian open-source community wiki (2,290 articles, 2008-2022) as a signed KCP knowledge web.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceBridges Codex with MiMoCode as a coding agent for planning, implementation, and review via MCP tools.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server with 60 tools connecting AI assistants to Czech healthcare databases (SUKL, MKN-10, NRPZS) and global biomedical sources (PubMed, ClinicalTrials.gov, OpenFDA).1MIT
- 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.-
- AlicenseBqualityDmaintenanceMCP server for searching research grants across NSF (US), ERC (EU), and KRF/NRF (Korea) via a unified interface. NIH excluded—covered by existing connectors.38MIT