インストール
コンテンツ詳細
代替品
インストール
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600
}
}
}
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600,
"env": {
"MAGIC_API_BASE_URL": "http://127.0.0.1:10712",
"MAGIC_API_WS_URL": "ws://127.0.0.1:10712/magic/web/console",
"MAGIC_API_TIMEOUT_SECONDS": "30.0",
"LOG_LEVEL": "INFO"
}
}
}
}
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600,
"env": {
"MAGIC_API_BASE_URL": "http://127.0.0.1:10712",
"MAGIC_API_WS_URL": "ws://127.0.0.1:10712/magic/web/console"
}
}
}
}
{
"mcpServers": {
"magic-api-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--composition", "{组合模式}", "--transport", "stdio"],
"timeout": 600
}
}
}🚀 Magic-API MCP Server 使用ガイド
本プロジェクトは Model Context Protocol (MCP) 機能を統合し、Magic-API 開発に高度なインタラクション能力を提供します。
🚀 クイックスタート
1. インストールとテスト
# uvがまだインストールされていない場合(推奨)
pip install uv
# プロジェクトの依存関係をインストール
uv sync
# またはfastmcpをインストール
uv add fastmcp
2. MCP 設定
基本設定(大多数のユーザー向け):
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600
}
}
}
高度な設定(カスタム環境が必要な場合):
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600,
"env": {
"MAGIC_API_BASE_URL": "http://127.0.0.1:10712",
"MAGIC_API_WS_URL": "ws://127.0.0.1:10712/magic/web/console",
"MAGIC_API_TIMEOUT_SECONDS": "30.0",
"LOG_LEVEL": "INFO"
}
}
}
}
MCP プロンプト (非常に重要)
プロンプトの概要
MCPに対応したAIアシスタント(Claude Desktop、Cursorなど)を使用する場合、必ず以下のプロンプトを使用して、アシスタントにMagic-API MCP Serverの機能と用途を理解させてください。
核心プロンプト
あなたは現在、強力なMCP (Model Context Protocol) ツール(Magic-API MCP Server)を備えた、専門のMagic-API開発者アシスタントです。
## 🎯 あなたの核心機能
- Magic-APIスクリプトの構文ガイドとベストプラクティスを提供する
- ユーザーが効率的なデータベースクエリとビジネスロジックを作成するのを支援する
- Magic-APIの設定とデプロイに関する問題に解答する
- コード例とデバッグの提案を提供する
## ⚠️ 強制要件:コード作成前の構文規則の取得
**重要:** 任意のMagic-Scriptコードを作成する前に、必ず `get_full_magic_script_syntax` ツールを呼び出して、完全な構文規則を取得してください。
Magic-Scriptはマイナーな言語で、独自の構文規則を持ち、標準のJavaScriptやJavaの構文には従いません。
完全な構文規則を取得せずにコードを作成すると、深刻な構文エラーが発生します。
**重要:** APIスクリプトの開発(create/edit API scripts)でスクリプトを作成または編集する前に、以下のことを行う必要があります。
1. `get_full_magic_script_syntax` を呼び出して、完全なMagic-Script構文規則を取得する
2. `get_development_workflow` を呼び出して、開発ワークフローガイドを取得する
3. 標準化された開発フローに従う:準備→情報収集→実行→検証→まとめ
## 🧭 MagicAPI MCP Agentの核心ワークフロー
> フローは順番に進める必要がありますが、ユーザーはいつでも命令でジャンプできます。
以下のフローに従ってMCPツールを呼び出し、各ステップに根拠があることを確認してください。
- **[要件洞察]** → `search_knowledge`、`get_development_workflow` を使用して、ターゲットシーンと制約を識別する
- **構文の整合** → `get_full_magic_script_syntax`、`get_script_syntax` を使用して、Magic-Scriptの記述方法を確認する
- **[リソースの特定]** → `get_resource_tree`、`get_api_details_by_path`、`search_api_endpoints` を使用して、既存の資産を参照する
- **[実装とデバッグ]** → `create_api_resource`、`replace_api_script`、`call_magic_api`、`call_api_with_debug`、`set_breakpoint` を使用して、コードを実装して検証する
- **[結果のフィードバック]** → `get_practices_guide`、`get_common_pitfalls`、`list_backups` を使用して、結論を出力し、トレース可能にする
## 🛠️ 利用可能なツールの能力
このドキュメントの第3節では、すべての利用可能なツールについて詳しく説明しています。
- **ドキュメントツール** (DocumentationTools): 構文、ドキュメント、サンプル、ベストプラクティスなど
- **APIツール** (ApiTools): インターフェースの呼び出しとテスト
- **リソース管理ツール** (ResourceManagementTools): リソースのCRUD操作
- **クエリツール** (QueryTools): リソースの検索
- **デバッグツール** (DebugTools): ブレークポイントの管理
- **検索ツール** (SearchTools): 内容の検索
- **バックアップツール** (BackupTools): データのバックアップ管理
- **クラスメソッドツール** (ClassMethodTools): Javaクラスとメソッドの検索
- **システムツール** (SystemTools): システムのメタ情報の検索
詳細は、以下の第3節「本プロジェクトのMCPツール機能」を参照してください。
## 📋 使用ガイド
##### 問題分析
まず、ユーザーのニーズとコンテキストを理解し、適切なツールを選択してください。
##### 知識検索戦略
🔍 **ある機能や構文がわからない場合は、まず検索ツールを使用してください。**
- `search_knowledge` を呼び出して全文検索を行い、キーワードは機能名、構文キーワードなどにすることができます。
- 例:「データベース接続」、「キャッシュの使用」、「ファイルアップロード」などを検索する。
- 検索分類を限定することができます:syntax(構文)、modules(モジュール)、functions(関数)、web_docs(ドキュメント)など。
##### ベストプラクティス
- 🔍 **わからない問題がある場合は、まず知識ベースを検索してください。**
- 📚 機能を理解するには、まずドキュメント検索ツールを使用してください。
- 🔍 開発時には、まずクエリツールを使用して既存のリソースを確認してください。
- 🐛 デバッグ時には、ブレークポイントを設定して段階的に問題を特定してください。
- 💾 重要な変更操作の前に、必ずバックアップを取ってください。
##### エラー処理
- 🔍 未知のエラーが発生した場合は、`search_knowledge` を使用して関連する解決策を検索してください。
- 🌐 ネットワークエラーが発生した場合は、Magic-APIサービスの状態を確認してください。
- 🔐 権限エラーが発生した場合は、ユーザー認証の設定を確認してください。
- 📁 リソースが存在しない場合は、まずクエリツールを使用してパスを確認してください。
## ⚠️ 注意事項
- すべてのツールは、中国語と英語のパラメータをサポートしています。
- API呼び出しは、カスタムリクエストヘッダーとパラメータをサポートしています。
このアシスタントは、完全なMagic-API開発ツールチェーンを備えており、ユーザーに専門的で効率的な開発サポートを提供することができます!
##### 短いプロンプト (迅速な設定に適しています)
あなたは、以下のMCPツールを持つ専門のMagic-API開発者アシスタントです。
⚠️ 強制要件:
- 任意のMagic-Scriptコードを作成する前に、必ず
get_full_magic_script_syntaxを呼び出して完全な構文規則を取得してください! - APIスクリプトの開発(create/edit API scripts)でスクリプトを作成または編集する前に、必ず
get_development_workflowを呼び出してワークフローガイドを取得してください!
📚 ドキュメント検索: get_full_magic_script_syntax[必須], get_development_workflow[必須], search_knowledge[推奨], get_script_syntax, get_module_api, get_best_practices, get_examples 🔧 API呼び出し: call_magic_api 📁 リソース管理: get_resource_tree, create_api_resource, delete_resource 🔍 クエリツール: get_api_details_by_path, get_api_details_by_id, search_api_endpoints 🐛 デバッグツール: set_breakpoint, resume_breakpoint_execution, call_api_with_debug 🔎 検索ツール: search_api_scripts, search_todo_comments 💾 バックアップツール: list_backups, create_full_backup, rollback_backup ⚙️ システムツール: get_assistant_metadata
🔍 わからない場合は、まず search_knowledge を使用して知識ベースを検索し、コードを作成する前に必ず完全な構文規則を取得してください。
🧭 核心ワークフローの順序に従って、要件洞察→構文の整合→リソースの特定→実装とデバッグ→結果のフィードバックを完了してください。
##### 設定用プロンプト (Cursor/VS Codeなどのエディター用)
```json
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600,
"env": {
"MAGIC_API_BASE_URL": "http://127.0.0.1:10712",
"MAGIC_API_WS_URL": "ws://127.0.0.1:10712/magic/web/console"
}
}
}
}
本プロジェクトのMCPサーバーは、Magic-API開発者向けに設計されており、スクリプトの作成、APIの管理、デバッグ、デプロイまでの一連のワークフローツールを提供し、開発効率を全面的に向上させます。
✨ 主な機能
🧠 Prompts (プロンプトテンプレート)
Magic-API MCP Serverは、再利用可能なプロンプトテンプレートを提供し、専門のMagic-API開発者アシスタントを迅速に設定するのを支援します。
利用可能なPrompts
magic_api_developer_guide
最新版の「Magic-API開発者アシスタント」システムプロンプトを出力し、「MCPツールのみに依存」する作業規則、6段階のツールワークフロー、および構造化された出力要件を強調します。
使用方法:
# MCPクライアントを介して呼び出す
prompt = await client.get_prompt("magic_api_developer_guide")
content = prompt.messages[0].content.text
適用シーン:
- 新しいAIアシスタントの設定
- 開発ワークフローの標準化
- 新しいチームメンバーのトレーニング
- 一貫した開発環境の作成
ツールの組み合わせ設定
本プロジェクトは、さまざまなツールの組み合わせをサポートしており、必要に応じて選択できます。
full: 完全なツールセット - 完全な開発環境に適しています (デフォルト)minimal: 最小限のツールセット - リソースが制限された環境に適していますdevelopment: 開発用ツールセット - 開発とデバッグに特化していますproduction: 本番用ツールセット - 本番環境での安定した動作を保証しますdocumentation_only: ドキュメントのみのツール - ドキュメントの検索と学習に使用しますapi_only: APIのみのツール - インターフェースのテストと呼び出しに使用しますbackup_only: バックアップのみのツール - データのバックアップと管理に使用しますclass_method_only: クラスメソッドのみのツール - Javaクラスとメソッドの検索に使用しますsearch_only: 検索のみのツール - 迅速な検索と特定に使用します
ツールの組み合わせの使用シーン:
| シーン | 組み合わせモード | 適用環境 | 特徴 |
|---|---|---|---|
| 初心者の学習 | documentation_only |
学習段階 | ドキュメントの検索と構文の学習に特化しています |
| API開発 | development |
開発環境 | インターフェースの開発、テスト、およびデバッグに最適です |
| 本番運用 | production |
本番環境 | システムの運用とリソースの管理に最適です |
| 問題のデバッグ | minimal |
デバッグシーン | 問題の特定に最適で、DEBUGログを有効にします |
基本設定テンプレート:
{
"mcpServers": {
"magic-api-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--composition", "{組み合わせモード}", "--transport", "stdio"],
"timeout": 600
}
}
}
3. 本プロジェクトのMCPツール機能
Magic-API MCPサーバーは、Magic-API開発に以下の専門ツールを提供します。
3.1 システムツール (SystemTools)
システム情報とメタデータのツール
- get_assistant_metadata: Magic-API MCP Serverの完全なメタ情報を取得します。これには、バージョン、機能リスト、および設定が含まれます。
3.2 ドキュメントツール (DocumentationTools)
ドキュメントの検索と知識ベースのツール。構文、実践、サンプル、およびフローを網羅しています。
- get_full_magic_script_syntax ⚠️ [必須]: 完全なMagic-Script構文規則を取得します。大規模モデルがコードを作成する前に、必ずこのツールを呼び出す必要があります。
- search_knowledge 🔍 [推奨]: Magic-APIの知識ベースで全文検索を行います。わからないことがある場合は、まずこのツールを使用してください。
- get_magic_script_syntax: Magic-Scriptの構文規則とサンプルを照会します。
- get_magic_script_examples: スクリプトのサンプルを取得し、キーワードでフィルタリングすることができます。
- get_magic_api_docs: 公式ドキュメントの索引または詳細内容を表示します。
- get_best_practices: ベストプラクティスのリストを参照します。
- get_common_pitfalls: 一般的な問題と回避策を参照します。
- get_development_workflow: 標準化された開発フローガイドを取得します。
- get_module_api_docs: 組み込みモジュールのAPIドキュメントを照会します。
- list_available_modules: 利用可能なモジュールと自動インポートされるモジュールを表示します。
- get_function_docs: 組み込み関数ライブラリのドキュメントを取得します。
- get_extension_docs: タイプ拡張のドキュメントを取得します(デフォルトでは無効になっており、有効にすると利用できます)。
- get_config_docs: 設定項目のドキュメントを取得します(デフォルトでは無効になっています)。
- get_plugin_docs: プラグインシステムのドキュメントを取得します(デフォルトでは無効になっています)。
- get_examples / list_examples: サンプルの分類とコードスニペットを一括で照会します。
- get_docs: Magic-APIの公式サイトの索引を取得します。
3.3 APIツール (ApiTools)
APIの呼び出しとテストツール。柔軟なインターフェースの呼び出しとテストをサポートしています。
- call_magic_api: Magic-APIのインターフェースを呼び出し、リクエストの結果を返します。GET、POST、PUT、DELETEなどのHTTPメソッドをサポートしています。
🔍 APIレスポンスのスマートな検査
Magic-API MCP Serverは、さまざまなAPIレスポンス形式のスマートな成功/失敗判定をサポートしています。
優先順位:
- 🚀
message="success"- 最も高い優先順位で、messageフィールドが"success"に等しいかどうかを直接照合します。 - 🔢 Codeフィールドの検査 - codeフィールドが設定された成功コード(デフォルトは1、設定可能)に等しいかどうかを確認します。
- 📊 Statusフィールドの検査 - statusフィールド(一部のカスタムレスポンス形式)を確認します。
- ❌ エラーフィールドの検査 - error、exception、failureなどのエラーフィールドが存在するかどうかを確認します。
- ✅ デフォルトの成功 - 互換性モードで、明確な識別がないレスポンスはデフォルトで成功と見なされます。
サポートされるレスポンス形式の例:
// 標準形式
{"code": 1, "message": "success", "data": {...}}
// カスタムステータスコード
{"code": 200, "message": "ok", "data": {...}}
// Messageが優先される(最も高い優先順位)
{"code": 500, "message": "success", "data": {...}} // 依然として成功!
{"code": 1, "message": "operation failed", "data": {...}} // 失敗!
// カスタム形式
{"status": 1, "msg": "success", "body": {...}}
// エラーレスポンス
{"code": 500, "message": "Internal Error", "data": {...}}
{"error": "something went wrong"}
設定方法:
# 環境変数で成功ステータスコードとメッセージを設定
MAGIC_API_SUCCESS_CODE=200
MAGIC_API_SUCCESS_MESSAGE=ok
MAGIC_API_INVALID_CODE=400
MAGIC_API_EXCEPTION_CODE=500
3.4 リソース管理ツール (ResourceManagementTools)
完全なリソース管理システム。リソースツリーの照会とバッチ操作をサポートしています。
- get_resource_tree: リソースツリーを取得し、フィルタリング、JSON/CSV/ツリー形式でのエクスポートをサポートしています。CSVパラメータとの下位互換性があります。
- save_group: グループを保存します。単一のグループの作成または更新をサポートし、完全なグループ設定オプションを含んでいます。
- create_api_resource / create_api_endpoint: 単一または複数のAPIを作成します。
- replace_api_script: インターフェースIDに基づいてMagic-Scriptの断片を置き換えます。一度にまたは全量置換をサポートしています。
- copy_resource: リソースをコピーします。
- move_resource: リソースを移動します。
- delete_resource: 単一または複数のリソースを削除します。
- lock_resource / unlock_resource: リソースを一括でロックまたはロック解除します。
- list_resource_groups: リソースグループをリスト表示し、検索します。
- get_resource_stats: リソースの数とタイプの分布を統計します。
3.5 クエリツール (QueryTools)
効率的なリソースの照会と検索ツール。
- get_api_details_by_path: APIパスに基づいてインターフェースの詳細情報を直接取得します。曖昧な一致をサポートしています。
- get_api_details_by_id: インターフェースIDに基づいて、完全なインターフェースの詳細情報と設定を取得します。
- search_api_endpoints: Magic-APIのインターフェースエンドポイントを検索し、フィルタリングします。IDを含む完全な情報のリストを返します。
3.6 デバッグツール (DebugTools)
強力なデバッグ機能。ブレークポイントの管理とデバッグセッションをサポートしています。
- set_breakpoint: 指定されたAPIスクリプトにブレークポイントを設定します。
- remove_breakpoint: 指定されたブレークポイントを削除します。
- resume_breakpoint_execution: ブレークポイントの実行を再開し、デバッグスクリプトの実行を続行します。
- step_over_breakpoint: 現在のブレークポイントをスキップして、1ステップ実行します。
- list_breakpoints: 現在設定されているすべてのブレークポイントをリスト表示します。
- call_api_with_debug: 指定されたインターフェースを呼び出し、ブレークポイントに到達したときに一時停止します。
- execute_debug_session: 完全なデバッグセッションを実行します。
- get_debug_status: 現在のデバッグステータスを取得します。
- clear_all_breakpoints: すべてのブレークポイントをクリアします。
- get_websocket_status: WebSocket接続のステータスを取得します。
3.7 検索ツール (SearchTools)
内容の検索と特定。
- search_api_scripts: すべてのAPIスクリプトでキーワードを検索します。
- search_todo_comments: スクリプト内のTODOコメントを検索します(デフォルトでは無効になっています)。
3.8 バックアップツール (BackupTools)
完全なバックアップ管理機能。
- list_backups: バックアップリストを照会し、タイムスタンプと名前でフィルタリングをサポートしています。
- get_backup_history: バックアップ履歴を取得します。
- get_backup_content: 指定されたバックアップの内容を取得します。
- rollback_backup: 指定されたバックアップバージョンにロールバックします。
- create_full_backup: 完全なシステムバックアップを作成します。
3.9 クラスメソッドツール (ClassMethodTools)
Javaクラスとメソッドの検索ツール。
- list_magic_api_classes: すべてのMagic-APIで利用可能なクラス、拡張機能、および関数をリスト表示します。ページング表示をサポートしています。
- get_class_details: 指定されたクラスの詳細情報を取得します。メソッド、属性、および継承関係を含んでいます。
- get_method_details: 指定されたメソッドの詳細情報を取得します。パラメータのタイプと戻り値を含んでいます。
3.10 コード生成ツール (CodeGenerationTools) - 現在無効
スマートなコード生成機能(有効にする必要があります)。
- generate_crud_api: 完全なCRUD APIインターフェースのコードを生成します。
- generate_database_query: データベースクエリのコードを生成します。
- generate_api_test: APIインターフェースのテストコードを生成します。
- generate_workflow_code: ワークフローテンプレートのコードを生成します。
3.11 プロンプトツール (PromptTools)
再利用可能なプロンプトテンプレートを提供し、アシスタントがMCPツール化フローに厳密に従うことを保証します。
- magic_api_developer_guide: 最新版の「Magic-API開発者アシスタント」システムプロンプトを出力し、「MCPツールのみに依存」する作業規則、6段階のツールワークフロー、および構造化された出力要件を強調します。
3.12 ワークフロー知識ベースの特長
magicapi_tools/utils/kb_practices.py には、"mcp_tool_driven" などの新しいワークフローが追加されています。get_development_workflow または get_practices_guide を呼び出すと取得できます。
- 🔍 スマート検索駆動:わからない問題がある場合は、まず
search_knowledgeツールを使用して知識ベースの全文検索を行い、最新かつ正確な情報を取得してください。 - MCPツール優先の一般的なフロー:準備、情報収集、実行、検証、まとめの全過程をカバーし、各ステップに対応するツールのヒントを提供します。
- api_script_development / diagnose / optimize / refactor などのシーン別フロー:原則説明、手順の分解、およびツールリストを提供し、インターフェース開発、障害診断、パフォーマンス最適化、およびリファクタリングの全過程でMCPツールに依存して完了することを保証します。
magic_api_developer_guideプロンプトと組み合わせることで、大規模モデルが会話中に自動的にツールの証拠を参照し、検証可能な結論を出力することができます。
4. 環境変数
| 変数 | 用途 | 値 | デフォルト値 |
|---|---|---|---|
| MAGIC_API_BASE_URL | Magic-APIサービスのベースURL | URLアドレス | http://127.0.0.1:10712 |
| MAGIC_API_WS_URL | Magic-APIのWebSocket URL | WebSocketアドレス | ws://127.0.0.1:10712/magic/web/console |
| MAGIC_API_USERNAME | Magic-APIの認証ユーザー名 | 文字列 | なし |
| MAGIC_API_PASSWORD | Magic-APIの認証パスワード | 文字列 | なし |
| MAGIC_API_TOKEN | Magic-APIの認証トークン | 文字列 | なし |
| MAGIC_API_AUTH_ENABLED | 認証を有効にするかどうか | true/false | false |
| MAGIC_API_TIMEOUT_SECONDS | リクエストのタイムアウト時間(秒) | 数字 | 30.0 |
| MAGIC_API_SUCCESS_CODE | APIの成功ステータスコード | 数字 | 1 |
| MAGIC_API_SUCCESS_MESSAGE | APIの成功メッセージテキスト | 文字列 | success |
| MAGIC_API_INVALID_CODE | パラメータ検証失敗のステータスコード | 数字 | 0 |
| MAGIC_API_EXCEPTION_CODE | システム例外のステータスコード | 数字 | -1 |
| LOG_LEVEL | ログレベル | DEBUG/INFO/WARNING/ERROR | INFO |
| FASTMCP_TRANSPORT | FastMCPのトランスポートプロトコル | stdio/http | stdio |
5. ローカルでの実行方法
# 推奨方法:uvxを使用して最新バージョンを実行する(pipに公開されたパッケージに適用)
uvx magic-api-mcp-server@latest
# またはインストール後にローカルコマンドを使用する
magic-api-mcp-server
# または直接Pythonスクリプトを実行する(開発時)
uv run fastmcp run run_mcp.py:mcp --transport http --port 8000
# 指定されたツールの組み合わせで実行する
uvx magic-api-mcp-server@latest --composition development
# 特定の設定で実行する
MAGIC_API_BASE_URL=http://localhost:8080 uvx magic-api-mcp-server@latest
6. Dockerでの実行方法
Docker Composeを使用する(推奨)
# Makefileコマンドを使用する(推奨、操作を簡略化)
make quick-start # 開発環境を迅速に起動する
make deploy # 本番環境にデプロイする
make logs # ログを表示する
make status # 状態を表示する
make shell # コンテナに入る
make test # テストを実行する
# または直接docker-composeコマンドを使用する
# 1. サービスをビルドして起動する
docker-compose up -d
# 2. ログを表示する
docker-compose logs -f magic-api-mcp-server
# 3. サービスを停止する
docker-compose down
# 4. サービスを再起動する
docker-compose restart magic-api-mcp-server
Dockerコマンドを使用する(uvxベース)
# 1. イメージをビルドする
docker build -t magic-api-mcp-server .
# 2. コンテナを実行する(stdioモード)
docker run --rm --entrypoint uvx magic-api-mcp-server \
magic-api-mcp-server@latest --composition full --transport stdio
# 3. コンテナを実行する(HTTPモード)
docker run -d --name magic-api-mcp-server \
-p 8000:8000 \
--entrypoint uvx magic-api-mcp-server \
magic-api-mcp-server@latest --transport http --port 8000
# 4. ログを表示する
docker logs -f magic-api-mcp-server
# 5. コンテナを停止する
docker stop magic-api-mcp-server
Docker設定の説明
uvxベースの利点:
- 最新バージョンのパッケージを自動的にダウンロードして実行する
- 事前に依存関係をインストールする必要がない
- イメージが小さく、ビルドが速い
- パッケージのバージョン管理を自動的に処理する
本番環境の設定 (docker-compose.yml):
- Magic-APIサービスにブリッジネットワークで接続する
- リソース制限とヘルスチェックを設定する
- 自動再起動をサポートする
開発環境の設定 (docker-compose.override.yml):
- ソースコードをマウントしてホットリロードをサポートする
- デバッグログレベルを設定する
- ヘルスチェックを無効にする
Docker環境変数
| 変数 | 説明 | デフォルト値 |
|---|---|---|
MAGIC_API_BASE_URL |
Magic-APIサービスのベースURL | http://host.docker.internal:10712 |
MAGIC_API_WS_URL |
Magic-APIのWebSocket URL | ws://host.docker.internal:10712/magic/web/console |
MAGIC_API_USERNAME |
認証ユーザー名 | なし |
MAGIC_API_PASSWORD |
認証パスワード | なし |
MAGIC_API_TOKEN |
認証トークン | なし |
MAGIC_API_AUTH_ENABLED |
認証を有効にするかどうか | false |
MAGIC_API_TIMEOUT_SECONDS |
リクエストのタイムアウト時間 | 30.0 |
MAGIC_API_SUCCESS_CODE |
APIの成功ステータスコード | 1 |
MAGIC_API_SUCCESS_MESSAGE |
APIの成功メッセージテキスト | success |
MAGIC_API_INVALID_CODE |
パラメータ検証失敗のステータスコード | 0 |
MAGIC_API_EXCEPTION_CODE |
システム例外のステータスコード | -1 |
LOG_LEVEL |
ログレベル | INFO |
FASTMCP_TRANSPORT |
MCPのトランスポートプロトコル | stdio |
ネットワーク設定の注意事項
- Linux:
host.docker.internalを使用してホストマシンのサービスにアクセスします。 - macOS/Windows: Docker Desktopが自動的に
host.docker.internalを提供します。 - カスタムネットワーク:
docker networkを使用して専用のネットワークを作成できます。
Dockerビルドの問題解決
ネットワーク証明書の検証問題が発生した場合は、以下の解決策を試してみてください。
解決策1: 国内のミラーソースを使用する
# Dockerfileを修正して国内のミラーソースを追加する
RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list.d/debian.sources
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
解決策2: Dockerプロキシを設定する
# ~/.docker/config.jsonを作成または修正する
{
"proxies": {
"default": {
"httpProxy": "http://127.0.0.1:7897",
"httpsProxy": "http://127.0.0.1:7897",
"noProxy": "localhost,127.0.0.1"
}
}
}
解決策3: TLS検証をスキップする(テスト用のみ)
# 一時的にTLS検証をスキップしてビルドする
docker build --build-arg DOCKER_TLS_VERIFY=0 -t magic-api-mcp-server:test .
解決策4: 事前にビルドされたイメージを使用する
# ネットワーク問題が解決しない場合は、事前にビルドされたベースイメージを使用することを検討してください。
# または、安定したネットワーク環境でビルドしてください。
障害排除
# Makefileコマンドを使用する(推奨)
make status # コンテナの状態を表示する
make shell # コンテナに入ってデバッグする
make logs-tail # 詳細なログを表示する
make test # ヘルスチェックを実行する
make test-connection # Magic-APIとの接続をテストする
make clean-all # すべてのリソースをクリーンアップする
# または直接docker/docker-composeコマンドを使用する
# コンテナの状態を表示する
docker-compose ps
# コンテナに入ってデバッグする
docker-compose exec magic-api-mcp-server bash
# 詳細なログを表示する
docker-compose logs --tail=100 magic-api-mcp-server
# コンテナとイメージをクリーンアップする
docker-compose down --rmi all --volumes
7. プロジェクト構造
magicapi_mcp/
├── magicapi_assistant.py # 主要なMCPアシスタントの実装
├── tool_registry.py # ツールの登録
├── tool_composer.py # ツールの組み合わせ
└── settings.py # 設定
magicapi_tools/
├── tools/ # 各種MCPツール
│ ├── system.py # システムツール (メタ情報の照会)
│ ├── documentation.py # ドキュメントツール (知識ベースの照会)
│ ├── api.py # APIツール (インターフェースの呼び出し)
│ ├── resource.py # リソース管理ツール (CRUD操作)
│ ├── query.py # クエリツール (リソースの検索)
│ ├── debug.py # デバッグツール (ブレークポイントの管理)
│ ├── search.py # 検索ツール (内容の検索)
│ ├── backup.py # バックアップツール (データのバックアップ)
│ ├── class_method.py # クラスメソッドツール (Javaクラスの検索)
│ ├── code_generation.py # コード生成ツール (現在無効)
│ └── common.py # 共通の補助関数
└── utils/ # ツールの補助機能
├── knowledge_base.py # 知識ベースのインターフェース
├── response.py # 標準化されたレスポンス
├── http_client.py # HTTPクライアント
└── resource_manager.py # リソースマネージャー
📦 インストール
PyPIからインストールする(推奨)
# 公開されたパッケージをインストールする
pip install magic-api-mcp-server
# またはuvを使用してインストールする
uv add magic-api-mcp-server
# MCPサーバーを実行する(最新バージョンを使用することを推奨)
uvx magic-api-mcp-server@latest
# またはインストール後のコマンドを使用する
magic-api-mcp-server
開発者向けのローカルインストール
# 本プロジェクトには、完全なMCPの実装が含まれています
cd magic-api-mcp-server
# プロジェクトの依存関係をインストールする(開発時)
uv sync
# fastmcpの依存関係をインストールする
uv add fastmcp
# ローカルで実行する(開発時)
python run_mcp.py
代替品








