Metadata-Version: 2.4
Name: mlop-sl
Version: 0.0.13
Summary: mlop
Author-email: jqssun <jqssun+git@googlemail.com>, lakeesiv <lakeesivaraya@gmail.com>
Project-URL: Homepage, https://github.com/SLENSER0/ml_logger
Project-URL: Documentation, https://slenser0.tech/docs
Project-URL: Repository, https://github.com/mlop-ai/mlop.git
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: GitPython
Requires-Dist: httpx[http2]
Requires-Dist: keyring
Requires-Dist: keyrings.alt
Requires-Dist: numpy
Requires-Dist: pillow
Requires-Dist: psutil
Requires-Dist: pynvml
Requires-Dist: rich
Requires-Dist: soundfile
Provides-Extra: full
Requires-Dist: pynvml; extra == "full"
Provides-Extra: import
Requires-Dist: gql[requests]>=3; extra == "import"
Requires-Dist: requests; extra == "import"
Provides-Extra: mcp
Requires-Dist: mcp>=1.0; extra == "mcp"
Dynamic: license-file

```bash
git clone https://github.com/SLENSER0/ml_logger
cd ml_logger
pip install . 
```

```python
import mlop
```

## MCP server (Claude Code / Cursor)

`mlop mcp` runs a read-only [MCP](https://modelcontextprotocol.io/) stdio
server over your mlop instance, so coding agents can answer questions like
"which run had the best val_acc?" or "why did eval costs spike yesterday?".

```bash
pip install 'mlop-sl[mcp]'
```

Register with Claude Code:

```bash
claude mcp add mlop -e MLOP_API_KEY=mlps_... -e MLOP_HOST=https://slenser0.tech -- mlop mcp
```

Or in a generic MCP client config (Cursor `mcp.json` and similar):

```json
{
  "mcpServers": {
    "mlop": {
      "command": "mlop",
      "args": ["mcp"],
      "env": {
        "MLOP_API_KEY": "mlps_...",
        "MLOP_HOST": "https://slenser0.tech"
      }
    }
  }
}
```

If `MLOP_API_KEY` is unset, the server falls back to the token stored by
`mlop login`. Tools: `list_projects`, `list_runs`, `list_metrics`,
`get_metric_series`, `search_spans`, `get_costs`, `get_run_url`.

Original repo: [mlop-ai/mlop](https://github.com/mlop-ai/mlop)
