Skip to main content
Glama

huiwen-mcp

Servidor Model Context Protocol (MCP) para el sistema de gestión de bibliotecas Huiwen (Libsys / OPAC) — Puerta de enlace de datos de solo lectura para bibliotecas orientada a la IA: permite que clientes de IA como Claude, Cherry Studio, DeepSeek recuperen de forma segura y auditable el catálogo de la biblioteca, ejemplares disponibles, estadísticas de circulación y el catálogo colectivo de la alianza.

Capa de adaptación oficial desarrollada por el equipo de la biblioteca universitaria, que cumple con la línea base de seguridad de solo lectura por defecto, privilegios mínimos y auditoría de extremo a extremo.

  • Protocolo: Model Context Protocol (estándar abierto de Anthropic, misma ruta técnica que la integración del catálogo de la Biblioteca de Yale)

  • Entorno de ejecución: Python ≥ 3.10 · FastMCP 3.x

  • Fuentes de datos: demo (demostración sin dependencias) / opac (protocolo web público de OPAC Huiwen) / oracle (conexión directa de solo lectura a la base de datos Libsys Huiwen)

  • Licencia: Apache-2.0 (esquema recomendado, ver Licencia y cumplimiento)


Índice

  1. Características

  2. Enfoque de diseño del sistema

  3. Esquema técnico de implementación

  4. Inicio rápido

  5. Configuración (variables de entorno / .env)

  6. Lista de herramientas

  7. Ejemplos de integración de clientes

  8. Casos de uso

  9. Seguridad y cumplimiento

  10. Pruebas

  11. Estructura del proyecto

  12. Hoja de ruta

  13. Licencia y cumplimiento

  14. Solución de problemas


Características

Capacidad

Descripción

🔍 Búsqueda en catálogo

Búsqueda multicampo / por clasificación China / por ubicación / filtro de disponibles / ordenación / paginación

📚 Detalles del libro

Registro bibliográfico completo, estado de todos los ejemplares y estadísticas de circulación

✅ Disponibilidad de ejemplares

Consulta rápida de disponibilidad por ISBN / código de barras / título

🔥 Populares y novedades

Ranking de préstamos populares, nuevas adquisiciones de los últimos N días

🧭 Navegación por clasificación

Conteo en tiempo real de clasificación/prefijo de la Clasificación China

📊 Estadísticas

Total de fondos / por ubicación / por clasificación

🤝 Catálogo colectivo de la alianza

Búsqueda conjunta PROCAT entre bibliotecas (opcional, desactivado por defecto, autenticación JWT)

👤 Datos del lector (admin)

Préstamos actuales / historial de préstamos / deudas (PII desensibilizado por defecto)

🛡️ Seguridad

Autenticación → Limitación de velocidad → Control de PII/lector → Auditoría JSONL; solo lectura por defecto

🔌 Transporte

stdio (en proceso) / Streamable HTTP (como servicio)

🐳 Despliegue

Imagen Docker (no root, reproducible); ver esquema de autenticación a nivel de producción/puerta de enlace en docs/guía-de-despliegue.md

🧩 Fuente de datos enchufable

demo / opac / oracle conmutación con un solo clic, mismas herramientas firmadas

Compensaciones de diseño: Las operaciones de escritura (renovación, reserva, pedidos de préstamo interbibliotecario) no se implementan intencionadamente — este proyecto solo se dedica a “leer de forma segura y auditable”; las rutas de escritura se delegan completamente al sistema de negocio original y a los procesos manuales.


Enfoque de diseño del sistema

Posicionamiento: puerta de enlace de datos / capa de habilidades, no un proxy de base de datos

Los clientes de IA (modelos grandes) nunca se conectan directamente a la base de datos Huiwen. Todas las consultas pasan por una capa de herramientas controladas:

┌─────────────── AI 客户端(Claude / Cherry Studio / 自研 Agent / 本地 LLM) ───────────────┐
│                                      │                                                    │
│             stdio(子进程协议)        │        Streamable HTTP(服务化 / 网关 / SSO)        │
└──────────────────────────────────────┼────────────────────────────────────────────────────┘
                                       ▼
┌───────────────────────────────────────────────────────────────────────────────────────┐
│   huiwen-mcp(FastMCP 3.x)                                                            │
│   ┌─────────────── 安全链 _guard ───────────────┐                                        │
│   │ 认证(Auth) → 限流(TokenBucket) → 门控(PII/读者) │   ← 每个工具必经                     │
│   └──────────────────────────────────────────────┘                                        │
│   │ 工具层:search_books / get_book_detail / union_search / get_reader_* / … (12 个)     │
│   └──────────────────────────────────┬───────────────────────────────────────────────────┘
                                       ▼
┌───────────────────────────────────────────────────────────────────────────────────────┐
│   适配器(可插拔数据源,统一 CatalogBackend 接口)                                       │
│   ├─ OracleBackend:白名单参数化 SQL(db/queries.py 封闭集)   → 汇文 Libsys 只读账号    │
│   ├─ OpacBackend:白名单参数调汇文 OPAC 公开网页协议           → opac 站点                │
│   └─ DemoBackend:内置样例数据                                 → 离线演示/测试            │
└───────────────────────────────────────────────────────────────────────────────────────┘
  • Responsabilidad única por capa: el adaptador solo se encarga de obtener datos; _guard solo se encarga de la seguridad; la auditoría escribe JSONL de forma independiente; la IA de nivel superior solo interactúa con las firmas de las herramientas, sin percibir las diferencias del backend (tres backends con la misma firma).

  • Seguridad por defecto: data_source=demo se ejecuta sin dependencias; opac/oracle requiere configuración explícita; las herramientas sensibles del lector requieren un token de administrador; las operaciones de escritura están deshabilitadas por defecto; los servicios de alianza externos están desactivados por defecto.

Por qué MCP

  • MCP es un estándar abierto de IA para conectar “bases de datos/sistemas de negocio” (lanzado por Anthropic en noviembre de 2024, ecosistema que incluye GitHub/proveedores de nube/proveedores de bases de datos). Elegir un estándar abierto en lugar de una API privada garantiza: clientes reemplazables (Claude/Cherry Studio/DeepSeek/Agente propio), servicio reutilizable por múltiples sistemas, sin bloqueo a largo plazo por parte del proveedor — esta es la misma ruta que la Biblioteca de Yale utiliza para integrar su catálogo con MCP.

  • FastMCP proporciona transporte dual stdio/HTTP para la implementación del servidor, un solo código base compatible con despliegue en proceso y como servicio.

Elección del modo de transporte: stdio vs HTTP

  • stdio: en proceso, se inicia con el cliente, sin operaciones, menor latencia, adecuado para uso personal/individual con clientes de escritorio de IA.

  • HTTP (Streamable HTTP): servicio independiente, adecuado para despliegue multiusuario/centralizado; se puede colocar un proxy inverso OAuth2/JWT delante con identidad unificada del campus, para auditoría centralizada.


Esquema técnico de implementación

Aspecto

Esquema

Servidor MCP

fastmcp>=2,<4; registro con add_tool; run() dual stdio/http

Restricción estricta de firmas de herramientas

FastMCP 3.x rechaza funciones con *args/**kwargs → todas las herramientas tienen parámetros explícitamente tipados; _guard usa functools.wraps y pasa kwargs (modelo de token explícito, evita que **kwargs active el rechazo del framework)

Cadena de autenticación

AuthConfig (Bearer) + RateLimit (cubo de tokens) + Control de capa de lector/PII (token de administrador) + AuditLogger (JSONL)

Backend Oracle

python-oracledb; 11g → modo thick (Instant Client), 12c+ → thin; todo SQL encapsulado en db/queries.py (parametrizado, lista blanca, cuenta de solo lectura)

Backend OPAC

Parámetros de lista blanca para construir el protocolo web público de Huiwen (búsqueda openlink.php / detalle item.php / populares top_lend.php), analiza las plantillas HTML públicas (selectores verificados elemento por elemento con la plantilla del proveedor)

Catálogo colectivo de la alianza

POST {base}/api/search/listByQuery + {current,pageSize,items:[{field,value,logic,type}]} + ?tenantCode&tk=<JWT> (contrato verificado con sitio real); desactivado por defecto

Configuración

Variables de entorno HUIWEN_ (carga automática de .env) + config.local.json (valores sensibles, git-ignored, fusión automática)

Modelos

Modelos de resultado explícitos con pydantic, seguridad de tipos, serialización estable

Contratos clave (todos verificados con pruebas reales)

  • OPAC: resultados de búsqueda <ol id="search_book_list"><li class="book_list_info">, título / signatura / ejemplares en fondo / ejemplares disponibles / número de resultados; tabla de ejemplares en página de detalle; ranking de populares.

  • Alianza PROCAT: POST (GET→405); autenticación con parámetro de consulta tk= (JWT emitido por la sesión de lector de OPAC getReaderJwt); items[].logic="1"(AND)/"2"(OR); mapeo de campos any/title/author/subject/isbn/clcNumber/publisher/series. Ver detalles en docs/búsqueda-catálogo-colectivo-alianza.md.

⚠️ Tanto OPAC como la alianza son sistemas cerrados del proveedor o de terceros, los contratos pueden variar según la versión del despliegue. Toda la documentación de integración se basa en “verificación con sitio real” y se registra con tests/test_*_live.py.


Inicio rápido

1) Instalación

git clone <your-repo-url> && cd huiwen-mcp
# 方式 A:uv(推荐)
uv sync
# 方式 B:pip
python -m venv .venv
. .venv/bin/activate
pip install -e .

2) Ejecución sin configuración (fuente de datos demo, sin conexión)

HUIWEN_DATA_SOURCE=demo uv run huiwen-mcp        # stdio 模式
HUIWEN_DATA_SOURCE=demo HUIWEN_TRANSPORT=http uv run huiwen-mcp   # HTTP 模式

demo incluye datos de muestra de libros/lectores, útil para pruebas de humo, pruebas e integración didáctica.

2b) Despliegue con Docker con un solo comando

docker build -t huiwen-mcp:latest .
docker run --rm -it -e HUIWEN_DATA_SOURCE=demo huiwen-mcp:latest   # stdio,离线可跑

# 服务化(HTTP + 认证 + 审计)
docker run -d --name huiwen -p 8765:8765 \
  -e HUIWEN_TRANSPORT=http -e HUIWEN_DATA_SOURCE=opac \
  -e HUIWEN_OPAC_BASE_URL=https://opac.example.edu.cn \
  -e HUIWEN_AUTH_ENABLED=true -e HUIWEN_AUTH_BEARER_TOKEN=<强随机> \
  -v huiwen-audit:/var/log/huiwen huiwen-mcp:latest

Más información (Oracle 11g thick / compose / autenticación a nivel de proxy inverso con CAS del campus) en docs/guía-de-despliegue.md.

3) Integración con fuentes de datos reales (opac / oracle)

Copie .env.example como .env y complete (.env está en git-ignore):

cp .env.example .env
# 编辑 .env:设置 HUIWEN_DATA_SOURCE 与对应凭据
HUIWEN_DATA_SOURCE=opac
HUIWEN_OPAC_BASE_URL=https://opac.example.edu.cn      # 你们学校 OPAC 地址

O use config.local.json (configuración sensible cargada automáticamente, no en el repositorio).


Configuración (variables de entorno / .env)

Toda la configuración se puede inyectar mediante variables de entorno (prefijo HUIWEN_), también compatible con archivo .env (carga automática). Prioridad: Variables de entorno > config.json explícito / CONFIG_PATH > fusión automática de config.local.json > valores predeterminados incorporados.

General

Variable

Descripción

Valor predeterminado

HUIWEN_DATA_SOURCE

demo / opac / oracle

demo

HUIWEN_TRANSPORT

stdio / http

stdio

HUIWEN_HOST / HUIWEN_PORT

Escucha HTTP

127.0.0.1 / 8765

HUIWEN_INCLUDE_PII

Si se muestran campos sensibles del lector (requiere admin)

false

HUIWEN_AUDIT_LOG

Ruta del archivo de registro de auditoría JSONL (vacío para desactivar)

vacío

HUIWEN_CONFIG_LOCAL_PATH

Nombre del archivo de configuración local sensible

config.local.json

OPAC

Variable

Descripción

HUIWEN_OPAC_BASE_URL

URL raíz del OPAC de Huiwen

HUIWEN_OPAC_TIMEOUT

Tiempo de espera de búsqueda (la papelera de reciclaje es lenta 15-40s, dar suficiente)

25s

HUIWEN_OPAC_ALLOW_READER_SESSION

Si se permiten datos personales del lector tras inicio de sesión (desactivado por defecto)

HUIWEN_OPAC_UNION_ENABLED

Interruptor del catálogo colectivo de la alianza (desactivado por defecto)

HUIWEN_OPAC_UNION_BASE_URL

Dirección del servicio de la alianza

HUIWEN_OPAC_UNION_TENANT

Código del inquilino

HUIWEN_OPAC_UNION_TOKEN

JWT de sesión del lector (cadena completa de getReaderJwt)

Oracle

Variable

Descripción

HUIWEN_ORACLE_DSN

host:port/service o Easy Connect

HUIWEN_ORACLE_USER / _PASSWORD

Cuenta de solo lectura (altamente recomendado)

HUIWEN_ORACLE_MODE

thin (12c+) / thick (11g/10g requiere Instant Client)

HUIWEN_ORACLE_CLIENT_LIB_DIR

Directorio de Instant Client para modo thick

HUIWEN_ORACLE_READ_ONLY

Restricción semántica de solo lectura (predeterminado true)

HUIWEN_ORACLE_POOL_MIN/MAX

Tamaño del pool de conexiones

Seguridad

Variable

Descripción

HUIWEN_AUTH_ENABLED

Si se habilita la autenticación Bearer (obligatorio en producción)

HUIWEN_AUTH_BEARER_TOKEN

Token Bearer estático

HUIWEN_AUTH_ADMIN_TOKENS

Tokens de administrador separados por comas (para herramientas de lector/exportación de escritura)

HUIWEN_RATE_LIMIT_ENABLED / _RPS / _BURST

Limitación de velocidad con cubo de tokens


Lista de herramientas

Herramienta

Descripción

Requiere token

search_books

Búsqueda en catálogo (campo / clasificación China / ubicación / filtro de disponibles / ordenación / paginación)

get_book_detail

Información completa de un libro (incluye todos los ejemplares y estadísticas de circulación)

get_availability

Consulta de disponibilidad de ejemplares por ISBN / código de barras / título

get_hot_books

Ranking de préstamos populares (filtrable por clase de la Clasificación China)

get_new_arrivals

Nuevas adquisiciones de los últimos N días

browse_classification

Navegación por clasificación China / conteo en tiempo real de prefijo

union_search

Búsqueda de solo lectura en catálogo colectivo entre bibliotecas (desactivado por defecto)

Configuración

get_statistics

Estadísticas de fondos (total / por ubicación / por clasificación)

get_reader_borrowing

Préstamos actuales del lector

admin

get_reader_history

Historial de préstamos del lector

admin

get_reader_fines

Deudas del lector

admin

get_system_status

Estado de la fuente de datos y del servicio

Para la descripción de funciones y evaluación de integración de la interfaz de servicio ACS/SIP2 de Huiwen, ver docs/descripción-interfaz-ACS-SIP2-Huiwen-y-evaluación-integración.md (mapeo autorizado de campos, subconjunto candidato de solo lectura, elementos explícitamente deshabilitados).

Las herramientas de lector están desensibilizadas por defecto (include_pii=false no devuelve número de identificación / contacto, etc.; true requiere admin).


Ejemplos de integración de clientes

Claude Desktop / Clientes de escritorio compatibles con MCP

{
  "mcpServers": {
    "huiwen": {
      "command": "/path/to/uv",
      "args": ["--directory", "/path/to/huiwen-mcp", "run", "huiwen-mcp"],
      "env": { "HUIWEN_DATA_SOURCE": "demo" }
    }
  }
}

HTTP remoto (requiere autenticación propia en la puerta de enlace)

HUIWEN_TRANSPORT=http HUIWEN_HOST=0.0.0.0 HUIWEN_PORT=8765 uv run huiwen-mcp

El cliente se conecta a http://<host>:8765/mcp/ (Streamable HTTP) usando ${MCP_SERVER_URL}. Cuando HUIWEN_AUTH_ENABLED=true, el token se pasa como parámetro de herramienta token con cada llamada; la cabecera HTTP Authorization no es consumida por el servidor (ver guía de despliegue §3.2).


Casos de uso

Objeto

Escenario

Lector

“¿Hay ‘El problema de los tres cuerpos’? ¿En qué piso? ¿Cuántos disponibles? ¿Populares cerca?” — buscar libros / preparar exámenes / estudiar en un solo paso

Bibliotecario de referencia

Consulta automática de catálogo/ejemplares → generar borrador de respuesta → verificación manual (modo Copilot)

Bibliotecario de materia

Bibliografía temática, estadísticas de soporte documental, informes de recomendación de compras por departamento

Adquisiciones/catalogación

Verificación de duplicados por ISBN, análisis de falta de fondos, notificación de nuevas adquisiciones, verificación de metadatos

Dirección de biblioteca

Gráficos de estadísticas de fondos/circulación, informes semanales de datos

Portal de biblioteca con IA

Como capa de datos central para preguntas y respuestas inteligentes / recomendación inteligente de libros

Construcción de alianza

Búsqueda conjunta entre bibliotecas (falta de fondos → buscar libro en alianza → solicitar préstamo interbibliotecario formal)

Recomendaciones completas (incluyendo esquema jerárquico con LLM local + RAG y comparación nacional e internacional) en docs/recomendaciones-de-servicio-y-aplicación.md.


Seguridad y cumplimiento

  1. Solo lectura por defecto: todas las herramientas son de solo lectura; las operaciones de escritura (renovación/reserva/pedido interbibliotecario) no se implementan intencionadamente.

  2. SQL de lista blanca: el backend Oracle solo ejecuta el conjunto cerrado de SQL parametrizado en db/queries.py, sin SQL libre.

  3. Control de extremo a extremo: autenticación → limitación de velocidad → control de lector/PII → auditoría (JSONL). Los datos personales del lector requieren token de administrador y están desensibilizados por defecto.

  4. Contrato de autenticación (verificado con pruebas reales): el token se pasa a través del parámetro de herramienta token (parámetro opcional de cada herramienta, _guard lo extrae de los parámetros y lo compara con HUIWEN_AUTH_BEARER_TOKEN), no se implementa la transmisión de la cabecera HTTP Authorization — la capa de transporte TLS/identidad unificada es responsabilidad del proxy inverso de la puerta de enlace, la autenticación de huiwen-mcp es la segunda línea de defensa detrás de la puerta de enlace. El token no se escribe en el registro de auditoría (_guard lo extrae antes de registrar).

  5. Las claves no entran en el repositorio: DSN/contraseñas/JWT/direcciones de sitio solo a través de variables de entorno o config.local.json (git-ignored). El repositorio no contiene ningún dato de despliegue real (ver NOTICE).

  6. Cuidado con servicios externos: la alianza PROCAT es un sistema multiusuario de terceros, desactivado por defecto; antes de activarlo, confirmar la autorización con la alianza/proveedor de servicios. OPAC es cerrado, históricamente ha tenido vulnerabilidades públicas, el adaptador solo usa parámetros de lista blanca.

  7. Reporte y manejo de vulnerabilidades en SECURITY.md.


Pruebas

Archivo

Contenido

Ejecución

tests/smoke_demo.py

Prueba de humo del backend demo (sin conexión)

uv run python tests/smoke_demo.py

tests/test_stdio.py

Regresión de integración/autenticación stdio (demo)

uv run python tests/test_stdio.py

tests/test_oracle_live.py

Integración con base de datos real (desactivado por defecto)

HUIWEN_LIVE_ORACLE=1 ...

tests/test_union_live.py

Sitio real de la alianza PROCAT (desactivado por defecto)

HUIWEN_LIVE_UNION=1 ...

Las pruebas con base de datos real/sitio real están desactivadas por defecto (requieren establecer explícitamente HUIWEN_LIVE_* localmente) para evitar tocar cualquier sistema real. La imagen Docker no se construye/publica por defecto (la política de publicación es “solo publicar código fuente y documentación”): si se necesita la imagen, construirla localmente con docker build (para modo Oracle thick, añadir --build-arg WITH_INSTANT_CLIENT=true).


Estructura del proyecto

huiwen-mcp/
├── src/huiwen_mcp/
│   ├── server.py            # FastMCP 装配、stdio/http 启动、main()
│   ├── config.py            # 配置:env/.env/config.local.json 分层合并
│   ├── audit.py             # JSONL 审计
│   ├── adapters/
│   │   ├── base.py          # CatalogBackend 抽象
│   │   ├── demo.py          # 内置演示数据
│   │   ├── opac.py          # 汇文 OPAC 网页协议(含 union_search)
│   │   └── oracle.py        # Libsys 数据库只读(thin/thick)
│   ├── db/queries.py        # 白名单参数化 SQL(Oracle 后端唯一 SQL 来源)
│   ├── models/schemas.py    # pydantic 结果模型
│   └── tools/catalog.py     # 12 个 MCP 工具 + _guard 安全链
├── docs/                    # 表结构 / 联盟契约 / 服务与应用建议 / 部署指南 / SIP2 评估
├── tests/                   # demo/stdio/oracle-live/union-live
├── Dockerfile / compose.yaml / .dockerignore
├── .env.example / config.example.json / config.local.json(忽略)
├── LICENSE / NOTICE / SECURITY.md / CONTRIBUTING.md / CODE_OF_CONDUCT.md
└── pyproject.toml

Hoja de ruta

  • Fase 1: MCP de solo lectura (tres backends: demo + opac + oracle)

  • Fase 2: Integración con bases de datos reales OPAC/Oracle, integración con catálogo colectivo de la alianza (contrato verificado + esquema de token)

  • Resto de Fase 2: Imagen Docker (no root, reproducible) + guía de despliegue (incluyendo plantilla de autenticación a nivel de proxy inverso)

  • Publicado: etiqueta v1.0.0 + GitHub Release (código fuente y documentación; sin CI/workflows, la imagen Docker no se construye automáticamente)

  • Integración de puerta de enlace OAuth2/JWT con CAS del campus / ventanilla única (plantilla lista, requiere configuración in situ)

  • Candidato Fase 2.5/3: Subconjunto de solo lectura de ACS/SIP2 de Huiwen (evaluación en docs/descripción-interfaz-ACS-SIP2-Huiwen-y-evaluación-integración.md)

  • Fase 3: Base de datos vectorial RAG + LLM local para recomendación inteligente de libros / consulta de referencia (ver docs/recomendaciones-de-servicio-y-aplicación.md)

  • Fase 4: Integración con OpenAPI de la nueva plataforma Huiwen


Licencia y cumplimiento (Open Source & Compliance)

Sugerencia de versión de licencia

Este proyecto recomienda adoptar Apache License 2.0 (el repositorio ya incluye el LICENSE completo):

  1. Permisivo: permite que universidades, fabricantes y plataformas en la nube utilicen, modifiquen y redistribuyan libremente (incluido uso comercial), siempre que se conserve el aviso de derechos de autor y licencia, lo que favorece la adopción por parte de cadenas de herramientas de IA y sistemas de terceros.

  2. Licencia de patentes: Apache-2.0 otorga explícitamente una licencia de uso de patentes a los contribuyentes (artículo 3), lo que resulta más claro y "resistente a demandas" cuando múltiples instituciones o partes (como universidades y fabricantes tecnológicos) contribuyen conjuntamente.

  3. Cláusulas estandarizadas para contribuyentes: otorga implícitamente una licencia al proyecto (artículo 5, Concesión de contribuciones), eliminando la carga de que cada contribuyente firme un CLA individual, en línea con las prácticas de proyectos públicos en GitHub.

  4. Diferenciación: en comparación con MIT, Apache-2.0 es más adecuado para proyectos de infraestructura publicados formalmente por instituciones y que pueden ser mantenidos a largo plazo por múltiples partes.

Si su institución prefiere un "estilo minimalista", puede volver a MIT en cualquier momento: solo necesita reemplazar el contenido completo de LICENSE, cambiar license en pyproject.toml a { text = "MIT" }, y actualizar esta sección en el README.

Declaración de cumplimiento (importante)

  • No contiene código fuente de terceros/fabricantes: este proyecto es una capa de interoperabilidad independiente para el sistema cerrado Huiwen/Libsys, y no incluye ningún código propietario de Huiwen o de las entidades de la alianza; los contratos de OPAC/alianza se basan únicamente en los protocolos de páginas web públicas y los registros de respuesta del sitio real. Consulte NOTICE para más detalles.

  • No se publican datos sensibles de despliegue junto con el repositorio: DSN reales, contraseñas de cuentas, instancias de inicio de sesión de OPAC, JWT de la alianza, PII de lectores, ni SECRET_KEY de fabricantes están presentes en el repositorio (SECURITY.md/CONTRIBUTING.md ya establecen líneas rojas, prohibiendo estrictamente la inclusión de cualquier dato sospechoso de ser sensible).

  • Marcas registradas: Huiwen, Libsys y OPAC son marcas comerciales/nombres de productos de Jiangsu Huiwen Software y otros titulares de derechos; este repositorio solo los utiliza para referencias de interoperabilidad, sin implicar respaldo ni afiliación.

  • Antes de utilizar este software, confirme los derechos de uso y límites con Huiwen Software, el proveedor de servicios de la alianza y el centro de información de su institución.


Solución de problemas

Síntoma

Solución

"Este backend no es compatible"

Verifique HUIWEN_DATA_SOURCE; union_search solo funciona con el backend opac y requiere configuración de la alianza

Oracle DPY-3010 / fallo de conexión

Para Oracle 11g, use HUIWEN_ORACLE_MODE=thick + HUIWEN_ORACLE_CLIENT_LIB_DIR (Instant Client)

Tiempo de espera agotado en búsqueda OPAC

El sitio puede ser lento (15-40 s común), aumente HUIWEN_OPAC_TIMEOUT o reintente más tarde

union_search devuelve enabled:false

La alianza no está habilitada o falta el token → habilite la configuración y complete el JWT

La alianza devuelve storage token not found

El JWT ha expirado → vuelva a iniciar sesión en OPAC, obtenga getReaderJwt y actualice el token

El marco rechaza el registro de herramientas (*args/**kwargs)

Las funciones de herramienta deben tener parámetros explícitos; no use la firma *args/**kwargs

La herramienta de lectores devuelve "se requiere token de administrador"

Use un token de HUIWEN_AUTH_ADMIN_TOKENS

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • Hosted MCP server exposing US hospital procedure cost data to AI assistants

  • Read-only MCP connector serving the Run It on AI book; index and Implementation Blocks are free.

View all MCP Connectors

Latest Blog Posts

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/isaacwang2023-droid/huiwen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server