feat(mcp): add configurable reranker/cross-encoder support #1152
+171
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Add configurable reranker (cross-encoder) support to MCP server for 2-stage retrieval:
Changes
mcp_server/src/config/schema.py: AddRerankerConfigandRerankerProvidersConfigmcp_server/src/services/factories.py: AddRerankerFactorywith OpenAI and Gemini supportConfiguration
Environment Variables
YAML Config
Graceful Degradation
If
graphiti-coreversion doesn't includecross_encodermodule, the factory will raise a clear error:Why gpt-4.1-nano as default?
Reranker performs simple True/False classification per passage. The task is lightweight, so:
gpt-4.1-nano— faster, good for high-throughputgpt-5-nano— 2x cheaper input ($0.05 vs $0.10/1M), but has reasoning overheadUsers can choose based on their latency vs cost preferences.
Built OnSteroids