一个模型上下文协议(MCP)服务器,提供AI助手访问OSDU平台功能的能力。
此服务器使AI助手能够通过MCP协议与OSDU平台服务进行交互,包括搜索、数据管理和模式操作。
# 克隆仓库
git clone <repository-url>
cd osdu-mcp-server
# 使用uv安装(推荐)
uv sync
uv pip install -e '.[dev]'
要使用OSDU MCP服务器,请通过您的MCP客户端配置文件进行配置:
{
"mcpServers": {
"osdu-mcp-server": {
"type": "stdio",
"command": "uv",
"args": ["run", "osdu-mcp-server"],
"env": {
"OSDU_MCP_SERVER_URL": "https://your-osdu.com",
"OSDU_MCP_SERVER_DATA_PARTITION": "your-partition",
"AZURE_CLIENT_ID": "your-client-id",
"AZURE_TENANT_ID": "your-tenant"
}
}
}
}
默认情况下,认证通过Azure CLI处理。在运行服务器之前,您必须使用az login登录:
要启用服务主体认证,请添加可选的AZURE_CLIENT_SECRET环境变量:
任何服务的写操作(创建、更新)默认是禁用的,您必须明确启用它们:
"env": {
"OSDU_MCP_ENABLE_WRITE_MODE": "true"
}
删除和清除操作分别控制,默认是禁用的:
"env": {
"OSDU_MCP_ENABLE_DELETE_MODE": "true"
}
这种双重保护允许您启用数据创建和更新,同时严格控制破坏性操作。
MCP服务器使用遵循ADR-016的结构化JSON日志。默认情况下,由于冗长,日志是禁用的。您可以设置以下内容来启用它:
"env": {
"OSDU_MCP_LOGGING_ENABLED": "true",
"OSDU_MCP_LOGGING_LEVEL": "INFO" // 可选,默认为INFO
}
有效日志级别:DEBUG, INFO, WARNING, ERROR, CRITICAL
osdu:health_check
这会返回您的OSDU平台健康状态,检查认证以及所有服务(存储、搜索、法律、模式、文件、工作流、权限和数据集)的可用性。
schema_search工具提供了强大的能力来发现模式:
# 查找描述中包含“压力”的所有模式
schema_search(text="压力", search_in=["description"])
# 获取任何权威下版本为1.1.*的所有模式
schema_search(version_pattern="1.1.*")
# 搜索具有特定属性组合的模式
schema_search(
filter={
"authority": ["osdu", "lab"],
"status": ["PUBLISHED"],
"scope": "SHARED"
}
)
# 在结果中包含完整的模式内容
schema_search(include_content=True)
存储服务实现了两种级别的保护,用于不同类型的操作:
OSDU_MC_ENABLE_WRITE_MODE=true控制OSDU_MC_ENABLE_DELETE_MODE=true控制这提供了对数据生命周期操作的细粒度控制,允许环境允许数据创建,同时防止删除。
这是一个AI开发的项目,使用AI编码工具加速开发,同时努力保持高标准的质量。阅读案例研究以深入了解哪些方法被证明是有效的。 </中文翻译>