ICML Paper Search MCP
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-mcp

Connect 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 .env

Set 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-mcp

The direct Python endpoint is http://127.0.0.1:20441/mcp.

On this page