项目简介

本项目是一个基于 Python 的 MCP (Model Context Protocol) 服务端,旨在通过标准化的 MCP 接口,允许兼容的 LLM (大型语言模型) 客户端连接并与 IBM TM1 实例进行交互。它将 TM1 的数据访问和功能操作封装为可由 LLM 调用的工具。

主要功能点

  • TM1 数据访问: 提供工具,使 LLM 能够获取 TM1 多维数据库中的数据和元数据,例如获取维度、成员、方体信息等。
  • TM1 功能操作: 提供工具,允许 LLM 调用 TM1 的特定功能,如执行 MDX 查询、获取单元格值等。
  • 可扩展的工具集: 允许用户轻松添加自定义 Python 工具,以封装更多与 TM1 交互的功能。
  • MCP 协议支持: 实现标准的 MCP 协议,确保与任何兼容的 LLM 客户端进行可靠通信。

安装步骤

  1. 克隆本 GitHub 仓库到本地目录。
  2. 确保已安装 Python 3.12+ 和 'uv' 工具。
  3. 在项目根目录下,使用 'uv' 安装所有依赖库。通常命令为 'uv sync' 或 'uv pip install .' (具体取决于 'uv' 版本和项目配置)。

服务器配置 (供 MCP 客户端使用)

此 MCP 服务端需要由 MCP 客户端(如某些桌面 LLM 应用)启动和管理。客户端需要在其配置中指定如何启动此服务。以下是为客户端配置此 MCP 服务端所需的关键信息,您需要将其添加到您的 LLM 客户端的 MCP 服务器配置文件中(通常是 JSON 格式):

  • 服务器名称 (Server Name): 您可以指定一个名称,例如 'tm1'。
  • 启动命令 (Command): 启动服务器的可执行文件路径,通常是 'uv'。
  • 启动参数 (Args): 启动 'uv' 并运行 'main.py' 的参数列表。这些参数通常包括:
    • '--directory':指定本项目的绝对路径,例如 '/ABSOLUTE/PATH/TO/TM1MCP'(请将此路径替换为实际路径)。
    • 'run':'uv' 的运行命令。
    • 'main.py':本项目的入口文件。

例如,在 JSON 配置文件中,这部分配置可能类似:

{
  "mcpServers": {
    "tm1": { // 您为服务器指定的名称
      "command": "uv", // 启动命令
      "args": [
        "--directory",
        "/您的/项目/绝对/路径/tm1mcp", // 替换为您的实际路径
        "run",
        "main.py"
      ]
    }
  }
}

请参考您的具体 LLM 客户端文档,了解如何编辑其 MCP 服务器配置。

基本使用方法

  1. 确保您的 IBM TM1 实例正在运行,并且网络配置 (在项目的 'config.py' 中设置) 正确无误。
  2. 根据上一节的说明,在您的 LLM 客户端中配置此 MCP 服务端。
  3. 启动您的 LLM 客户端。客户端将根据配置信息尝试启动此 MCP 服务端。
  4. 一旦客户端成功连接到 MCP 服务端,您的 LLM 就可以通过 MCP 协议发现并调用本项目提供的各种 TM1 工具来访问数据或执行操作。

信息

分类

商业系统