项目简介

Trilogy Studio Core是一个开源的IDE项目,主要用于探索Trilogy分析型SQL语言。它集成了前端界面、一个轻量级的FastAPI语言服务器,以及一个符合Model Context Protocol (MCP) 标准的服务器实现。该MCP服务器能够与LLM客户端(如Claude Desktop)进行交互,以实现智能化的查询生成、数据探索和可视化,极大地增强了LLM在数据分析领域的应用能力。

主要功能点

  • Trilogy语言服务: 为Trilogy编程语言提供丰富的IDE功能,包括实时语法高亮、智能自动补全、全面的查询验证和代码格式化,极大地提升了开发效率。
  • 多数据库连接: 无缝支持与多种主流数据库后端进行连接,包括DuckDB(作为本地嵌入式数据库)、Google BigQuery和Snowflake,方便用户在不同数据源上执行查询。
  • 交互式数据可视化: 提供易于使用、高度交互式的数据可视化工具,用户可以轻松创建、定制和分享数据仪表板,深入探索数据洞察。
  • LLM集成(MCP服务器): 作为LLM客户端的强大后端,提供以下核心功能:
    • 资源托管: 托管和管理数据模型、编辑器中的查询和相关元数据,LLM可以标准化的方式访问这些上下文信息。
    • 工具执行: 允许LLM调用预定义的工具,如Trilogy查询的解析、验证、格式化和生成SQL等,实现LLM驱动的数据操作。
    • Prompt模板: 定义和渲染可定制的Prompt模板,支持LLM根据特定任务和上下文生成高质量的交互内容。

安装步骤

  1. 克隆仓库: 首先,你需要将Trilogy Studio Core仓库克隆到你的本地机器。
    git clone https://github.com/trilogy-data/trilogy-studio-core.git
    cd trilogy-studio-core
  2. 安装Python依赖: 确保你已安装Python,然后安装 'uv'(一个Python包管理器)。
    pip install uv
    # 确保 uv 能够找到并安装所需的包。如果 'pyserver/requirements.txt' 存在,可以先安装它。
    # pip install -r pyserver/requirements.txt
  3. 启动MCP服务器: 使用 'uv' 命令启动MCP服务器。请从仓库的根目录执行以下命令:
    # 该命令将安装 MCP 服务器所需的 Python 依赖并运行 pyserver/mcp.py 文件。
    uv run mcp install pyserver/mcp.py

服务器配置(供MCP客户端参考)

MCP服务器启动后,MCP客户端(如Claude Desktop)可以通过JSON-RPC协议与之通信。客户端需要配置服务器的启动命令和参数。以下是Claude Desktop的配置示例,请用户根据自己的环境调整路径:

"mcpServers": {
    "Trilogy Language Tools": {
        "command": "C:\\Users\\ethan\\.local\\bin\\uv.EXE",
        "args": [
            "run",
            "--with",
            "mcp[cli]",
            "--with",
            "pytrilogy",
            "--with",
            "trilogy-public-models",
            "mcp",
            "run",
            "<repo_root>\\pyserver\\mcp_server.py"
        ]
    }
}
  • '"command"': 这是启动MCP服务器的可执行文件的完整路径。例如,在Windows上可能是 'C:\Users\ethan.local\bin\uv.EXE'。请将其替换为你的系统上 'uv' 命令的实际路径。
  • '"args"': 这是一个参数列表,用于告诉 'command' 如何运行MCP服务器。
    • '"run"': 'uv' 命令的子命令,用于运行一个Python模块。
    • '"--with mcp[cli] --with pytrilogy --with trilogy-public-models"': 这些参数指示 'uv' 确保在运行MCP服务器之前安装并加载特定的Python包(mcp客户端接口、Trilogy语言核心库、公共模型库)。
    • '"mcp run"': 进一步指示 'uv' 运行MCP框架。
    • '<repo_root>\pyserver\mcp_server.py': 这是 'trilogy-studio-core' 仓库根目录下的 'pyserver/mcp_server.py' 文件的完整路径。请将其替换为你本地仓库的实际路径。

基本使用方法

  1. 启动IDE前端和语言服务器: 在 'trilogy-studio-core' 仓库根目录运行以下命令,启动本地前端应用和FastAPI语言服务器。
    npm run local
  2. 连接MCP客户端: 按照上述配置信息在你的MCP客户端(如Claude Desktop)中添加并连接MCP服务器。
  3. 在IDE中工作: 在Trilogy Studio前端界面中创建新的Trilogy编辑器,编写查询。MCP服务器将提供语言特性支持,并通过LLM客户端进行高级交互。
  4. 利用LLM功能: 在支持LLM集成的场景中,LLM客户端将能够调用MCP服务器提供的工具来解析、验证或执行Trilogy查询,并获取相关数据上下文。

信息

分类

开发者工具