Getting Started
Local deployment
Run Milvus, build the index, and start the MCP server.
Docker Compose
You need Docker Compose and a DashScope key for qwen3.7-text-embedding.
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-mcpConnect to http://127.0.0.1:20442/mcp. Index data and runtime state live in Docker volumes.
Run Python directly
Start the bundled Milvus stack, then install the Python project:
docker compose -f deploy/milvus.compose.yaml up -d etcd minio standalone
uv sync
cp .env.example .envSet ICML_PAPERS_DASHSCOPE_API_KEY in .env, then build and start:
uv run icml-papers build
uv run icml-papers build --execute --max-input-tokens 10000000
uv run icml-paper-search-mcpThe direct Python endpoint is http://127.0.0.1:20441/mcp.