Metadata-Version: 2.4
Name: physionet-mcp
Version: 0.0.2
Summary: Lean BigQuery-only MCP server for PhysioNet datasets
Project-URL: Homepage, https://github.com/rafiattrach/physionet-mcp
Project-URL: Repository, https://github.com/rafiattrach/physionet-mcp
Project-URL: Issues, https://github.com/rafiattrach/physionet-mcp/issues
Author-email: Rafi Al Attrach <rafiaa@mit.edu>, Pedro Moreira <pedrojfm@mit.edu>, Rajna Fani <rajnaf@mit.edu>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Healthcare Industry
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Requires-Python: >=3.10
Requires-Dist: db-dtypes>=1.0.0
Requires-Dist: fastmcp>=0.1.0
Requires-Dist: google-cloud-bigquery>=3.0.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: sqlparse>=0.4.0
Description-Content-Type: text/markdown

# physionet-mcp

Lean MCP server for PhysioNet datasets - works with any PhysioNet dataset you have access to.

📺 **This is a lean version of m3 with similar BigQuery and PhysioNet setup. Check out detailed videos here:** [https://rafiattrach.github.io/m3/](https://rafiattrach.github.io/m3/)

## Quick Setup

### Production (After PyPI release)
```json
{
  "mcpServers": {
    "physionet-mcp": {
      "command": "uvx",
      "args": ["physionet-mcp"],
      "env": {
        "BIGQUERY_PROJECT_ID": "your-project-id"
      }
    }
  }
}
```

### Local Development
```json
{
  "mcpServers": {
    "physionet-mcp": {
      "command": "/path/to/physionet-mcp/venv/bin/python",
      "args": ["-m", "physionet_mcp.mcp_server"],
      "cwd": "/path/to/physionet-mcp",
      "env": {
        "BIGQUERY_PROJECT_ID": "your-project-id"
      }
    }
  }
}
```

Replace `your-project-id` with your Google Cloud project ID.

## 4 Simple Tools

1. **list_accessible_datasets** → See what you can access
2. **get_database_schema** → Find tables in a dataset  
3. **get_table_info** → Check structure & sample data
4. **execute_query** → Run your analysis

## Usage Examples

- "What PhysioNet datasets can I access?"
- "Show me MIMIC-IV hospital tables"
- "What's in the patients table?"
- "How many patients are in MIMIC-IV?"

## Future Enhancements

Potential improvements for enterprise use:

- **Dataset filtering** - Restrict access to specific datasets for security
- **Query optimization** - Add result caching and query cost tracking  
- **Rate limiting** - Implement query throttling for shared environments
- **Enhanced metadata** - Add column descriptions and data quality metrics

## License

MIT