# CLI

> Commands for inspecting, building, searching, and serving.

Canonical: https://keta1930.github.io/icml2026-mcp/en/docs/reference/cli



The project installs `icml-papers` for index work and local testing, and `icml-paper-search-mcp` for the MCP service.

## `icml-papers info` [#icml-papers-info]

```bash
uv run icml-papers info
```

Print the Milvus endpoint, current collection, model, paths, and corpus statistics. This command does not call DashScope.

## `icml-papers build` [#icml-papers-build]

```bash
uv run icml-papers build
uv run icml-papers build --execute --max-input-tokens <CAP>
```

| Option                 | Purpose                                          |
| ---------------------- | ------------------------------------------------ |
| `--execute`            | Confirm DashScope calls and index writes         |
| `--max-input-tokens N` | Input-token cap; required with execute           |
| `--resume`             | Resume from a matching complete-batch checkpoint |

The first command is an offline preflight. The second calls DashScope and writes the Milvus collection. See [Build the index](https://keta1930.github.io/icml2026-mcp/en/docs/guides/rebuild-index).

## `icml-papers search` [#icml-papers-search]

```bash
uv run icml-papers search "discrete diffusion language models"
```

| Option        | Purpose                      |
| ------------- | ---------------------------- |
| `-k, --top-k` | Maximum results returned     |
| `-d, --depth` | Fixed candidate-window depth |
| `--area`      | Filter by research area      |
| `--type`      | Filter by paper type         |
| `--spotlight` | Return spotlight papers only |

Run without a query for interactive mode. Add `--session` there to suppress papers already returned during that terminal session.

## `icml-paper-search-mcp` [#icml-paper-search-mcp]

```bash
uv run icml-paper-search-mcp
```

Starts one Streamable HTTP process. The default endpoint is `http://127.0.0.1:20441/mcp`.

## Exit codes [#exit-codes]

`icml-papers` returns 0 on success and 2 for handled application or input errors.
