nmdc-mcp


Namenmdc-mcp JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryFastMCP-based tool for writing prompts against data in the NMDC (National Microbiome Data Collaborative) database
upload_time2025-07-11 21:28:32
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords biosamples fastmcp mcp microbiome model-context-protocol nmdc
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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:

```bash
uv sync
```

## Usage

You can use the CLI:

```bash
nmdc-mcp
```

Or import in your Python code:

```python
from nmdc_mcp.main import create_mcp

mcp = create_mcp()
mcp.run()
```

## Development

### Local Setup

```bash
# Clone the repository
git clone https://github.com/microbiomedata/nmdc-mcp.git
cd nmdc-mcp

# Install development dependencies
make dev
```

### Development Workflow

The project uses a comprehensive Makefile for development tasks:

```bash
# 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 package
```

### Testing

```bash
# 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 protocol
```

### MCP Integration

#### Claude Desktop Setup
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
  "mcpServers": {
    "nmdc-mcp": {
      "command": "uvx",
      "args": ["nmdc-mcp"]
    }
  }
}
```

#### Claude Code MCP Setup
```bash
claude mcp add -s project nmdc-mcp uvx nmdc-mcp
```

#### Goose Setup
```bash
goose session --with-extension "uvx nmdc-mcp"
```

## License

MIT
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "nmdc-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "biosamples, fastmcp, mcp, microbiome, model-context-protocol, nmdc",
    "author": null,
    "author_email": "Chris Mungall <cjmungall@lbl.gov>, Mark Andrew Miller <MAM@lbl.gov>, Sujay Patil <spatil@lbl.gov>",
    "download_url": "https://files.pythonhosted.org/packages/83/d4/6f5a93ca3e69f0aa13a91f550c3058890d28b24bb89235491d564e65a395/nmdc_mcp-0.3.0.tar.gz",
    "platform": null,
    "description": "# NMDC MCP\n\nA fastmcp-based tool for writing prompts against data in the NMDC database.\n\n## Installation\n\nYou can install the package from source using uv:\n\n```bash\nuv sync\n```\n\n## Usage\n\nYou can use the CLI:\n\n```bash\nnmdc-mcp\n```\n\nOr import in your Python code:\n\n```python\nfrom nmdc_mcp.main import create_mcp\n\nmcp = create_mcp()\nmcp.run()\n```\n\n## Development\n\n### Local Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/microbiomedata/nmdc-mcp.git\ncd nmdc-mcp\n\n# Install development dependencies\nmake dev\n```\n\n### Development Workflow\n\nThe project uses a comprehensive Makefile for development tasks:\n\n```bash\n# Run all development checks (tests, formatting, linting, type checking)\nmake all\n\n# Individual commands\nmake dev           # Install development dependencies\nmake test-coverage # Run tests with coverage\nmake format        # Format code with black\nmake lint          # Lint with ruff\nmake mypy          # Type checking\nmake deptry        # Check for unused dependencies\nmake build         # Build package\n```\n\n### Testing\n\n```bash\n# Run all tests with coverage\nmake test-coverage\n\n# Run specific test types\nmake test-unit         # Unit tests only\nmake test-integration  # Integration tests\nmake test-real-api     # Tests against real NMDC API\nmake test-mcp          # Test MCP protocol\n```\n\n### MCP Integration\n\n#### Claude Desktop Setup\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n```json\n{\n  \"mcpServers\": {\n    \"nmdc-mcp\": {\n      \"command\": \"uvx\",\n      \"args\": [\"nmdc-mcp\"]\n    }\n  }\n}\n```\n\n#### Claude Code MCP Setup\n```bash\nclaude mcp add -s project nmdc-mcp uvx nmdc-mcp\n```\n\n#### Goose Setup\n```bash\ngoose session --with-extension \"uvx nmdc-mcp\"\n```\n\n## License\n\nMIT",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "FastMCP-based tool for writing prompts against data in the NMDC (National Microbiome Data Collaborative) database",
    "version": "0.3.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/microbiomedata/nmdc-mcp/issues",
        "Changelog": "https://github.com/microbiomedata/nmdc-mcp/releases",
        "Documentation": "https://github.com/microbiomedata/nmdc-mcp/blob/main/README.md",
        "Homepage": "https://github.com/microbiomedata/nmdc-mcp",
        "Repository": "https://github.com/microbiomedata/nmdc-mcp"
    },
    "split_keywords": [
        "biosamples",
        " fastmcp",
        " mcp",
        " microbiome",
        " model-context-protocol",
        " nmdc"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "86a258291ac0fe2137d41a8c4e32d3b995107ace749e2174ccdd14248e788a7d",
                "md5": "1951d0dbb1e42b0b132bca31468cf33e",
                "sha256": "e86fdf8e7d8439bd3df98f6a0660a5d98aac52af208a10a0b3f6f855c9ccc389"
            },
            "downloads": -1,
            "filename": "nmdc_mcp-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1951d0dbb1e42b0b132bca31468cf33e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 15425,
            "upload_time": "2025-07-11T21:28:31",
            "upload_time_iso_8601": "2025-07-11T21:28:31.360666Z",
            "url": "https://files.pythonhosted.org/packages/86/a2/58291ac0fe2137d41a8c4e32d3b995107ace749e2174ccdd14248e788a7d/nmdc_mcp-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "83d46f5a93ca3e69f0aa13a91f550c3058890d28b24bb89235491d564e65a395",
                "md5": "8bfc7b50f7c445d695db2d148beeddc1",
                "sha256": "25af091ccc1e45596f77f4aa04179ecb61dab51349114a4d587e0f28821c4742"
            },
            "downloads": -1,
            "filename": "nmdc_mcp-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8bfc7b50f7c445d695db2d148beeddc1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 61195,
            "upload_time": "2025-07-11T21:28:32",
            "upload_time_iso_8601": "2025-07-11T21:28:32.725429Z",
            "url": "https://files.pythonhosted.org/packages/83/d4/6f5a93ca3e69f0aa13a91f550c3058890d28b24bb89235491d564e65a395/nmdc_mcp-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 21:28:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "microbiomedata",
    "github_project": "nmdc-mcp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nmdc-mcp"
}
        
Elapsed time: 0.41902s