Skip to main content
Glama

NIH RePORTER MCP

by jbdamask

NIH RePORTER MCP

A Model Context Protocol (MCP) server for chatting with NIH RePORTER. Search for NIH-funded research projects and publications in a conversational manner. Accompanying blog post here.

img

Features

  • Search NIH-funded research projects with various criteria:
    • Fiscal years
    • Principal Investigator names
    • Organization details (name, state, city, type, department)
    • Funding amounts
    • COVID-19 response status
    • Funding mechanism
    • Institute/Center codes
    • RCDC terms
    • Date ranges
  • Search publications associated with NIH projects
  • Combined search functionality for both projects and publications
  • Detailed project and publication information including abstracts
  • Configurable result limits

Prerequisites

  • Python 3.12 or higher
  • UV package manager (recommended for faster dependency installation)

Installation

  1. Clone the repository:
git clone <repository-url> cd mcp-nih-reporter
  1. Create and activate a virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`
  1. Install dependencies using UV:
uv pip install -e .

Usage

This MCP server provides access to the NIH RePORTER API through several tools:

  • search_projects: Search for NIH-funded research projects
  • search_publications: Search for publications associated with NIH projects
  • search_combined: Combined search for both projects and publications
  • test_connection: Test the API connection

You can use this MCP with any MCP-compatible client, such as:

  • Claude Desktop
  • Cursor
  • Other MCP-enabled tools

Example claude_desktop_config.json

{ "mcpServers": { "nih-reporter": { "command": "<fully qualified path to>/uv", "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "<fully qualified path to>/mcp-nih-reporter/mcp-nih-reporter.py" ] } } }

The search results will be returned in a structured format containing project details including:

  • Project title and abstract
  • Principal Investigator information
  • Organization details
  • Funding information
  • Project dates and status

Debugging

A log file will be created in the root folder when the MCP attempts to run in a client (e.g. Claude Desktop). Check there if you're having trouble.

Development

The project uses:

  • httpx for async HTTP requests
  • mcp for the Mission Control Protocol implementation
  • python-dotenv for environment variable management
  • uv for dependency management

Logging

Logs are written to mcp-nih-reporter.log in the project root directory. The logging level is set to INFO by default.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please make sure to update tests as appropriate and follow the existing code style.

License

This project is licensed under the MIT License - see the LICENSE file for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Model Context Protocol server that enables conversational searching of NIH-funded research projects and publications through the NIH RePORTER database.

  1. Features
    1. Prerequisites
      1. Installation
        1. Usage
          1. Example claude_desktop_config.json
        2. Debugging
          1. Development
            1. Logging
              1. Contributing
                1. License

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    A Model Context Protocol server implementation that enables natural language interactions with OpenSearch clusters, allowing users to search documents, analyze indices, and manage clusters through simple conversational commands.
                    Last updated 3 months ago
                    6
                    10
                    Python
                    Apache 2.0
                    • Apple
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A Model Context Protocol server that enables querying FHIR healthcare data using natural language, allowing doctors to retrieve patient information, medications, observations, and other healthcare records.
                    Last updated 2 months ago
                    1
                    Python
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A comprehensive Model Context Protocol server that provides AI assistants with direct access to Semantic Scholar's academic database, enabling advanced paper discovery, citation analysis, author research, and AI-powered recommendations.
                    Last updated 2 months ago
                    4
                    Python
                    • Apple
                    • Linux
                  • A
                    security
                    A
                    license
                    A
                    quality
                    A comprehensive Model Context Protocol server that enables advanced PubMed literature search, citation formatting, and research analysis through natural language interactions.
                    Last updated a month ago
                    12
                    5
                    Python
                    MIT License

                  View all related MCP servers

                  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/jbdamask/mcp-nih-reporter'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server