Skip to content

Conversation

@SoberPizza
Copy link
Collaborator

  • Added README.md detailing features, quick start guide, and usage examples for the Literature MCP service.
  • Created literature utility module with base client, DOI normalization, and deduplication functionalities.

Copilot AI review requested due to automatic review settings January 19, 2026 14:14
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @SoberPizza, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@codecov
Copy link

codecov bot commented Jan 19, 2026

Codecov Report

❌ Patch coverage is 12.76596% with 451 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
service/app/utils/literature/openalex_client.py 0.00% 232 Missing ⚠️
service/app/mcp/literature.py 8.07% 148 Missing ⚠️
service/app/utils/literature/work_distributor.py 46.59% 47 Missing ⚠️
service/app/utils/literature/doi_cleaner.py 17.24% 24 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request implements a comprehensive Literature MCP (Model Context Protocol) service for searching academic literature from multiple data sources, with initial support for OpenAlex API. The implementation follows OpenAlex API best practices including two-step name resolution, rate limiting, exponential backoff retry, and intelligent deduplication.

Changes:

  • Added a literature utility module with base client abstraction, DOI normalization/deduplication, and work distribution across multiple data sources
  • Implemented OpenAlex API client with advanced filtering (author, institution, journal, year, work type, language, retraction status)
  • Created MCP server with search and DOI lookup tools, including detailed error messages and guidance for LLM users

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
service/app/utils/literature/__init__.py Package initialization exposing core classes and functions
service/app/utils/literature/base_client.py Abstract base class defining the interface for literature data source clients
service/app/utils/literature/doi_cleaner.py DOI normalization and deduplication utilities with priority rules
service/app/utils/literature/work_distributor.py Central coordinator for distributing searches across multiple data sources and aggregating results
service/app/utils/literature/openalex_client.py OpenAlex API client implementation with rate limiting, retry logic, and two-step name resolution
service/app/mcp/literature.py MCP server exposing search_literature and get_work_by_doi tools with comprehensive documentation
service/app/utils/literature/README.md Comprehensive documentation in Chinese covering features, usage examples, and best practices
.gitignore Added exclusions for VS Code and MCP documentation directories

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…earch (skip pre-commit due to Pyright false positive on __getattr__)
@SoberPizza SoberPizza closed this Jan 20, 2026
@SoberPizza SoberPizza deleted the feature/your-feature-name branch January 20, 2026 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants