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-mcpDocker编写示例
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
