nmdc-mcp


Namenmdc-mcp JSON
Version 0.4.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-08-01 18:29:47
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/cc/21/fac505a43c6ab3c6e5623daf0088019c0c2e25ac8f136b95ed61b25d97a0/nmdc_mcp-0.4.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.4.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": "9ee7a462660520e8774c6f4236ae73caac1b086f1d1d110f31f8e3ba1ca2317a",
                "md5": "98b48c12568f74c0c38c66b7fbb3fd10",
                "sha256": "afc18929e2444daa4a45e04f675ee787a41f2d1023ce2b687ede7af723703f63"
            },
            "downloads": -1,
            "filename": "nmdc_mcp-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "98b48c12568f74c0c38c66b7fbb3fd10",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 17383,
            "upload_time": "2025-08-01T18:29:45",
            "upload_time_iso_8601": "2025-08-01T18:29:45.569423Z",
            "url": "https://files.pythonhosted.org/packages/9e/e7/a462660520e8774c6f4236ae73caac1b086f1d1d110f31f8e3ba1ca2317a/nmdc_mcp-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cc21fac505a43c6ab3c6e5623daf0088019c0c2e25ac8f136b95ed61b25d97a0",
                "md5": "6e76c9434e17457ead20a0073ca11f23",
                "sha256": "954c54d499ec180084c45db4678e4ab858b41374aef017ba1185894405b3b457"
            },
            "downloads": -1,
            "filename": "nmdc_mcp-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6e76c9434e17457ead20a0073ca11f23",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 63847,
            "upload_time": "2025-08-01T18:29:47",
            "upload_time_iso_8601": "2025-08-01T18:29:47.013670Z",
            "url": "https://files.pythonhosted.org/packages/cc/21/fac505a43c6ab3c6e5623daf0088019c0c2e25ac8f136b95ed61b25d97a0/nmdc_mcp-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-01 18:29:47",
    "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: 1.17255s