项目简介

MCP Proto-OKN 服务器是一个专为大型语言模型(LLM)设计的后端服务,它遵循Model Context Protocol (MCP) 规范。其核心功能是将LLM发出的自然语言查询转换成结构化的SPARQL查询,并针对科学知识图谱(如Proto-OKN生态系统中的SPOKE、BioBricks ICE等)执行这些查询,返回可解析的结果。它支持集成FRINK平台托管的知识图谱以及自定义的第三方SPARQL端点。

主要功能点

  • SPARQL知识图谱访问: 允许LLM通过自然语言与各种SPARQL知识图谱进行交互,获取数据。
  • FRINK平台集成: 自动检测并提供FRINK平台托管的知识图谱的详细文档和链接。
  • Proto-OKN生态支持: 针对Proto-OKN项目中的生物医学和科学知识图谱进行了优化,例如SPOKE、BioBricks ICE、SAWGraph等。
  • 灵活配置: 支持FRINK端点和用户自定义的SPARQL端点。
  • 工具调用: 提供 'query' 工具执行SPARQL查询,以及 'get_description' 工具获取知识图谱的元数据和详细描述。
  • 多知识图谱查询: 支持LLM在Prompt中指定多个MCP服务器,进行跨知识图谱的联合查询。

安装步骤

在安装MCP Proto-OKN服务器之前,请确保您的系统上已安装 'uv' 包管理器。如果尚未安装,请根据您的操作系统执行以下命令:

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows PowerShell:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

'uv' 安装完成后,您无需手动安装 'mcp-proto-okn' 包,因为后续配置中使用的 'uvx' 命令会自动从PyPI下载并运行最新版本。

服务器配置 (以Claude Desktop为例)

MCP服务器需要通过MCP客户端(如Claude Desktop或VS Code Insiders)来启动和交互。以下是如何在Claude Desktop中配置MCP Proto-OKN服务器的示例。您需要编辑Claude Desktop的配置文件,添加MCP服务器的启动命令和参数。

1. 找到并编辑配置文件:

  • macOS: '$HOME/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '$env:APPDATA\Claude\claude_desktop_config.json'
  • 或者在Claude Desktop中导航到 'Claude -> Settings -> Developer -> Edit Config' 进行编辑。

2. 添加或合并以下JSON配置到您的 'mcpServers' 部分: 请将以下示例配置中的 'spoke-sparql'、'biobricks-sparql' 和 'uniprot-sparql' 视为不同的MCP服务器实例名称。'command' 指定了启动服务器的命令,'args' 提供了启动所需的参数,其中 '--endpoint' 是SPARQL端点URL,'--description' 是可选的自定义描述。

{
  "mcpServers": {
    "spoke-sparql": {
      "command": "uvx",
      "args": [
        "mcp-proto-okn",
        "--endpoint",
        "https://frink.apps.renci.org/spoke/sparql"
      ]
    },
    "biobricks-sparql": {
      "command": "uvx",
      "args": [
        "mcp-proto-okn",
        "--endpoint",
        "https://frink.apps.renci.org/biobricks-ice/sparql"
      ]
    },
    "uniprot-sparql": {
      "command": "uvx",
      "args": [
        "mcp-proto-okn",
        "--endpoint",
        "https://sparql.uniprot.org/sparql",
        "--description",
        "资源用于获取蛋白质序列和功能信息。更多详情:https://purl.uniprot.org/html/index-en.htm"
      ]
    }
  }
}

注意: 如果您已经有其他MCP服务器配置,请务必手动合并,避免覆盖。

3. 重启Claude Desktop: 保存配置文件后,彻底退出Claude Desktop并重新启动,以加载新的配置并启动MCP服务器。

4. 验证安装: 在Claude Desktop中,导航到 'Claude -> Settings -> Connectors',您应该能看到配置的Proto-OKN端点出现在连接器列表中。您可以为每个服务设置权限(例如,始终询问或无监督运行)。

基本使用方法

配置完成后,您可以在Claude Desktop或VS Code的聊天界面中,通过自然语言提示词来查询知识图谱。

1. 指定MCP服务器: 在提问时使用 '@' 符号来指定要查询的MCP服务器名称(即您在配置中定义的名称,如 'spoke-sparql')。

  • 查询单个服务器:'@spoke-sparkl'
  • 进行联合查询,指定多个服务器:'@spoke-sparql @biobricks-sparql'

2. 示例查询:

  • 获取知识图谱概览:
    提供SPOKE知识图谱的简明概述,包括其主要目的、数据来源和关键特性。
  • 多实体分析:
    抗生素污染可能导致抗微生物耐药性。查找存在抗生素污染的地点。
  • 跨知识图谱比较:
    SPOKE、BioBricks和SAWGraph中,关于全氟辛酸(PFOA)有哪些类型的数据可用?

LLM将自动把您的自然语言查询转换为相应的SPARQL查询,在配置的端点上执行,并返回结构化、可解释的结果。

信息

分类

AI与计算