# 本地部署

> 启动 Milvus、构建索引并运行 MCP 服务。

规范地址: https://keta1930.github.io/icml2026-mcp/zh/docs/getting-started/local-deployment



## Docker Compose [#docker-compose]

需要 Docker Compose，以及能够调用 `qwen3.7-text-embedding` 的 DashScope key。

```bash
mkdir -p deploy/secrets
printf '%s' 'YOUR_DASHSCOPE_KEY' > deploy/secrets/dashscope_api_key
chmod 600 deploy/secrets/dashscope_api_key

docker compose -f deploy/compose.yaml -f deploy/milvus.compose.yaml \
  up -d etcd minio standalone
docker compose -f deploy/compose.yaml -f deploy/milvus.compose.yaml \
  --profile build run --rm build-index
docker compose -f deploy/compose.yaml -f deploy/milvus.compose.yaml \
  up -d icml-mcp
```

本地 MCP 地址是 `http://127.0.0.1:20442/mcp`。索引和运行状态保存在 Docker volume 中。

## 直接运行 Python [#直接运行-python]

先启动项目提供的 Milvus 服务，再安装 Python 项目：

```bash
docker compose -f deploy/milvus.compose.yaml up -d etcd minio standalone
uv sync
cp .env.example .env
```

在 `.env` 中设置 `ICML_PAPERS_DASHSCOPE_API_KEY`，然后构建索引并启动服务：

```bash
uv run icml-papers build
uv run icml-papers build --execute --max-input-tokens 10000000
uv run icml-paper-search-mcp
```

直接运行时的地址是 `http://127.0.0.1:20441/mcp`。
