项目简介
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根据特定任务和上下文生成高质量的交互内容。
安装步骤
- 克隆仓库: 首先,你需要将Trilogy Studio Core仓库克隆到你的本地机器。
git clone https://github.com/trilogy-data/trilogy-studio-core.git cd trilogy-studio-core - 安装Python依赖: 确保你已安装Python,然后安装 'uv'(一个Python包管理器)。
pip install uv # 确保 uv 能够找到并安装所需的包。如果 'pyserver/requirements.txt' 存在,可以先安装它。 # pip install -r pyserver/requirements.txt - 启动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' 文件的完整路径。请将其替换为你本地仓库的实际路径。
基本使用方法
- 启动IDE前端和语言服务器: 在 'trilogy-studio-core' 仓库根目录运行以下命令,启动本地前端应用和FastAPI语言服务器。
npm run local - 连接MCP客户端: 按照上述配置信息在你的MCP客户端(如Claude Desktop)中添加并连接MCP服务器。
- 在IDE中工作: 在Trilogy Studio前端界面中创建新的Trilogy编辑器,编写查询。MCP服务器将提供语言特性支持,并通过LLM客户端进行高级交互。
- 利用LLM功能: 在支持LLM集成的场景中,LLM客户端将能够调用MCP服务器提供的工具来解析、验证或执行Trilogy查询,并获取相关数据上下文。
信息
分类
开发者工具