Scholar Sidekick MCP Server
Сервер MCP Scholar Sidekick — обнаруживает цитирования, созданные ИИ, по одному или по всей библиографии, из любого AI-ассистента. Он также проверяет статус ретракции и открытого доступа и разрешает любой академический идентификатор (DOI, PMID, PMCID, ISBN, arXiv, ISSN, NASA ADS bibcode, WHO IRIS URL) в 10 000+ CSL-стилей или в девяти форматах экспорта.
Основные возможности
-
Обнаружение фабрикации цитирования —
verifyCitationвыполняет перекрестную проверку заявленной цитаты с записью, полученной по её идентификатору, и выявляет доминирующую схему фабрикации, описанную в Topaz et al. (Lancet 2026) — реальный DOI + вымышленный заголовок — которую простое разрешение идентификатора не может поймать. Подробное объяснение на scholar-sidekick.com/citation-integrity. -
Аудит всей библиографии —
auditBibliographyвыполняет ту же проверку плюс поиск ретракций по всему списку ссылок за один вызов, принимает сырой BibTeX, RIS или CSL JSON и возвращает таблицу вердиктов по каждому элементу и сводку корпуса. Ограничение: до 25 записей за вызов. -
Проверки ретракции и открытого доступа —
checkRetractionвыявляет ретракции, исправления и выражения беспокойства (Crossref / Retraction Watch);checkOpenAccessвозвращает статус OA и лучшее законное место размещения или URL PDF (Unpaywall). Оба принимают любой тип идентификатора и скрыто приводят к DOI. -
Встроено восемь типов идентификаторов — DOIs, PMIDs, PMCIDs, ISBNs, arXiv IDs, ISSNs, NASA ADS bibcodes и WHO IRIS URLs (редко встречаются в инструментальных цепочках цитирования).
-
Пакетная обработка разрешения / форматирования / экспорта — каждый инструмент принимает одиночный идентификатор или список, разделённый запятой или переводами строк; сервер нормализует список и разрешает их за один запрос.
-
10 000+ стилей цитирования — пять встроенных стилей (Vancouver, AMA, APA, IEEE, CSE) плюс любой CSL style ID с резолвингом по псевдонимам и зависимым стилям.
-
Девять форматов экспорта — BibTeX, RIS, CSL JSON, EndNote (XML/Refer), RefWorks, MEDLINE, Zotero RDF, CSV, обычный текст.
-
Компонуемый рабочий процесс — соединяйте
resolveIdentifier→formatCitation→exportCitationв одном запросе для полного конвейера «сырые IDs → экспортируемая библиография». -
Метаданные происхождения на каждом ответе — форматированный вывод сопровождается блоком метаданных (
requestId,formatter,styleUsed,warnings), чтобы ассистент мог показать пользователю, какой движок создал каждую цитату. -
Ключ не требуется — работает анонимно против открытого Scholar Sidekick API (ограниченная бесплатная квота); можно добавить бесплатный first-party
ssk_ключ для больших лимитов, или ключ RapidAPI для платных/управляемых тарифов. -
Хостед HTTP-эндпойнт (без установки) — отдавайте предпочтение удалённому HTTP-экземпляру? Подключайтесь напрямую к
https://scholar-sidekick.com/api/mcp(Streamable HTTP) — те же семь инструментов, безnpx, без локального процесса. См. Hosted HTTP endpoint. -
REST API-двойник — те же конечные точки доступны через Scholar Sidekick REST API для интеграций без MCP.
Инструменты
| Инструмент | Описание |
|---|---|
| verifyCitation | Проверка заявленного цитирования по записи, найденной по идентификатору. Обнаруживает фабрикацию по паттерну Topaz et al. (Lancet 2026) — реальный DOI + выдуманный заголовок — который только разрешение идентификатора не поймает. Возвращает один из четырех вердиктов (matched / mismatch / ambiguous / not_found) плюсScores по полям и саму запись. Опционально Stage 3 LLM-экранирование устраняет ложные срабатывания по неформальным аббревиaциям (только для платных планов / аутентификация первого лица). Один цитат за вызов. |
| auditBibliography | Запустите проверку verifyCitation плюс поиск ретракции по всей библиографии за один вызов. Принимает сырой BibTeX, RIS или CSL-JSON текст, или пред-обработанный claims[]; возвращает таблицу вердиктов по каждому элементу и сводку корпуса. Ограничение: до 25 записей за вызов. |
| resolveIdentifier | Разрешение DOIs, PMIDs, PMCIDs, ISBNs, arXiv IDs, ISSNs, ADS bibcodes и WHO IRIS URLs в структурированные библиографические метаданные (CSL JSON). Принимает одиночный идентификатор или пакет, разделённый запятой/переводом строки. |
| formatCitation | Форматирование одного или нескольких идентификаторов в Vancouver, AMA, APA, IEEE, CSE или любым из 10 000+ CSL стилей. Вывод — текст, HTML или JSON. Возвращает форматированные цитаты плюс блок метаданных происхождения. |
| exportCitation | Экспорт одного или нескольких идентификаторов в BibTeX, RIS, CSL JSON, EndNote (XML/Refer), RefWorks, MEDLINE, Zotero RDF, CSV или обычный текст — готово к сохранению на диск или передаче менеджеру ссылок. |
| checkRetraction | Проверка, была ли работа ретрагтирована, исправлена или есть выражение обеспокоенности. Источник — Crossref / Retraction Watch. Разрешает входные данные DOI/PMID/PMCID/arXiv/ADS к DOI перед поиском. Один идентификатор за вызов. |
| checkOpenAccess | Проверка открытого доступа одной работы и места, где найти лучшую законную версию. Источник — Unpaywall. Возвращает статус OA (gold/green/hybrid/bronze/closed), лучшую посадочную страницу или URL PDF, лицензию и версию. Разрешает входные данные DOI/PMID/PMCID/arXiv/ISBN/ADS к DOI перед поиском. Один идентификатор за вызов. |
Все семь инструментов — только для чтения (readOnlyHint: true, destructiveHint: false). Точный payload tools/list — описания, JSON Schemas и аннотации — зафиксирован в tools.json и включён в npm tarball, чтобы вы могли просмотреть полный набор инструментов, не запуская ничего.
Установка
Ключ не требуется. Сервер функционирует анонимно против открытого Scholar Sidekick API
(https://scholar-sidekick.com) на ограниченной бесплатной квоте — просто установите и начните работать. Чтобы увеличить лимиты, создайте бесплатный first-party ssk_ ключ на
scholar-sidekick.com/account и задайте SCHOLAR_API_KEY.
Для платных/управляемых тарифов подключайтесь на
RapidAPI и
установите RAPIDAPI_KEY (который направляет вызовы через gateway RapidAPI).
Предпочитаете ноль установок? Есть также hosted HTTP endpoint по адресу
https://scholar-sidekick.com/api/mcp(Streamable HTTP) — подключайте любой MCP
client с поддержкой HTTP напрямую, без
npx. См. Hosted HTTP endpoint
ниже. Набор stdio, описанный здесь, — это локальная альтернатива (и путь для пользователей с RapidAPI-key).
Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows). Блок env необязателен — пропустите его, чтобы работать без ключа:
{
"mcpServers": {
"scholar-sidekick": {
"command": "npx",
"args": ["-y", "scholar-sidekick-mcp@latest"],
"env": {
"SCHOLAR_API_KEY": "ssk_your-first-party-key"
}
}
}
}
Claude Code
# Anonymous (no key):
claude mcp add scholar-sidekick -- npx -y scholar-sidekick-mcp@latest
# With a free first-party key for higher limits:
claude mcp add scholar-sidekick \
-e SCHOLAR_API_KEY=ssk_your-first-party-key \
-- npx -y scholar-sidekick-mcp@latest
Claude Code plugin (server + skill in one step)
Этот репозиторий также является маркетплейсом Claude Code plugin. Установка плагина подключает
сервер MCP и сопутствующий агент-скилл вместе — без отдельного
claude mcp add, без блока env:
/plugin marketplace add mlava/scholar-sidekick-mcp
/plugin install scholar-sidekick@scholar-sidekick
Плагин запускает сервер анонимно (без ключа). Для больших лимитов добавьте бесплатный
ssk_ ключ из scholar-sidekick.com/account
через claude mcp add, как показано выше, или используйте ниже размещённый endpoint.
Cursor / VS Code / Windsurf
Добавьте в .cursor/mcp.json или .vscode/mcp.json (блок env необязателен):
{
"mcpServers": {
"scholar-sidekick": {
"command": "npx",
"args": ["-y", "scholar-sidekick-mcp@latest"],
"env": {
"SCHOLAR_API_KEY": "ssk_your-first-party-key"
}
}
}
}
Run in a container (sandboxed)
Сервер общается через MCP по stdio и требует исходящие HTTPS-звонки к API Scholar Sidekick и больше ничего — файловой системы или шелла не нужно. Если ваша политика запрещает доступ к файловой системе, соберите образ в этом репозитории и запускайте изолированно:
docker build -t scholar-sidekick-mcp .
{
"mcpServers": {
"scholar-sidekick": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--read-only", "--cap-drop", "ALL", "--security-opt", "no-new-privileges",
"-e", "SCHOLAR_API_KEY",
"scholar-sidekick-mcp"
]
}
}
}
-i обязателен — это stdio-канал. Уберите строку с -e, если вы работаете без ключа.
Обратите внимание: образ не публикуется в реестр; собирайте локально, чтобы запускать именно собранное с исходников.
Agent skill (optional)
Установите сопутствующий Agent Skill, который обучает Claude Code, Cline и другим агентам использовать эти инструменты — он дополняет конфигурацию сервера выше:
npx skills add mlava/scholar-sidekick-mcp
Hosted HTTP endpoint (no install)
Не хотите запускать локальный stdio-сервер? Scholar Sidekick также доступен как hosted Streamable HTTP MCP по адресу https://scholar-sidekick.com/api/mcp — те же семь инструментов, без npx, без локального процесса. Он работает анонимно (ограниченная бесплатная квота); добавьте заголовок Authorization: Bearer ssk_… (бесплатный ключ из scholar-sidekick.com/account) для увеличения лимитов.
Укажите любой HTTP-клиент MCP:
{
"mcpServers": {
"scholar-sidekick": {
"type": "http",
"url": "https://scholar-sidekick.com/api/mcp"
}
}
}
В Claude Desktop выберите Settings → Connectors → Add custom connector (или "Add HTTP server") и вставьте URL. Добавьте Bearer-токен в поле заголовка клиента, если он есть.
Discovery: /.well-known/mcp.json
(SEP-1649 server card) перечисляет этот endpoint, а также endpoint без аутентификации ChatGPT Apps по адресу /api/apps/mcp. Указанный выше stdio-пакет остаётся локальной альтернативой и путём для пользователей с RapidAPI-key.
Переменные окружения
| Переменная | Требуется | Описание |
|---|---|---|
| SCHOLAR_API_KEY | Нет | Бесплатный первый-party ключ ssk_ с accounts; увеличивает лимиты и включает LLM-экранирование в verifier. Передаётся как Authorization: Bearer. |
| RAPIDAPI_KEY | Нет | Подписка RapidAPI для платных/управляемых тарифов; если задан, вызовы проходят через gateway RapidAPI. |
| RAPIDAPI_HOST | Нет | Хост RapidAPI (по умолчанию scholar-sidekick.p.rapidapi.com) |
| SCHOLAR_SIDEKICK_URL | Нет | Переопределение базового URL API (по умолчанию https://scholar-sidekick.com, или через RapidAPI gateway, если установлен RAPIDAPI_KEY). |
| SCHOLAR_SIDEKICK_TIMEOUT_MS | Нет | Таймаут запроса в миллисекундах (по умолчанию 30000) |
Без ключа — анонимный, ограниченный бесплатный режим. При наличии обоих ключей SCHOLAR_API_KEY и RAPIDAPI_KEY предпочтение отдаётся RapidAPI.
Поддерживаемые стили цитирования
Scholar Sidekick поддерживает 10 000+ CSL стилей, включая все основные форматы, применяемые в академической публикации:
| Стиль | Ключевое слово |
|---|---|
| Vancouver | vancouver |
| APA (7-е изд.) | apa |
| AMA | ama |
| IEEE | ieee |
| CSE | cse |
| Chicago (author-date) | chicago-author-date |
| Harvard | harvard-cite-them-right |
| MLA | modern-language-association |
| Turabian | turabian-fullnote-bibliography |
| Nature | nature |
| BMJ | bmj |
| Lancet | the-lancet |
Любой CSL style ID может быть передан через параметр style.
Пример использования
После подключения спросите вашего AI-ассистента:
Один идентификатор
-
"Форматировать 10.1056/NEJMoa2033700 в стиль Vancouver"
-
"Разрешить PMID:30049270 и экспортировать как BibTeX"
-
"Дайте мне цитату в Chicago для arXiv:2301.08745"
Пакетный ввод (через запятую или перевод строки — каждый инструмент обрабатывает пакет)
-
"Форматировать эти в APA: 10.1056/NEJMoa2033700, PMID:30049270, ISBN:9780192854087"
-
"Разрешить все эти записи и скажи, какие из них являются журналами, а какие — книгами: 10.1056/NEJMoa2033700, ISBN:9780192854087, PMC7793608"
Полный конвейер (ассистент последовательно выполняет resolveIdentifier → formatCitation → exportCitation в одном запросе)
-
"Разреши эти три идентификатора, отформатируй каждую в AMA и экспортируй набор как BibTeX: 10.1056/NEJMoa2033700, PMID:30049270, ISBN:9780192854087"
-
"Построй для меня библиографию в стиле Nature и выдай мне файл
.bibв конце: PMID:30049270, arXiv:2301.08745, 10.1038/s41586-021-03819-2"
Проверки ретракции и открытого доступа (один идентификатор за вызов)
-
"Был ли ретрагирован 10.1016/S0140-6736(20)31180-6?" → возвращает
isRetracted: trueс уведомлением о ретракции и дате -
"Открыт ли доступ к книге NumPy? Где можно прочитать её бесплатно?" → возвращает статус OA и лучший законный PDF URL с лицензией и версией
-
"Проверить, есть ли у arXiv:2301.08745 исправления или выражения обеспокоенности." → разрешает arXiv → DOI, затем запрашивает Retraction Watch
Поддерживаемые идентификаторы
-
DOIs (например,
10.1056/NEJMoa2033700) -
PubMed IDs (например,
PMID:30049270) -
PubMed Central IDs (например,
PMC7793608) -
ISBNs (например,
ISBN:9780192854087) -
arXiv IDs (например,
2301.08745) -
ISSN и eISSN
-
NASA ADS bibcodes
-
WHO IRIS URL
Прозрачность происхождения и детерминизм
Каждый ответ формата formatCitation и exportCitation сопровождается блоком метаданных, чтобы ассистент — и пользователь — видели, точно какая система создала каждую цитату:
-
formatter—builtin(один из Vancouver, AMA, APA, IEEE, CSE — вручную настроен на TypeScript) илиcsl(citeproc-js с CSL-стилевой таблицей). -
styleUsed— канонический идентификатор стиля после разрешения псевдонимов и зависимых стилей (например, запросharvardприводит кharvard-cite-them-right). -
requestId— идентификатор запроса для поддержки, воспроизводимости и корреляции логов. -
warnings— заполняется, если использовался запасной вариант или запрошенный стиль зависим от другого.
Разрешение идентификаторов детерминировано при одинаковых входных данных и фиксированном upstream-мете metadata. Повторные идентичные запросы к underlying REST API приводят к кешированию через заголовок x-scholar-cache.
REST API
Для программного доступа вне MCP-клиентов те же возможности доступны как REST API по адресу scholar-sidekick.com/docs — анонимно, с бесплатным первым-party ssk_ ключом (Authorization: Bearer), или через RapidAPI для платных тарифов. Какие бы учетные данные вы ни использовали здесь, они работают и там.
Разработка
npm install
npm run build # Собирает в dist/mcp-server.mjs
npm test # Запуск тестов
npm run typecheck
Лицензия
MIT