模型管理协议服务器

一个基于FastMCP框架的模型管理协议服务器,提供对MMS5层1服务的接口,支持AI助手和其他MCP客户端与模型存储库、分支、模型及访问控制资源的交互。

  • by Open-MBEE
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Open-MBEE/flexo-mms-layer1-mcp

使用说明

MMS Flexo第1层MCP服务器

一种模型上下文协议(MCP)服务器,为MMS5(模型管理系统)第1层服务提供基于FastMCP的接口。该服务器将MMS操作作为MCP工具公开,使AI助手和其他MCP客户端能够与MMS存储库、分支、模型和访问控制资源进行交互。

概述

此MCP服务器包装MMS5第1层REST API,为以下方面提供工具:

  • 结构操作:读取和管理组织、存储库和分支机构
  • 模型操作:使用SPARQL读取、加载、查询和提交对RDF模型的更改
  • 版本控制:管理提交之间的锁和差异
  • 访问控制:创建和管理策略、组和集合

服务器支持 只读模式 通过 READ_ONLY 环境变量,它限制了可用工具只能进行读取和查询操作。

特性

  • 有条件的工具注册:何时 READ_ONLY=true,只有读取和查询操作可用
  • 身份验证通道:转发 Authorization 从MCP请求到MMS API的头
  • FastMCP框架:基于FastMCP构建,用于流式HTTP传输
  • RDF/SPARQL支持:适用于Turtle格式的RDF和SPARQL 1.1查询/更新

环境变量

变量 描述 默认值 必填
MMS_URL MMS第1层API的基本URL http://localhost:8080 是的
READ_ONLY 启用只读模式(仅限读取/查询工具) true 没有

码头工人

塑造形象

docker build -t flexo-mms-layer1-mcp .

运行容器

使用自定义彩信URL运行:

docker run -d \
  -p 8000:8000 \
  -e MMS_URL=https://your-flexo-mms-server \
  flexo-mms-layer1-mcp

以读写模式运行(启用创建/更新/删除操作):

docker run -d \
  -p 8000:8000 \
  -e MMS_URL=https://your-mms-server \
  -e READ_ONLY=false \
  flexo-mms-layer1-mcp

Docker编写示例

version: '3.8'
services:
  mcp-server:
    build: .
    ports:
      - "8000:8000"
    environment:
      - MMS_URL=http://mms-api:8080
      - READ_ONLY=true

本地开发

先决条件

  • Python 3.13+
  • 点

安装

pip install -r requirements.txt

本地运行

export MMS_URL=http://localhost:8080
export READ_ONLY=false
python server.py

服务器将于启动 http://0.0.0.0:8000 使用FastMCP的流式HTTP传输。

可用工具

读取操作(始终可用)

  • read_all_orgs -列出所有组织
  • read_org -获得一个特定的组织
  • read_all_repos -列出组织中的存储库
  • read_repo -获取特定的存储库
  • read_all_branches -列出存储库中的分支
  • read_branch -获取特定分支
  • read_model -在分支的HEAD处读取模型
  • query_model -使用SPARQL查询分支的模型
  • read_all_locks -列出存储库中的锁
  • read_lock -获取特定的锁
  • query_lock -在锁定提交时查询模型
  • query_diff -查询提交之间的差异
  • query_repo -查询存储库元数据

写入操作(仅当 READ_ONLY=false)

  • create_org, update_org -创建/更新组织
  • create_repo, update_repo -创建/更新存储库
  • create_branch, update_branch -创建/更新分支
  • load_model -用新的RDF内容替换分支的模型
  • commit_model -应用SPARQL UPDATE以提交更改
  • create_lock -在提交上创建锁
  • create_diff -在提交之间创建差异
  • create_collection -创建收藏
  • create_policy -创建访问控制策略
  • create_group -创建用户组

认证

服务器转发 Authorization 从传入MCP请求到MMS API的报头。确保您的MCP客户端在发出请求时包含适当的身份验证凭据。

许可证

Apache 2.0