使用说明
PrimoMCP
一个MCP(模型上下文协议)服务器,包装了Ex Libris Primo Search API,使LLM能够搜索库目录。
先决条件
- Node.js 22+
- npm
- Docker(用于容器化部署)
- Kubernetes集群(用于K8s部署)
- Ex Libris Primo API 密钥
本地开发
npm install
npm run build
PRIMO_API_KEY=your-key PRIMO_VID=your-vid PRIMO_TAB=your-tab PRIMO_SCOPE=your-scope npm start
服务器在端口3000上启动(可通过以下方式配置 PORT).
健康检查
GET /healthz--活性探针GET /readyz--准备就绪探测器
MCP端点
POST /mcp--无状态流式HTTP传输(每个MCP会话一个请求)
码头工人
docker build -t primomcp .
docker run -e PRIMO_API_KEY=your-key \
-e PRIMO_VID=your-vid \
-e PRIMO_TAB=your-tab \
-e PRIMO_SCOPE=your-scope \
-p 3000:3000 primomcp
Kubernetes部署
清单在 k8s/ 用以下方式管理 客户, 和
部署到 vtlib 命名空间(命名空间、映像和入口主机设置在
承诺的清单)。根据机构配置,所有机密均保密
版本控制:他们住在 .env 并被转化为gitignored kustomize
发电机输入(k8s/config.env, k8s/secret.env, k8s/dockerconfigjson).
- 复制
.env.sample到.env并填写您的值:
cp .env.sample .env
# PRIMO_API_KEY, PRIMO_VID/TAB/SCOPE, CONTAINER_REGISTRY, REGISTRY_* (deploy token)
- 构建并推送Docker镜像:
./scripts/build.sh # builds and pushes $CONTAINER_REGISTRY/primomcp:latest
- 从以下位置渲染gitignored kustomize输入
.env:
./scripts/gen-kustomize-inputs.sh
- 使用kustomize进行部署:
kubectl --kubeconfig endeavour.yaml apply -k k8s
步骤3-4也包含在 ./scripts/deploy.sh其呈现输入,
应用 k8s/ 反对 endeavour.yaml,并等待推出。重新运行
gen-kustomize-inputs.sh 每当 .env 变化;否则 kubectl apply -k k8s
是自给自足的。
MCP工具: primo_search
通过Primo Search API搜索库目录。
输入
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
query |
string | 其中之一 query 或 advancedQuery 必填 |
简单关键字搜索 |
advancedQuery |
string | 其中之一 query 或 advancedQuery 必需 |
原始Primo q 格式(例如。, title,contains,machine learning) |
limit |
integer | 否 | 最大结果,1-50(默认10) |
offset |
integer | 否 | 分页偏移量,0-5000(默认值0) |
sort |
string | 否 | 排序顺序: rank, title, author, date, date_d, date_a |
qInclude |
string | 否 | 包括面过滤器 |
qExclude |
string | 否 | 排除方面筛选器 |
lang |
string | 否 | 语言代码 |
示例
简单搜索:
{ "query": "machine learning" }
高级搜索:
{ "advancedQuery": "title,contains,machine learning,AND;sub,contains,neural networks", "limit": 5 }
配置
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
PRIMO_API_KEY |
是 | - | Ex Libris API密钥 |
PRIMO_BASE_URL |
没有 | https://api-na.hosted.exlibrisgroup.com API 基础 URL。 |
|
PRIMO_VID |
是 | -- | 查看ID |
PRIMO_TAB |
是 | -- | 选项卡名称 |
PRIMO_SCOPE |
是 | -- | 作用域名称 |
PRIMO_INST |
否 | -- | 机构代码(仅限本地) |
PORT |
没有 | 3000 |
服务器侦听端口 |
