hal-mcp
hal-mcp
Сервер MCP (Model Context Protocol) для HAL — французского национального открытого архива (Hyper Articles en Ligne). Он позволяет ИИ-ассистенту — Claude или любому MCP-совместимому клиенту — запрашивать HAL: искать публикации, вычислять статистику, экспортировать цитаты и отслеживать результаты исследователя.
Не требуется API-ключ. Он выходит за рамки простого поиска благодаря фасетам (агрегированная статистика), отслеживанию авторов по IdHAL и встроенному библиографическому экспорту.
Возможности (6 инструментов)
Инструмент | Описание |
| Поиск с удобными фильтрами: диапазон лет, тип документа, открытый доступ, наличие полного текста, сортировка. |
| Полная запись для одного документа по его идентификатору HAL. |
| Экспорт в BibTeX / EndNote / CSV / TEI (через собственный параметр |
| Агрегированные подсчёты (по году, типу, ключевому слову, автору) с использованием фасетов Solr. |
| Полный список публикаций исследователя по IdHAL, с опциональным указанием наиболее частых соавторов. |
| Поиск лабораторий / исследовательских структур. |
Related MCP server: Crossref Academic MCP Server
Требования
Python 3.10 или новее
SDK
mcpверсии 1.x (см. важное примечание ниже)
⚠️ Важно — версия SDK
mcpЭтот сервер используетFastMCP, который был удалён вmcpv2.0.0. Поэтому проект закрепляетmcp>=1.2.0,<2.0.0. Если при запуске вы видите ошибку импортаFastMCP, значит, по ошибке была установлена v2: переустановите с помощьюpip install "mcp<2.0.0".
Установка
git clone https://github.com/Arpany-Tech/hal-mcp
cd hal-mcp
pip install -e .Проверка работы
1. Проверьте, что сервер запускается
python -m hal_mcp.serverКурсор зависает без вывода: это нормально. Сервер запущен и ожидает сообщения MCP на стандартном вводе. Нажмите Ctrl+C, чтобы остановить его. (Если вместо этого вы получили ошибку, см. примечание о SDK mcp выше.)
2. Интерактивное тестирование с MCP Inspector
Официальный инструмент для изучения MCP-сервера без полного клиента:
npx @modelcontextprotocol/inspector python -m hal_mcp.serverОткройте напечатанный URL, нажмите Подключиться, затем Список инструментов: появятся 6 инструментов. Вы можете вызвать каждый из них вручную и просмотреть ответы.
3. Проверьте слой API напрямую (без MCP)
python3 - << 'PY'
import asyncio
from hal_mcp import client
async def main():
res = await client.search_publications(
"artificial intelligence", year_from=2023,
open_access_only=True, rows=3,
)
print("Total:", res["total"])
for d in res["documents"]:
print("-", d.get("label_s"))
asyncio.run(main())
PYПодключение к Claude Desktop
В claude_desktop_config.json (Настройки → Разработчик → Изменить конфигурацию):
{
"mcpServers": {
"hal": {
"command": "python",
"args": ["-m", "hal_mcp.server"]
}
}
}Полностью перезапустите Claude Desktop. Инструменты HAL появятся в индикаторе инструментов окна сообщений.
Совет: если Claude Desktop не может найти
python, используйте полный путь к вашему интерпретатору (например,C:\\Python313\\python.exeв Windows) вместо"python"вcommand.
Примеры вопросов
"Найдите статьи в открытом доступе по федеративному обучению с 2023 года."
"Покажите публикации исследователя с IdHAL
dominique-lesselier, с соавторами.""Какова разбивка публикаций по глубокому обучению по годам?"
"Экспортируйте 10 самых свежих публикаций по трансформерам в BibTeX."
"Какие лаборатории занимаются квантовой физикой?"
Как это работает
HAL предоставляет поисковый API на основе Apache Solr, доступный по HTTP без аутентификации. Этот сервер преобразует удобные для человека параметры (year_from, doc_type, open_access_only...) в синтаксис Solr (fq, facet, wt...), поэтому агент получает простой интерфейс, сохраняя при этом преимущества Solr (фильтры, фасеты, экспорт).
Документация API HAL: https://api.archives-ouvertes.fr/docs/search
Справочник по структурам: https://api.archives-ouvertes.fr/docs/ref/resource/structure
Архитектура
src/hal_mcp/
├── server.py # declares the 6 MCP tools (FastMCP)
├── client.py # calls to HAL's Solr API (httpx)
└── fields.py # constants: Solr fields, document typesСлой client.py не зависит от MCP: его можно тестировать изолированно.
Разработка
Запустите тесты:
pip install pytest pytest-asyncio
pytest # all tests
pytest -m "not network" # unit tests only (offline, fast)
pytest -m network # integration tests that call HALПланы
get_structure_output— публикации заданной лаборатории.Сводные фасеты (пересечение типа × полный текст, год × тип).
Диапазонные фасеты (
facet.range) для графиков временных рядов/эволюции.Фильтрация по коллекциям / порталам, доступная как параметр.
HTTP-транспорт для Claude.ai (коннектор) и ChatGPT (режим разработчика).
Лицензия
MIT — см. файл LICENSE.
Отказ от ответственности
Независимый проект, не связан с CCSD (который управляет HAL). Метаданные получены из публичного API HAL. Пожалуйста, соблюдайте условия использования HAL и лицензию каждой отдельной публикации.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server for academic paper search that integrates with AI assistants (e.g., Claude Code, Cursor), enabling them to search and retrieve academic paper metadata.237MIT
- AlicenseAqualityDmaintenanceMCP server enabling AI agents to search and retrieve scientific papers, citations, and author profiles from Crossref, OpenAlex, and Semantic Scholar with no API keys required.53MIT
- AlicenseAqualityDmaintenanceMCP server for the OpenAlex scholarly database, providing AI agents with tools to search and retrieve academic works, authors, and institutions via natural language queries.8MIT
- FlicenseAqualityBmaintenanceAI-powered research assistant MCP server for searching academic papers and answering research questions with DOI citations.3
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
MCP server for Altmetric APIs - track research attention across news, policy, social media, and more
Hosted MCP server exposing US hospital procedure cost data to AI assistants
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arpany-Tech/hal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server