Dental AI Research MCP
Provides tools for searching PubMed/NCBI biomedical and dental literature, including systematic review/meta-analysis restricted searches, and verifying citations against PubMed.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dental AI Research MCPFind recent systematic reviews on fluoride varnish for children."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dental AI Research MCP
Remote MCP server giving Dental Research & Clinical Intelligence by Dr. Dana real research tools inside Claude Web and Claude Desktop.
Status: MVP, validated locally. NOT deployed. NOT yet wired into the Dental AI plugin. The public Dental AI v1.0.2 plugin is unmodified.
DENTAL-AI-MASTERis untouched.
What a dentist can do with it
Tool | What it does |
| Search PubMed/NCBI for dental and biomedical literature |
| Search PubMed restricted to Systematic Review / Meta-Analysis publication types |
| Verify a DOI / PMID / title against Crossref and PubMed |
| Search the ClinicalTrials.gov registry (API v2) |
Exactly four tools. Nothing else is exposed in v1.
Deliberately out of scope: SFDA, Cochrane, Embase, Scopus, clinical guidelines, manufacturer IFUs, database, user accounts, dashboard, analytics, new clinical features.
Related MCP server: NCBI Literature Search MCP Server
Architecture
Claude Web / Claude Desktop
│ MCP Streamable HTTP (JSON-RPC 2.0 over POST /mcp)
▼
server.py zero-dependency WSGI app — transport + tool registry
│
▼
tools.py the 4 tool contracts, normalization, provenance, failure semantics
│
▼
connector_bridge.py isolated in-process loading of three connectors
│
▼
connectors/ VENDORED VERBATIM from Dental AI v1.0.2 — retrieval logic unchanged
├── pubmed/ ESearch + EFetch, retry, rate limiting, XML parsing
├── crossref/ DOI lookup, bibliographic search
├── clinical_trials/ ClinicalTrials.gov API v2
└── shared/ EvidenceRecord, provenance, retry, identifiers
│
▼
PubMed · Crossref · ClinicalTrials.gov (public APIs, no auth)Why the retrieval logic was not rewritten
connectors/ is a byte-for-byte copy of the validated v1.0.2 connector packages. That code
already carries the retry wiring, per-attempt rate limiting, retraction/correction parsing,
and the failure-status taxonomy that took several releases to get right. Rewriting it would
have thrown away that validation for no gain. This project adds a transport and a
normalization layer on top — nothing more.
connector_bridge.py exists because each connector was written as a standalone CLI that
imports a top-level errors / parser / models. Loading three of them into one process
naively would let pubmed/errors.py and clinical_trials/errors.py fight over
sys.modules["errors"], silently applying the wrong status taxonomy to the wrong connector.
The bridge loads each under a private namespace so that cannot happen.
Zero dependencies
The server and all connectors are pure standard library. Python 3.9+ runs it with nothing
installed. The single production dependency is gunicorn, the WSGI server that fronts it.
Safety properties
These are enforced in code and covered by tests.
Identifiers are never fabricated. A PMID, DOI or NCT ID appears in output only if an upstream payload actually carried it. A record that arrives without its identifier is dropped, never assigned one.
A retrieval failure is never "no evidence". UPSTREAM_ERROR, TIMEOUT, PARSE_ERROR
and RATE_LIMITED return ok: false, results: null, and an explicit interpretation
saying the result must not be read as an absence of evidence.
ZERO_RESULTS is distinct from failure. It means "this query matched nothing" — stated
in the response as explicitly not establishing that no relevant evidence exists.
No overclaiming of coverage. search_systematic_reviews reports
cochrane_status: NOT IMPLEMENTED (and the same for Embase and Scopus) on every response,
and its description forbids presenting it as a Cochrane search.
Registry ≠ efficacy. Every clinical-trial response and every individual trial record carries the caveat that a registry record is not evidence an intervention works.
Provenance on everything. Every response and every record carries the source connector, source database, the exact query sent upstream, the retrieval status and a UTC timestamp.
Run locally
cd ~/Downloads/DENTAL-AI-RESEARCH-MCP
python3 server.py --port 8000curl -s localhost:8000/health | python3 -m json.toolcurl -s -X POST localhost:8000/mcp -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | python3 -m json.toolTests
python3 tests/test_mcp.py96 assertions: protocol conformance, all four schemas, live retrieval against all three upstreams, invalid-DOI handling, simulated upstream failure, identifier-fabrication guards, input validation, health, and a source scan for hard-coded credentials.
Endpoints
Method | Path | Purpose |
|
| MCP JSON-RPC (Streamable HTTP) |
|
|
|
|
|
|
|
| Cheap upstream reachability probe — runs no searches |
|
| Service descriptor |
The health check hits einfo.fcgi (PubMed), /types (Crossref) and /version
(ClinicalTrials.gov) — small metadata endpoints, so the probe cannot burn upstream rate
limits.
Configuration
No configuration is required. All four functions use public APIs with no authentication.
Three optional environment variables improve upstream courtesy and limits. All are read from the environment by the vendored connectors and are never hard-coded:
Variable | Effect |
| Raises the NCBI rate limit from 3/s to 10/s |
| NCBI contact address for the polite pool |
| Crossref polite-pool contact address |
There are no server secrets. There is no auth, no session store and no user data.
Deployment
See DEPLOY.md. One recommended host, with the exact steps.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search 36M+ PubMed biomedical articles and ClinicalTrials.gov studies.
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Search PubMed with precision using keyword and journal filters and smart sorting. Uncover MeSH ter…
Clinical trial search and status from ClinicalTrials.gov
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to search and retrieve biomedical research articles from PubMed's database of over 35 million citations, including metadata, abstracts, MeSH terms, and full-text PDFs when available.11MIT
- FlicenseNot gradedqualityDmaintenanceProvides seamless access to over 35 million PubMed scientific articles through natural language queries for research discovery and analysis. It enables tools for advanced searches, retrieving article details, and exploring related research within the life sciences and biomedical fields.12
- AlicenseNot gradedqualityDmaintenanceProvides 40 tools to Claude for Wikipedia citation analysis, edit history, and DOI/ISBN annotation, enabling citation quality scoring and metadata enrichment without leaving the chat.1MIT
- AlicenseAqualityBmaintenanceEnables searching for scientific papers across OpenAlex, CrossRef, and Unpaywall, and downloading open-access PDFs directly through Claude Desktop.51MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/danaaburawaeh-glitch/dental-ai-research-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server