Malloy MCP Server について
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Malloy MCP Server
Malloy クエリの実行と Malloy リソースの管理を行う MCP サーバーの実装です。
機能
- MCP 経由で Malloy クエリを実行
- Malloy プロジェクト、パッケージ、モデルのメタデータにアクセス
- 詳細なコンテキストを含む堅牢なエラー処理
- 包括的なテストカバレッジ
- 型安全な実装
インストール
# Install using uv (recommended)
uv pip install malloy-mcp-server
# Or using pip
pip install malloy-mcp-server
使用方法
サーバーの起動
from malloy_mcp_server import mcp
# Run the server
if __name__ == "__main__":
mcp.serve()
設定
サーバーは環境変数を使用して設定できます。
| 変数 | 説明 | デフォルト |
|---|---|---|
MALLOY_PUBLISHER_ROOT_URL | Malloy Publisher API の URL | http://localhost:4000 |
例:
# Set the publisher URL
export MALLOY_PUBLISHER_ROOT_URL="http://malloy-publisher:4000"
# Run with custom configuration
python -m malloy_mcp_server
クエリの実行
サーバーは Malloy クエリを実行するための MCP ツールを提供します。
from malloy_mcp_server import ExecuteMalloyQueryTool
# Example query execution
result = await ExecuteMalloyQueryTool(
query="select * from users",
model_path="my_package/users"
)
リソースへのアクセス
サーバーは次のリソースエンドポイントを提供します。
malloy://project/home/metadata- プロジェクトのメタデータmalloy://project/home/package/{package_name}- パッケージのメタデータmalloy://project/home/model/{model_path}- モデルのメタデータ
開発
セットアップ
- リポジトリをクローンします。
git clone https://github.com/namabile/malloy-mcp-server.git
cd malloy-mcp-server
- 依存関係をインストールします。
uv pip install -e ".[dev]"
テストの実行
# Run all tests
pytest
# Run with coverage
pytest --cov=malloy_mcp_server
コード品質
このプロジェクトでは次のツールを使用します。
- コードのフォーマットに
black - 型チェックに
mypy - リンティングに
ruff
品質チェックを実行します。
black .
mypy .
ruff check .
エラー処理
サーバーは詳細なコンテキストを含むエラー処理を提供します。
from malloy_mcp_server.errors import QueryExecutionError
try:
result = await ExecuteMalloyQueryTool(...)
except QueryExecutionError as e:
print(f"Error: {e.message}")
print("Context:", e.context)
アーキテクチャ
サーバーは次の技術を基盤としています。
- MCP サーバーの実装には FastMCP
- Malloy とのやり取りには Malloy Publisher Client
- データ検証には Pydantic
主なコンポーネント:
server.py- サーバーのコア実装tools/query_executor.py- クエリ実行ツールerrors.py- エラー処理ユーティリティ
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 新しい機能のテストを追加します
- プルリクエストを送信します
ライセンス
MIT License - 詳細は LICENSE ファイルを参照してください
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。