niaid-data-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| niaid_data_queryA | Search the NIAID Data Ecosystem for biomedical research resources. Queries the NIAID Data Ecosystem API (https://data.niaid.nih.gov), which indexes datasets, clinical studies, publications, and other research resources related to infectious and immune-mediated diseases funded or supported by NIAID. Supports Elasticsearch query string syntax for powerful full-text and field-specific searches. Results include datasets, clinical trials, repositories, computational tools, and more. Args: params (QueryInput): Validated input parameters containing: - q (str): Elasticsearch query string. Use '' for all records. Supports field-specific syntax: 'name:COVID', 'author.name:Smith', '@type:Dataset', 'conditionsOfAccess:Open'. Default: ''. - size (Optional[int]): Number of results per page (1-1000). Default: 10. - offset (Optional[int]): Results to skip for pagination. Default: 0. - sort (Optional[str]): Sort field; prefix with '-' for descending (e.g., '-date'). Default: relevance score. - fields (Optional[str]): Comma-separated fields to return (e.g., 'name,description,@type,date'). Returns all fields if omitted. - aggs (Optional[List[str]]): Fields to aggregate/facet by (e.g., ['@type', 'conditionsOfAccess']). Useful for summarizing result distributions without reading each record. - facet_size (Optional[int]): Max aggregation buckets per field. Default: 10. - explain (Optional[bool]): Include relevance score explanation. - response_format (ResponseFormat): 'markdown' (default) for readable summaries or 'json' for complete structured data. Returns: str: Formatted search results. Examples: - Use when: "Find open-access COVID-19 datasets" -> params with q='COVID-19 AND @type:Dataset AND conditionsOfAccess:Open' - Use when: "What types of resources are available?" -> params with q='*', aggs=['@type'], size=0 - Use when: "Find datasets with access conditions distribution" -> params with q='@type:Dataset', aggs=['conditionsOfAccess'], size=5 - Use when: "Search for malaria resources sorted by date" -> params with q='malaria', sort='-date', size=20 - Use when: "Page through results" (after first call with offset=0, size=10) -> params with same q, offset=10, size=10 Error Handling: - Returns "Error: Invalid query (HTTP 400)..." if query syntax is invalid - Returns "Error: Rate limit exceeded (HTTP 429)..." if too many requests - Returns "Error: Request timed out..." if query is too broad/slow |
| niaid_data_getA | Fetch the complete record for a single NIAID Data Ecosystem resource by its ID. Retrieves all available fields for a specific resource using its unique identifier. Use this after niaid_data_query to get the full details of a record of interest. Args: params (GetInput): Validated input parameters containing: - id (str): Unique record identifier from the '_id' field of query results (e.g., 'dde_373d5e89c734f65e'). - response_format (ResponseFormat): 'json' (default) for the complete raw record, or 'markdown' for a human-readable summary. Returns: str: The complete record data. Examples: - Use when: "Get full details for dataset dde_373d5e89c734f65e" -> params with id='dde_373d5e89c734f65e' - Use when: After a query returns results and you need all fields for one record -> params with id=<_id from query hit>, response_format='json' |
| niaid_data_summarizeA | Summarize a NIAID Data search without returning all records to the context. Use this tool BEFORE niaid_data_query when a search may return many results, or when you need to understand what's available before fetching full records. Returns a compact overview: total count, distribution breakdowns across key fields, a small sample of top hits, and specific suggestions for narrowing the search. This is the right tool when:
Args: params (SummarizeInput): Validated input parameters containing: - q (str): Elasticsearch query string (same syntax as niaid_data_query). Use '' to summarize the entire catalog. Default: ''. - sample_size (Optional[int]): Top-scoring records to show as examples (1–20). Does NOT return all results. Default: 5. Returns: str: Markdown summary containing: Examples: - Use when: "What COVID-19 resources are available?" -> params with q='COVID-19' - Use when: A query just returned 48,000 results -> params with q= to understand how to narrow it - Use when: "Give me an overview of malaria datasets" -> params with q='malaria' - Don't use when: You need specific records (use niaid_data_query instead) - Don't use when: You have a specific ID (use niaid_data_get instead) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/mark-aronson/niaid-data-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server