Drupal-Omeka S集成服务器

一个强大的模型上下文协议(MCP)服务器,实现Drupal和Omeka-S REST API的无缝集成,为文化遗产机构和数字图书馆提供统一的内容管理和数字资产管理。

  • by caprowsky
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 caprowsky/mcp-omeka-s

使用说明

Drupal Omeka S集成MCP服务器

一个强大的模型上下文协议(MCP)服务器,可实现Drupal和Omega-S REST API之间的无缝集成。这座整合桥梁通过结合以下方面为文化遗产机构和数字图书馆开辟了新的可能性:

  • Drupal强大的内容管理和网站构建功能
  • Omeka-S的专业数字收藏管理功能

此MCP服务器充当Drupal和Omeka-S的REST API之间的复杂中介,实现:

  • 跨两个平台的统一内容管理
  • 同步数字资产管理
  • 简化文化遗产数据的工作流程
  • 增强的元数据处理和保存

需求

  • Node.js(v14或更高版本)
  • npm或纱线

安装

  1. 将此文件夹克隆或复制到您的项目中
  2. 安装依赖项:
cd mcp-omeka-s
npm install
  1. 配置环境变量:
    • 复制或重命名 .env 文件(如果需要)
    • 根据需要更新环境变量

配置

编辑 .env 具有适当参数的文件:

# MCP Server Configuration
PORT=3000

# Omeka-S API Configuration
OMEKA_API_URL=your_api_rest_omeka_s_url
OMEKA_KEY_IDENTITY=your_identity_key
OMEKA_KEY_CREDENTIAL=your_credential_key

# Drupal Configuration
DRUPAL_URL=http://localhost:8000

# Logging Configuration
LOG_LEVEL=info

启动服务器

对于热重新加载的开发模式:

npm run dev

对于生产部署:

npm start

API使用

一旦运行,服务器就会公开几个端点,以促进Drupal和Omega-S之间的无缝通信:

  • GET /api/omeka/resources/:resourceType -检索特定类型的所有资源
  • GET /api/omeka/resources/:resourceType/:id -获取单个资源
  • POST /api/omeka/resources/:resourceType -创建新资源
  • PUT /api/omeka/resources/:resourceType/:id -更新现有资源
  • DELETE /api/omeka/resources/:resourceType/:id -删除资源

API文档

交互式API文档可在以下网址获取:

http://localhost:3000/api-docs

Drupal集成

要将此MCP服务集成到Drupal模块中,请使用 drupal/http_client 模块向MCP服务器发出请求。这实现了Drupal站点和Omega-S集合之间的无缝内容同步。

Drupal实现示例:

$client = \Drupal::httpClient();
$response = $client->get('http://localhost:3000/api/omeka/resources/items');
$items = json_decode($response->getBody(), TRUE);

集成优势

  1. 统一内容管理:在Omega-S中管理数字收藏,同时通过Drupal强大的前端呈现它们
  2. 增强的元数据处理:利用Omega-S强大的元数据标准,同时利用Drupal的内容工作流
  3. 灵活的显示选项:使用Drupal的主题化系统以各种方式呈现Omega-s集合
  4. 改善用户体验:提供对Drupal网站内数字收藏的无缝访问

日志记录

服务器日志可在 logs/ 目录。这些日志有助于跟踪集成活动,并解决Drupal和Omeka-S之间的任何同步问题。