blazickjp/arxiv-mcp-server

blazickjp/arxiv-mcp-server

от blazickjp
Ищет научные статьи arXiv по датам и категориям, скачивает и читает полные тексты, сохраняет их в локальную папку.

arxiv-mcp-server

PyPI Downloads License MCP Registry Tests GitHub stars

Install in VS Code Install MCP Server Add to Kiro Claude Code OpenAI Codex Hermes Agent

A local MCP server for agent literature work. The differentiator is original-LaTeX section reads, BibTeX from arXiv metadata, and topic watches. Papers stay on disk. The working loop is paper ID → outline → one section → citations. Search is optional.

Install

The default install is uvx arxiv-mcp-server. Command-based integrations need uv, which provides uvx. No repository clone or Python environment setup is required.

uvx arxiv-mcp-server

Add this stdio configuration to clients that accept the mcpServers JSON shape, such as Claude Desktop and Kiro. Other clients may use a top-level servers object, TOML, or their own settings UI; consult the client's MCP documentation.

{
  "mcpServers": {
    "arxiv": {
      "type": "stdio",
      "command": "uvx",
      "args": ["arxiv-mcp-server"]
    }
  }
}

The default paper directory is ~/.arxiv-mcp-server/papers. To choose another directory, append "--storage-path", "/absolute/path/to/papers" to args.

Часто задаваемые вопросы

Инструменты были проиндексированы:
check_alertsвнешний мир

Проверяет все сохранённые отслеживания тем на наличие новых опубликованных статей с момента последней проверки. Пропуск параметра topic запускает ВСЕ сохранённые отслеживания и возвращает новые статьи для каждого. Передача строки topic проверяет только конкретное отслеживание. После выполнения продвигает курсор опустошения (drain cursor) каждого отслеживания: когда страница обрезается параметром max_results, has_more=true, а check_start смещается так, что последующие вызовы возвращают следующие статьи в том же окне (границы дат Atom имеют дневную гранулярность и иначе снова упёрлись бы в границу); last_checked отслеживает самую новую возвращённую статью. Когда страница не заполнена, last_checked становится равным текущему моменту, а курсор опустошения сбрасывается. Используйте watch_topic для регистрации тем перед вызовом этого инструмента. Возвращает понятную ошибку «не найдено», если topic указан, но соответствующего отслеживания не существует. Возвращает сводку с количеством новых статей, has_more и полными метаданными статей по каждой теме.

Параметры
  • topicstring

    Необязательно: проверяйте только эту конкретную отслеживаемую тему (должна точно совпадать со строкой темы, использованной в watch_topic). Если не указано — проверяйте все сохранённые подписки.

citation_graphтолько чтениевнешний мир

Возвращает статьи, цитирующие статью arXiv, и статьи, на которые она ссылается, с помощью графа цитирования Semantic Scholar. Результаты ограничены (по умолчанию 50), чтобы не выходить за пределы квоты для неавторизованных запросов. Графы кэшируются на диске, чтобы сократить повторные вызовы API. Под нагрузкой бесплатный ключ API Semantic Scholar (https://www.semanticscholar.org/product/api#api-key) делает это надёжным; без ключа постоянные ограничения частоты запросов возвращают status=rate_limited с недвусмысленным предупреждением вместо жёсткого сбоя.

Параметры
  • max_citationsinteger

    Максимум цитат и ссылок для возврата (по умолчанию 50).

  • paper_idstringобязательный

    Идентификатор arXiv (например: 2401.12345).

download_paperвнешний мир

Скачивает статью с arXiv и возвращает её текстовое содержание. Сначала пробует HTML-версию для чистого извлечения; при недоступности HTML переключается на преобразование из PDF. Сохраняет статью локально. Возвращаемый текст по умолчанию ограничен примерно 12 000 символов, чтобы один вызов не мог вернуть неограниченное тело статьи. Когда is_truncated равен true, вызовите снова с параметром start=next_start (см. next_retrieval), чтобы продолжить, или передайте return_full_text=true для получения всего оставшегося текста статьи. Установите force=true, чтобы повторно загрузить и перезаписать кэшированную статью (требуется для замены более новой сохранённой версии arXiv на более старую).

Параметры
  • forceboolean

    Если true, повторно загружает и перезаписывает локальный Markdown и сопутствующий файл метаданных, даже если статья уже кэширована, включая случаи замены более новой сохраненной версии arXiv на более старую. По умолчанию false.

  • max_charsinteger

    Максимальное количество символов исходной статьи для возврата с начала; если не указано, используется ограничение по умолчанию (12 000 символов).

  • paper_idstringобязательный

    Идентификатор arXiv статьи для загрузки (например, '2103.12345')

  • return_full_textboolean

    Установите значение true, чтобы отказаться от ограниченного поведения по умолчанию и вернуть весь оставшийся документ с самого начала одним вызовом.

  • startinteger

    Смещение символов с нулевой базой для возврата больших статей по частям; передайте next_start из предыдущего усечённого ответа, чтобы продолжить

export_citationsтолько чтениевнешний мир

Экспортирует ссылки BibTeX для одной или нескольких статей arXiv, используя официальные метаданные arXiv (название, авторы, год, основная категория), но никогда не поля, сгенерированные моделью. Суффиксы версий (например, '2401.12345v2') сохраняются, а ключи цитирования детерминированы. Возвращает сформированный BibTeX, а также статус/ошибку для каждой статьи. Только BibTeX; RIS/CSL-JSON пока не поддерживаются.

Параметры
  • paper_idsstring[]обязательный

    Идентификаторы arXiv: новый формат ('2401.12345', с опциональной версией '2401.12345v2') или старый ('hep-ph/9901234').

get_abstractтолько чтениевнешний мир

Получает аннотацию и метаданные по arXiv ID без скачивания статьи. Используйте перед download_paper для оценки релевантности. Возвращает название, авторов, аннотацию, категории, дату публикации и URL PDF. После компактного поиска используйте для получения одной полной аннотации; пропустите, если поиск использовал abstract_mode=full.

Параметры
  • paper_idstringобязательный

    Идентификатор статьи arXiv (например, '2401.12345' или '2404.19756')

get_paper_latexвнешний мир

Скачивает, безопасно обрабатывает, кэширует и возвращает ограниченный исходный LaTeX-код. Используйте инструменты разделов для адресного чтения.

Параметры
  • max_charsinteger

    Максимальное количество символов исходного текста для возврата (по умолчанию 12000)

  • paper_idstringобязательный

    Подтверждённый современный или устаревший идентификатор статьи arXiv

  • return_full_textboolean

    Установите значение true, чтобы отказаться от ограничения по умолчанию и получить весь оставшийся исходный код или раздел с начала одним вызовом.

  • startinteger

    Смещение символа от нуля в пределах этого источника или раздела.

get_paper_latex_sectionвнешний мир

Возвращает одну ограниченную секцию LaTeX по идентификатору или заголовку структуры (нормализованы пробелы и регистр; раскрыты макросы).

Параметры
  • max_charsinteger

    Максимальное количество символов исходного текста для возврата (по умолчанию 12000)

  • paper_idstringобязательный

    Подтверждённый современный или устаревший идентификатор статьи arXiv

  • return_full_textboolean

    Установите значение true, чтобы отказаться от ограничения по умолчанию и получить весь оставшийся исходный код или раздел с начала одним вызовом.

  • section_idstringобязательный

    Идентификатор раздела из list_paper_latex_sections или заголовок раздела

  • startinteger

    Смещение символа от нуля в пределах этого источника или раздела.

get_paper_outlineтолько чтение

Возвращает постраничную структуру заголовков для загруженного документа (markdown). Стабильные иерархические идентификаторы разделов; чтобы получить один раздел, используйте read_paper_section.

Параметры
  • max_sectionsinteger

    Максимальное количество заголовков для возврата (по умолчанию 100)

  • paper_idstringобязательный

    Подтверждённый современный или устаревший идентификатор статьи arXiv

  • startinteger

    Индекс раздела с нуля (по умолчанию 0)

list_paper_latex_sectionsвнешний мир

Возвращает компактный план заголовков из исходного LaTeX-кода.

Параметры
  • max_sectionsinteger

    Максимальное количество заголовков для возврата (по умолчанию 100)

  • paper_idstringобязательный

    Подтверждённый современный или устаревший идентификатор статьи arXiv

  • startinteger

    Индекс раздела с нуля (по умолчанию 0)

list_papersтолько чтение

Перечисляет все статьи, которые были загружены и сохранены локально через download_paper. Возвращает id, title, authors, published и arxiv_version/versioned_id из локальных метаданных — без повторного запроса в реальном времени. Установите compact=true, чтобы вернуть только идентификаторы arXiv. Возвращает пустой список, если ещё не было загружено ни одной статьи. Рабочий процесс: search_papers -> download_paper -> list_papers -> read_paper.

Параметры
  • compactboolean

    Если истинно, возвращаются только идентификаторы arXiv. По умолчанию возвращаются полные локальные метаданные (id, title, authors, published, arxiv_version, versioned_id).

list_watchesтолько чтение

Выводит список всех сохранённых отслеживаний тем без проверки новых статей. Возвращает тему каждого отслеживания, категории, временную метку last_checked и другие сохранённые поля. Не обновляет last_checked: используйте эту команду для просмотра сохранённых данных. Для удаления отслеживания используйте unwatch_topic, а для опроса новых статей — check_alerts.

Параметры

Без параметров.

read_paperтолько чтение

Читает текстовое содержимое статьи, которая была ранее загружена через download_paper. Возвращает статью в формате Markdown, по умолчанию ограниченном примерно 12 000 символов, чтобы один вызов не возвращал неограниченный текст статьи. Когда is_truncated равен true, вызовите снова с параметром start=next_start (см. next_retrieval), чтобы продолжить, или передайте return_full_text=true для получения всего оставшегося текста статьи. Завершится ошибкой с понятным сообщением, если статья еще не загружена — сначала вызовите download_paper. Рабочий процесс: search_papers -> download_paper -> read_paper.

Параметры
  • max_charsinteger

    Максимальное количество символов исходной статьи для возврата с начала; если не указано, используется ограничение по умолчанию (12 000 символов).

  • paper_idstringобязательный

    Идентификатор arXiv статьи для чтения

  • return_full_textboolean

    Установите значение true, чтобы отказаться от ограниченного поведения по умолчанию и вернуть весь оставшийся документ с самого начала одним вызовом.

  • startinteger

    Отсчитывайте символы от нуля, чтобы читать большие документы по частям; передавайте next_start из предыдущего усечённого ответа, чтобы продолжить.

read_paper_sectionтолько чтение

Возвращает один ограниченный раздел Markdown по идентификатору структуры (или уникальному заголовку). Не включает соседние или родительские разделы.

Параметры
  • max_charsinteger

    Максимальное количество символов раздела для возврата (по умолчанию 12 000)

  • paper_idstringобязательный

    Подтверждённый современный или устаревший идентификатор статьи arXiv

  • return_full_textboolean

    Если условие истинно, верните весь оставшийся раздел с начала.

  • section_idstringобязательный

    ID раздела из get_paper_outline или уникальное название

  • startinteger

    Смещение символа от нуля внутри этого раздела.

reindex

Перестраивает локальный семантический индекс для загруженных статей.

Параметры
  • clear_existingboolean

    Если true, очистите существующий индекс перед пересборкой.

search_papersтолько чтениевнешний мир

Ищет в arXiv по запросу с опциональными категориями, диапазоном дат, сортировкой и пагинацией. Запрос: используй кавычки для фраз; ti:/au:/abs:/cat:; AND/OR/ANDNOT. Термины без префиксов ищутся в заголовке+аннотации (не в авторах). Используй категории (cs.AI, cs.LG, cs.CL, cs.CV, cs.MA, cs.RO, stat.ML, quant-ph). Каталог и примеры: README 'search_papers query guide'. Даты в формате YYYY-MM-DD (date_from/date_to). sort_by relevance|date. max_results по умолчанию 5 (максимум 50). abstract_mode none|snippet|full (по умолчанию snippet). start по умолчанию 0. Ответ: total_results, returned, has_more, next_start, abstract_mode. Передавай next_start с тем же abstract_mode. Используй get_abstract после компактного поиска — но не после abstract_mode=full. arXiv требует паузы ~3 секунды между запросами (на стороне сервера). Временные ошибки 429/503 повторяются с backoff; при превышении лимита возвращается status=rate_limited.

Параметры
  • abstract_modeenum

    Проекция содержимого (по умолчанию — фрагмент ~280 символов, помечается при обрезании; полная — целиком; нет — опустить).

  • categoriesstring[]

    Фильтры по категориям arXiv (например, ['cs.LG', 'cs.AI']). Заметно повышают релевантность.

  • date_fromstring

    Дата начала включительно (ГГГГ-ММ-ДД).

  • date_tostring

    Конечная дата включительно (YYYY-MM-DD).

  • max_resultsinteger

    Максимальное количество возвращаемых результатов (по умолчанию: 5, макс.: 50).

  • querystringобязательный

    Строка запроса arXiv. Предпочтительно использовать фразы в кавычках и префиксы полей ti:/au:/abs:/cat:; поддерживаются операторы AND/OR/ANDNOT.

  • sort_byenum

    Сортировать по «релевантности» (по умолчанию) или «дате» (сначала новые).

  • startinteger

    Смещение результата с нулевой индексацией (по умолчанию: 0). Передайте next_start из предыдущего ответа, чтобы получить следующую страницу.

search_paper_textтолько чтение

Ищет в скачанной статье совпадающие фрагменты заданной длины с указанием смещений в разделе/источнике. Подавляет почти дубликаты с высоким перекрытием и предпочитает результаты из разных разделов. Облегчённый поиск подстрок; без Torch.

Параметры
  • max_passagesinteger

    Максимум возвращаемых отрывков (по умолчанию 8)

  • paper_idstringобязательный

    Подтверждённый современный или устаревший идентификатор статьи arXiv

  • passage_charsinteger

    Максимум символов в отрывке (по умолчанию 800)

  • querystringобязательный

    Подстрока для поиска без учёта регистра

semantic_searchтолько чтение

Выполняет семантический поиск по статьям, которые вы уже загрузили локально через download_paper. Поддерживает запросы в свободной форме (например, 'механизмы внимания для длинных последовательностей') или поиск статей, похожих на заданный paper_id. ВАЖНО: поиск выполняется только по вашей локальной коллекции загруженных статей — вернет пустые результаты, если статьи еще не загружены. Используйте search_papers для поиска статей на arXiv, затем download_paper, чтобы добавить их в локальный индекс перед использованием этого инструмента. Требует pro-зависимости: uvx --from 'arxiv-mcp-server[pro]' arxiv-mcp-server (или uv tool install 'arxiv-mcp-server[pro]').

Параметры
  • max_resultsinteger

    Максимальное количество возвращаемых результатов (по умолчанию: 10).

  • paper_idstring

    Находит статьи, семантически похожие на указанный идентификатор статьи arXiv.

  • querystring

    Выполняет семантический запрос по свободному тексту.

unwatch_topic

Удаляет сохранённую подписку на тему по точной строке темы. Тема должна точно совпадать с сохранённым значением watch_topic. Возвращает понятную ошибку «не найдено», если подходящая подписка отсутствует. Используйте list_watches для просмотра сохранённых подписок перед удалением.

Параметры
  • topicstringобязательный

    Точная строка темы для удаления. Должна совпадать с темой, использованной в watch_topic.

watch_topic

Сохраняет или обновляет постоянное отслеживание темы исследования. При проверке через check_alerts возвращает только статьи, опубликованные с момента последней проверки, и служит постоянным оповещением о новых работах по теме. Новые отслеживания устанавливают last_checked на время создания, чтобы первая проверка не выдавала исторические совпадения. Строка темы использует тот же синтаксис запросов, что и search_papers (фразы в кавычках, указатели полей, логические операторы). Примеры: '"diffusion models" AND ti:"video generation"', 'au:"LeCun" AND cs.LG'. Вызов watch_topic с той же строкой темы обновляет существующее отслеживание, а не создает дубликат. При обновлении опускает categories для сохранения существующих фильтров; передача categories: [] очищает их. Сочетается с check_alerts для опроса новых статей.

Параметры
  • categoriesstring[]

    Необязательный фильтр по категориям arXiv (например, ['cs.LG', 'cs.AI']). Сужает результаты до конкретных областей. При обновлении опустите это поле, чтобы сохранить существующие категории; передайте пустой массив [], чтобы очистить их.

  • max_resultsinteger

    Максимальное количество статей для возврата за одну проверку оповещений (по умолчанию: 10).

  • topicstringобязательный

    Строка запроса для мониторинга. Использует синтаксис поиска arXiv: фразы в кавычках для точных совпадений, спецификаторы полей (ti:, au:, abs:) и логические операторы (AND, OR, ANDNOT). Пример: '"reinforcement learning" AND "robotics"'.

0.8.2основная
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0

Выберите клиент, чтобы установить blazickjp/arxiv-mcp-server:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "blazickjp-arxiv-mcp-server-xalze2zjl1": {
      "args": [
        "arxiv-mcp-server"
      ],
      "type": "stdio",
      "command": "uvx"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "blazickjp-arxiv-mcp-server-xalze2zjl1": {
      "args": [
        "arxiv-mcp-server"
      ],
      "type": "stdio",
      "command": "uvx"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "blazickjp-arxiv-mcp-server-xalze2zjl1": {
      "type": "stdio",
      "args": [
        "arxiv-mcp-server"
      ],
      "command": "uvx"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"blazickjp-arxiv-mcp-server-xalze2zjl1\",\"type\":\"stdio\",\"args\":[\"arxiv-mcp-server\"],\"command\":\"uvx\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "blazickjp-arxiv-mcp-server-xalze2zjl1": {
      "args": [
        "arxiv-mcp-server"
      ],
      "type": "stdio",
      "command": "uvx"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add blazickjp-arxiv-mcp-server-xalze2zjl1 -- uvx arxiv-mcp-server

Либо через JSON-конфиг:

claude mcp add-json blazickjp-arxiv-mcp-server-xalze2zjl1 "{\"args\":[\"arxiv-mcp-server\"],\"type\":\"stdio\",\"command\":\"uvx\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add blazickjp-arxiv-mcp-server-xalze2zjl1 -- uvx arxiv-mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.blazickjp-arxiv-mcp-server-xalze2zjl1]
command = "uvx"
args = ["arxiv-mcp-server"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите blazickjp/arxiv-mcp-server, а в поле команды запуска — строку ниже:
uvx arxiv-mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "blazickjp-arxiv-mcp-server-xalze2zjl1": {
      "args": [
        "arxiv-mcp-server"
      ],
      "type": "stdio",
      "command": "uvx"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "blazickjp-arxiv-mcp-server-xalze2zjl1": {
      "args": [
        "arxiv-mcp-server"
      ],
      "type": "stdio",
      "command": "uvx",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например blazickjp-arxiv-mcp-server-xalze2zjl1.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: blazickjp-arxiv-mcp-server-xalze2zjl1
    command: uvx
    args:
      - "arxiv-mcp-server"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "blazickjp-arxiv-mcp-server-xalze2zjl1": {
      "args": [
        "arxiv-mcp-server"
      ],
      "type": "stdio",
      "command": "uvx"
    }
  }
}

Похожие MCP-сервера

takashiishida/arxiv-latex-mcp

takashiishida/arxiv-latex-mcp

от takashiishida

MCP сервер для доступа к LaTeX-исходникам arXiv. Точная обработка математических формул отличает его от PDF. Предоставляет инструменты: полный текст, абстракт, разделы статьи. Полезен для работы с научными публикациями в Claude, Cursor и других.

Python⭐ 148
pallaprolus/mendeley-mcp

pallaprolus/mendeley-mcp

от pallaprolus

MCP-сервер, который подключает вашу библиотеку Mendeley к ИИ-ассистентам вроде Claude. Ищите статьи, управляйте папками, читайте аннотации и даже извлекайте полный текст PDF. Незаменим для исследователей — работа с литературой через LLM становится быстрой и удобной.

Python⭐ 46
mlava/scholar-sidekick-mcp

mlava/scholar-sidekick-mcp

от mlava

MCP-сервер для научных идентификаторов: преобразует DOI, PMID, arXiv в цитаты (10 000+ стилей CSL) и экспорт (BibTeX, RIS и др.), проверяет отзывы, открытый доступ и фабрикацию. Полезен исследовате...

TypeScript⭐ 11
YGao2005/scholar-feed-mcp

YGao2005/scholar-feed-mcp

от ygao2005

MCP-сервер для поиска более 600 000 научных статей по CS/AI/ML с LLM-анализом новизны. Помогает исследователям проводить литературный обзор и отслеживать тренды прямо в Claude Code или Cursor.

TypeScript⭐ 12
SelfPy/science-ai-mcp-server

SelfPy/science-ai-mcp-server

от selfpy

MCP сервер Science AI Journal предоставляет инструменты для предпроверки, рецензирования и подбора научных журналов, а также проверки дубликатов - всё без выхода из ИИ-ассистента.

TypeScript⭐ 1
connerlambden/bgpt-mcp

connerlambden/bgpt-mcp

от connerlambden

Сервер BGPT даёт AI-помощникам и Python-скриптам доступ к структурированным данным из научных статей: методам, результатам и выводам. Незаменим для обзоров литературы и проверки гипотез.

JavaScript⭐ 43
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин