基本能力
产品定位
Malloy MCP Server 是一个用于执行 Malloy 查询和管理 Malloy 资源的 MCP 服务器实现。
核心功能
- 通过 MCP 执行 Malloy 查询
- 访问 Malloy 项目、包和模型元数据
- 健壮的错误处理,提供详细的上下文信息
- 全面的测试覆盖
- 类型安全的实现
适用场景
- 需要执行 Malloy 查询的应用
- 需要管理 Malloy 资源的系统
- 需要健壮错误处理和详细上下文的开发环境
工具列表
ExecuteMalloyQueryTool
: 用于执行 Malloy 查询的工具
常见问题解答
- 错误处理: 使用
QueryExecutionError
捕获查询执行错误,并获取详细的错误信息和上下文
使用教程
使用依赖
无特殊依赖,直接安装即可。
安装教程
```bash
使用 uv 安装(推荐)
uv pip install malloy-mcp-server
或使用 pip 安装
pip install malloy-mcp-server
```
启动服务器
```python
from malloy_mcp_server import mcp
运行服务器
if name == "main":
mcp.serve()
```
配置
服务器可以通过环境变量进行配置:
| 变量 | 描述 | 默认值 |
|------|------|-------|
| MALLOY_PUBLISHER_ROOT_URL
| Malloy Publisher API 的 URL | http://localhost:4000
|
示例:
```bash
设置 publisher URL
export MALLOY_PUBLISHER_ROOT_URL="http://malloy-publisher:4000"
使用自定义配置运行
python -m malloy_mcp_server
```
执行查询
```python
from malloy_mcp_server import ExecuteMalloyQueryTool
示例查询执行
result = await ExecuteMalloyQueryTool(
query="select * from users",
model_path="my_package/users"
)
```
调试方式
- 运行测试:
```bash
运行所有测试
pytest
运行带覆盖率的测试
pytest --cov=malloy_mcp_server
```
- 代码质量检查:
bash
black .
mypy .
ruff check .