Academic Search — MCP-сервер для поиска научных статей
Academic Search — это сервер, реализующий протокол MCP (Model Context Protocol), который позволяет языковым моделям (LLM) искать и получать информацию об академических публикациях из нескольких источников. Сервер предоставляет структурированные данные: метаданные статей, аннотации, а при возможности — полный текст.
Сервер ориентирован на интеграцию с Claude Desktop от Anthropic, но может работать и с другими клиентами, поддерживающими вызов инструментов (например, OpenAI API).
Важно: проект находится в активной разработке, функциональность может меняться.
Возможности
Сервер предоставляет три инструмента:
search_papers — поиск статей
- Параметры:
query (str) — поисковый запрос.
limit (int, опционально) — максимальное количество результатов (по умолчанию 10).
- Возвращает: отформатированную строку с деталями статей.
fetch_paper_details — детальная информация о статье
- Параметры:
paper_id (str) — идентификатор статьи (DOI или ID Semantic Scholar).
source (str, опционально) — источник данных: "crossref" или "semantic_scholar" (по умолчанию "crossref").
- Возвращает: метаданные: название, авторы, год, DOI, место публикации, статус открытого доступа, ссылку на PDF (только Semantic Scholar), аннотацию и краткое содержание (TL;DR), если доступно.
search_by_topic — поиск по теме с фильтром по годам
- Параметры:
topic (str) — запрос (до 300 символов).
year_start (int, опционально) — начальный год.
year_end (int, опционально) — конечный год.
limit (int, опционально) — максимум результатов (по умолчанию 10).
- Возвращает: названия, авторов, годы, аннотации, TL;DR, информацию о месте публикации и открытом доступе.
Установка
Через Smithery (автоматически)
npx -y @smithery/cli install @afrise/academic-search-mcp-server --client claude
Примечание: этот метод пока мало протестирован — возможны проблемы с сервером Smithery. Рекомендуется ручная установка.
Ручная установка через uv
- Установите зависимости:
uv add "mcp[cli]" httpx
- Настройте переменные окружения (или файл
.env):
SEMANTIC_SCHOLAR_API_KEY=ваш_ключ
CROSSREF_API_KEY=ваш_ключ # опционально, но рекомендуется
Замечание: на данный момент ключи API не используются — функционал ещё не реализован, но подготовлен для будущих версий.
- Запустите сервер:
uv run server.py
Настройка для Claude Desktop
Добавьте сервер в конфигурацию Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"academic-search": {
"command": "uv",
"args": ["run", "/путь/к/server/server.py"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "ваш_ключ",
"CROSSREF_API_KEY": "ваш_ключ"
}
}
}
}
После этого перезапустите Claude Desktop.
Разработка
Сервер написан на Python с использованием:
Источники данных
Лицензия
Проект распространяется под лицензией GNU Affero General Public License v3.0 (AGPL-3.0). Это означает:
- Вы можете свободно использовать, изменять и распространять программное обеспечение.
- Любые модификации должны быть опубликованы под той же лицензией.
- Если вы предоставляете сетевые услуги с использованием этого ПО, вы обязаны открыть исходный код.
- Коммерческое использование разрешено, но производные работы должны оставаться свободными и открытыми.
Полный текст лицензии — в файле LICENSE.
Как помочь проекту
Мы приветствуем вклад сообщества:
- Сделайте форк репозитория.
- Создайте ветку для новой функции:
git checkout -b feature/amazing-feature.
- Зафиксируйте изменения:
git commit -m 'Add amazing feature'.
- Отправьте ветку:
git push origin feature/amazing-feature.
- Откройте Pull Request.
Пожалуйста:
- Следуйте существующему стилю кода.
- Добавляйте тесты для новой функциональности.
- Обновляйте документацию.
- Убедитесь, что изменения соответствуют условиям лицензии AGPL-3.0.
Отправляя изменения, вы соглашаетесь, что ваш вклад будет лицензирован на условиях AGPL-3.0.
Комментарии
Комментариев пока нет. Будьте первым.