MCPyLate / README.md
Antoine Chaffin
Comprehensive readme
964e5bb
metadata
title: MCPyLate
emoji: πŸ•
colorFrom: indigo
colorTo: green
sdk: gradio
sdk_version: 5.33.0
app_file: app.py
pinned: false
license: apache-2.0
short_description: MCP server to perform search using PyLate
language:
  - en
tags:
  - ColBERT
  - PyLate
  - mcp-server-track

MCPyLate

Multi-vector search has shown very strong performance compared to single dense vector search in numerous domain, including out-of-domain, long-context and reasoning-intensive retrieval.

They are thus particularly well suited for modern retrieval use cases, including agentic workflows. PyLate is library built on top of sentence-transformers that allows to easily train and use multi-vector models.

This MCP server is a demonstration of the use of PyLate models alongside its index optimized for multi-vector search, PLAID.

This repository propose to search among the leetcode split of the BRIGHT dataset using Reason-ModernColBERT. This 150M parameters model outperforms 7B models on this reasoning-intensive retrieval benchmark, which requires reasoning to find relevant documents. Although it can perform reasoning on its own, it benefits from LLM reformulation and is thus particularly suited as a MCP to collaborate with an LLM. Effectively, this demo allows to build a tool that can solve any leetcode problem by searching for problems that require similar algorithms and feed it to the LLM.

You can see it working in this example, where the agent find relevant leetcode solution, propose solutions with different complexity level as well as associated tests to validate them and even vizualisation tool.

https://youtu.be/Vvp2bPSfN68

The tool can easily be tweaked to index and search any dataset. For example, by indexing MS MARCO with GTE-ModernColBERT, this results in a Deep Research tool that can search among the web corpus and create reports based on successive queries.

https://youtu.be/WJx0XgYIlvA