nmdc-mcp
OfficialProvides a client that uses OpenAI's API to query the NMDC database.
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., "@nmdc-mcpshow me metagenome samples from marine environments"
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.
NMDC MCP
A fastmcp-based tool for writing prompts against data in the NMDC database.
Installation
You can install the package from source using uv:
uv syncUsage
You can use the CLI:
nmdc-mcpOr import in your Python code: # TODO incorrect instructions
from nmdc_mcp.main import create_mcp
mcp = create_mcp()
mcp.run()Or utilize the nmdc_mcp.client. This client uses OpenAI API and assumes you have API_KEY set in a .env file in the root directory of this repo. The BASE_URL and MODEL are also customizable in .env. For PNNL staff that want to run via this client - the BASE_URL and MODEL are specific. Contact Olivia Hess if you need help setting these values up.
uv run 'path/to/nmdc_mcp/client.py' 'path/to/nmdc_mcp/main.py'Or using python
python 'path/to/nmdc_mcp/client.py' 'path/to/nmdc_mcp/main.py'Development
Local Setup
# Clone the repository
git clone https://github.com/microbiomedata/nmdc-mcp.git
cd nmdc-mcp
# Install development dependencies
make devDevelopment Workflow
The project uses a comprehensive Makefile for development tasks:
# Run all development checks (tests, formatting, linting, type checking)
make all
# Individual commands
make dev # Install development dependencies
make test-coverage # Run tests with coverage
make format # Format code with black
make lint # Lint with ruff
make mypy # Type checking
make deptry # Check for unused dependencies
make build # Build packageTesting
# Run all tests with coverage
make test-coverage
# Run specific test types
make test-unit # Unit tests only
make test-integration # Integration tests
make test-real-api # Tests against real NMDC API
make test-mcp # Test MCP protocolMCP Integration
Claude Desktop Setup
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nmdc-mcp": {
"command": "uvx",
"args": ["nmdc-mcp"]
}
}
}Claude Code MCP Setup
claude mcp add -s project nmdc-mcp uvx nmdc-mcpGoose Setup
goose session --with-extension "uvx nmdc-mcp"License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/microbiomedata/nmdc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server