Mesh
Provides tools for looking up NLM MeSH (Medical Subject Headings) — the controlled-vocabulary headings used to index and search PubMed. Enables resolving free-text biomedical terms and everyday synonyms (e.g. "diabetes", "aspirin", "myocardial infarction") to canonical MeSH descriptor IDs, retrieving full descriptor details (preferred labels, entry terms/synonyms, allowable qualifiers such as "drug therapy" or "epidemiology", and related see-also headings), and fuzzy-matching terms when no exact descriptor exists — supporting the construction of accurate PubMed queries.
Click on "Deploy 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., "@MeshWhat's the canonical MeSH heading for heart attack?"
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.
mcp-mesh
NLM MeSH (Medical Subject Headings) MCP.
Part of Pipeworx — an MCP gateway connecting AI agents to 1683+ live data sources.
Tools
Tool | Description |
| Search NLM MeSH descriptors by a disease/drug/concept term (e.g. "diabetes", "aspirin", "myocardial infarction"). Returns the matching MeSH descriptor IDs (Dxxxxxxx) — the controlled-vocabulary headings used to index PubMed. The core free-text-to-MeSH lookup. Keyless. |
| Get full detail for a MeSH descriptor by its ID (e.g. "D003920" = Diabetes Mellitus): its preferred label, entry terms (synonyms MeSH indexes under it), allowable qualifiers (subheadings like "drug therapy", "epidemiology"), and related see-also headings. Keyless. |
| Map a free-text term or everyday synonym to its canonical MeSH descriptor(s) — the preferred heading to use when searching PubMed. Tries an exact descriptor match first; if none, falls back to a fuzzy contains match (flagged fuzzy). Keyless. |
Related MCP server: OMOPHub MCP Server
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"mesh": {
"url": "https://gateway.pipeworx.io/mesh/mcp"
}
}
}What this endpoint actually serves
tools/list at https://gateway.pipeworx.io/mesh/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}Both URLs reach the same gateway and the same 1683+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
No MCP client? Call it over HTTP
curl -X POST https://gateway.pipeworx.io/v1/tools/search_descriptors \
-H 'Content-Type: application/json' \
-d '{"text":"diabetes"}'No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/search_descriptors. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.
Standalone (no gateway account)
This package also runs as a local stdio MCP server — no Pipeworx account, no gateway round-trip:
{
"mcpServers": {
"mesh": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-mesh"]
}
}
}Or run it directly to confirm it starts:
npx -y @pipeworx/mcp-meshIt speaks MCP over stdin/stdout and answers initialize/tools/list/tools/call
for only this pack's tools — none of the shared meta-tools the gateway
connection above adds. Same source, same tools, no ask_pipeworx routing.
Using with ask_pipeworx
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Mesh data" })The gateway picks the right tool and fills the arguments automatically.
More
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Search biomedical literature, get article details, find related articles, and explore MeSH terms
Connect AI clients to biomedical data and tools.
Search PubMed with precision using keyword and journal filters and smart sorting. Uncover MeSH ter…
Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.
Related MCP Servers
- AlicenseAqualityDmaintenanceConnects Claude to the U.S. National Library of Medicine MeSH APIs to search and retrieve medical authority data, descriptors, and qualifiers. It enables library and metadata staff to perform subject analysis and confirm terminology within an AI-assisted cataloging workflow.41GPL 3.0

OMOPHub MCP Serverofficial
AlicenseAqualityAmaintenanceProvides AI agents with instant access to 10M+ OMOP medical vocabulary concepts for searching, mapping, and navigating clinical codes across SNOMED, ICD-10, RxNorm, LOINC, and more.11109 npm6MIT- AlicenseAqualityCmaintenanceEnables AI agents to search and read PubMed academic literature directly, without requiring an NCBI API key.21MIT
- AlicenseAqualityCmaintenanceEnables LLM agents to search biomedical literature, retrieve article details, find related papers, manage caching, and download open-access full texts through MCP with structured, agent-friendly responses.5Apache 2.0