MockLoop MCP - AI-Native Testing Platform について
MockLoop MCPは、AIを活用したワークフローでAPIを開発・検証するチーム向けのテストプラットフォームです。OpenAPI仕様からモックサーバーを生成し、シナリオテスト、状態管理、ログ、分析を提供します。
主な機能
- 01OpenAPIからモックサーバーを生成
- 02テストシナリオの生成と実行
- 03負荷テストとセキュリティテスト
- 04ステートフルなテストコンテキスト管理
- 05ログとパフォーマンス指標の分析
- 06モックと実APIのモード切り替え
活用シーン
- 01OpenAPI仕様からAPIモックを作成
- 02エラー、セキュリティ、負荷のシナリオをテスト
- 03リクエストログの確認とテスト実行の比較
- 04モックAPIと実API間でリクエストを振り分け
MCP 対応
テストツール、プロンプト、シナリオリソースをMCPクライアントに公開します。モック生成、テスト実行、コンテキスト管理、分析に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
注意:このプロジェクトの疑わしいコピーがGithubなどに出回るのを防ぐため、SchemaPinを完全に実装しました。このリポジトリのリリースを使用していることを必ず確認し、SchemaPinを使って当社のツールスキーマを検証してください:https://mockloop.com/.well-known/schemapin.json

MockLoop MCP - AIネイティブテストプラットフォーム
Model Context Protocol(MCP)を活用した、世界初のAIネイティブAPIテストプラットフォームです。MockLoop MCPは、包括的なAI駆動のシナリオ生成、自動テスト実行、インテリジェントな分析機能によって、APIテストに革新をもたらします。
🚀 革新的な機能: AI プロンプト 5 件 • シナリオリソース 15 件 • テストツール 16 件 • コンテキストツール 10 件 • コアツール 4 件 • MCP 完全統合
📚 ドキュメント: https://docs.mockloop.com
📦 PyPI パッケージ: https://pypi.org/project/mockloop-mcp/
🐙 GitHub リポジトリ: https://github.com/mockloop/mockloop-mcp
🌟 MockLoop MCPが革新的な理由
MockLoop MCPは、APIテストにパラダイムシフトをもたらし、次の要素を組み合わせた世界初のAIネイティブテストアーキテクチャを導入します。
- 🤖 AI駆動のテスト生成:インテリジェントなシナリオ作成を実現する、特化型MCPプロンプト 5 件
- 📦 コミュニティシナリオパック:コミュニティアーキテクチャを備えた、厳選されたテストリソース 15 件
- ⚡ 自動テスト実行:テストワークフロー全体に対応する、包括的なMCPツール 30 件(テスト 16 件+コンテキスト 10 件+コア 4 件)
- 🔄 ステートフルテスト:GlobalContextとAgentContextによる高度なコンテキスト管理
- 📊 エンタープライズコンプライアンス:完全な監査ログと規制コンプライアンスの追跡
- 🏗️ デュアルポートアーキテクチャ:モックAPIポートと管理ポートを分離し、/adminパスの競合を解消
🎯 AIネイティブなコアアーキテクチャ
MCP監査ログ
エンタープライズ水準のコンプライアンスと規制の追跡
- リクエスト/レスポンスの完全な監査証跡
- 規制コンプライアンスの監視
- パフォーマンス指標と分析
- セキュリティイベントのログ記録
MCPプロンプト(AI駆動の機能 5 件)
AIを活用したインテリジェントなシナリオ生成
analyze_openapi_for_testing- テスト戦略のための包括的なAPI分析generate_scenario_config- 動的なテストシナリオ設定optimize_scenario_for_load- 負荷テストの最適化generate_error_scenarios- エラー条件のシミュレーションgenerate_security_test_scenarios- セキュリティ脆弱性のテスト
MCP リソース(15 のシナリオパック)
高度なアーキテクチャを備えた、コミュニティ主導のテストシナリオ
- 負荷テストシナリオ:大量のトラフィックをシミュレーション
- エラーシミュレーションパック:包括的なエラー条件テスト
- セキュリティテストスイート:脆弱性評価シナリオ
- パフォーマンスベンチマーク:標準化されたパフォーマンステスト
- 統合テストパック:サービス間のテストシナリオ
- コミュニティアーキテクチャ:シナリオの共同共有と検証
MCP ツール(16 の自動テストツール)
自動テストを完全に実行する機能
シナリオ管理(4 ツール)
validate_scenario_config- シナリオの検証と確認deploy_scenario- シナリオの自動デプロイswitch_scenario- シナリオの動的な切り替えlist_active_scenarios- アクティブなシナリオの監視
テスト実行(4 ツール)
execute_test_plan- テスト計画を包括的に実行run_test_iteration- 個々のテスト反復を管理run_load_test- 負荷テストを実行run_security_test- セキュリティテストを自動化
分析とレポート(4 ツール)
analyze_test_results- テスト結果をインテリジェントに分析generate_test_report- 包括的なレポートを作成compare_test_runs- テスト実行の比較と傾向分析get_performance_metrics- パフォーマンス指標を収集
ワークフロー管理(4 ツール)
create_test_session- テストセッションを初期化end_test_session- セッションをクリーンアップして終了schedule_test_suite- テストを自動でスケジュールmonitor_test_progress- 進捗をリアルタイムで監視
MCP コンテキスト管理(10 のステートフルなワークフローツール)
複雑なテストワークフローに対応する高度な状態管理
コンテキストの作成と管理
create_test_session_context- テストセッションの状態を管理create_workflow_context- 複雑なワークフローをオーケストレーションcreate_agent_context- AI エージェントの状態を管理
データ管理
get_context_data- コンテキストデータの取得update_context_data- コンテキストの動的な更新list_contexts_by_type- コンテキストの検出と一覧表示
スナップショットと復元
create_context_snapshot- 状態のスナップショット作成restore_context_snapshot- 状態をロールバックする機能
グローバルコンテキスト
get_global_context_data- セッションをまたいだデータ共有update_global_context_data- グローバル状態の管理
🚀 クイックスタート
世界最先端の AI ネイティブなテストプラットフォームを使い始めましょう:
# 1. Install MockLoop MCP
pip install mockloop-mcp
# 2. Verify installation
mockloop-mcp --version
# 3. Configure with your MCP client (Cline, Claude Desktop, etc.)
# See configuration examples below
📋 前提条件
- Python 3.10+
- Pip パッケージマネージャー
- Docker と Docker Compose(コンテナ化されたモックサーバー用)
- MCP 対応クライアント(Cline、Claude Desktop など)
🔧 インストール
オプション 1:PyPI からインストール(推奨)
# Install the latest stable version
pip install mockloop-mcp
# Or install with optional dependencies
pip install mockloop-mcp[dev] # Development tools
pip install mockloop-mcp[docs] # Documentation tools
pip install mockloop-mcp[all] # All optional dependencies
# Verify installation
mockloop-mcp --version
オプション 2:開発用インストール
# Clone the repository
git clone https://github.com/mockloop/mockloop-mcp.git
cd mockloop-mcp
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
⚙️ 設定
MCP クライアントの設定
Cline(VS Code 拡張機能)
Cline の MCP 設定ファイルに追加します:
{
"mcpServers": {
"MockLoopLocal": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "mockloop-mcp",
"args": [],
"transportType": "stdio"
}
}
}
Claude Desktop
Claude Desktop の設定に追加します:
{
"mcpServers": {
"mockloop": {
"command": "mockloop-mcp",
"args": []
}
}
}
仮想環境へのインストール
仮想環境にインストールする場合は、Python のフルパスを使用します:
{
"mcpServers": {
"MockLoopLocal": {
"command": "/path/to/your/venv/bin/python",
"args": ["-m", "mockloop_mcp"],
"transportType": "stdio"
}
}
}
🛠️ 利用可能な MCP ツール
コアのモック生成
generate_mock_api
デュアルポートアーキテクチャを採用した、高機能な FastAPI モックサーバーを生成します。
パラメーター:
spec_url_or_path(string、必須):API 仕様の URL またはローカルファイルパスoutput_dir_name(string、任意):出力ディレクトリ名auth_enabled(boolean、任意):認証ミドルウェアを有効にします(デフォルト:true)webhooks_enabled(boolean、任意):Webhook サポートを有効にします(デフォルト:true)admin_ui_enabled(boolean、任意):管理 UI を有効にします(デフォルト:true)storage_enabled(boolean、任意):ストレージ機能を有効にします(デフォルト:true)
革新的なデュアルポートアーキテクチャ:
- モック API ポート:API エンドポイントを提供します(デフォルト:8000)
- 管理 UI ポート:独立した管理インターフェースです(デフォルト:8001)
- 競合の解決:OpenAPI 仕様での
/adminパスの競合を解消します - セキュリティの強化:ポートベースのアクセス制御と分離を実現します
高度な分析
query_mock_logs
AI を活用した分析情報を使って、リクエストログを検索・分析します。
パラメーター:
server_url(string、必須):モックサーバーの URLlimit(integer、任意):返すログの最大数(デフォルト:100)offset(integer、任意):ページネーションのオフセット(デフォルト:0)method(string、任意):HTTP メソッドによる絞り込みpath_pattern(string、任意):パス絞り込み用の正規表現パターンtime_from(string、任意):開始時刻による絞り込み(ISO 形式)time_to(string、任意):終了時刻による絞り込み(ISO 形式)include_admin(boolean、任意):管理リクエストを含めます(デフォルト:false)analyze(boolean、任意):AI 分析を実行します(デフォルト:true)
AI を活用した分析:
- パフォーマンス指標(P95/P99 応答時間)
- エラー率の分析と分類
- トラフィックパターンの検出
- デバッグに関する推奨事項の自動生成
- セッションの関連付けと追跡
discover_mock_servers
デュアルポートアーキテクチャのサポートを備えた、インテリジェントなサーバー検出機能です。
パラメーター:
ports(array, optional): スキャンするポート(デフォルト: 一般的なポート)check_health(boolean, optional): ヘルスチェックを実行するかどうか(デフォルト: true)include_generated(boolean, optional): 生成されたモックを含めるかどうか(デフォルト: true)
高度な検出機能:
- アーキテクチャの自動検出(シングルポートとデュアルポート)
- ヘルスステータスの監視
- サーバーの関連付けと照合
- ポート使用状況の分析
manage_mock_data
サーバーを再起動せずに、レスポンスを動的に管理します。
パラメーター:
server_url(string, required): モックサーバーの URLoperation(string, required): 操作の種類("update_response"、"create_scenario"、"switch_scenario"、"list_scenarios")endpoint_path(string, optional): API エンドポイントのパスresponse_data(object, optional): 新しいレスポンスデータscenario_name(string, optional): シナリオ名scenario_config(object, optional): シナリオの設定
動的な機能:
- リアルタイムのレスポンス更新
- シナリオベースのテスト
- 実行時の設定管理
- ダウンタイムなしの変更
🌐 MCP プロキシ機能
MockLoop MCP には画期的なプロキシ機能が含まれており、モック環境とライブ API 環境をシームレスに切り替えられます。この強力な機能により、次のようなメリットが得られ、テストのワークフローが変わります。
プロキシの主な機能
- 🔄 シームレスなモード切り替え: コードを変更せずに、モック、プロキシ、ハイブリッドの各モードを切り替えます
- 🎯 インテリジェントなルーティング: 設定可能なルールと条件に基づいて、リクエストをスマートにルーティングします
- 🔐 汎用認証: API キー、ベアラートークン、Basic 認証、OAuth2 をサポートします
- 📊 レスポンス比較: モックとライブ API のレスポンスを自動的に比較します
- ⚡ ダウンタイムなしの切り替え: サービスを中断せずにモードを動的に変更します
動作モード
モックモード(MOCK)
- すべてのリクエストを生成されたモックレスポンスで処理します
- 予測可能で一貫性のあるテスト環境です
- 開発の初期段階や、分離されたテストに最適です
- 外部依存関係やネットワーク呼び出しはありません
プロキシモード(PROXY)
- すべてのリクエストをライブ API エンドポイントに転送します
- リアルタイムのデータと実際のレスポンスを利用できます
- 完全な統合テストが可能です
- ライブ認証情報を使った、ネットワーク依存の動作です
ハイブリッドモード(HYBRID)
- ルールに基づいて、モックとプロキシの間でインテリジェントにルーティングします
- リクエストパターン、ヘッダー、パラメーターに基づいて条件付きで切り替えます
- モック環境からライブ環境へ段階的に移行できます
- A/B テストや、特定のエンドポイントのみのプロキシが可能です
クイックスタートの例
from mockloop_mcp.mcp_tools import create_mcp_plugin
# Create a proxy-enabled plugin
plugin_result = await create_mcp_plugin(
spec_url_or_path="https://api.example.com/openapi.json",
mode="hybrid", # Start with hybrid mode
plugin_name="example_api",
target_url="https://api.example.com",
auth_config={
"auth_type": "bearer_token",
"credentials": {"token": "your-token"}
},
routing_rules=[
{
"pattern": "/api/critical/*",
"mode": "proxy", # Critical endpoints use live API
"priority": 10
},
{
"pattern": "/api/dev/*",
"mode": "mock", # Development endpoints use mocks
"priority": 5
}
]
)
高度な機能
- 🔍 レスポンス検証: 一貫性を確認するため、モックとライブのレスポンスを比較します
- 📈 パフォーマンス監視: 各モードのレスポンスタイムとスループットを追跡します
- 🛡️ エラー処理: フォールバック機構と再試行ポリシーを適用します
- 🎛️ 動的な設定: 実行時のモード切り替えとルール更新が可能です
- 📋 監査ログ: すべてのモードでリクエストとレスポンスを完全に追跡します
認証のサポート
プロキシシステムは、幅広い認証方式をサポートしています。
- API キー: ヘッダー、クエリパラメーター、または Cookie による認証
- ベアラートークン: OAuth2 と JWT トークンをサポート
- Basic 認証: ユーザー名とパスワードの組み合わせ
- OAuth2: トークンの更新を含む OAuth2 フロー全体
- カスタム: 独自の認証方式に対応する拡張可能な認証ハンドラー
ユースケース
- 開発ワークフロー: モックから始めて、ライブ API を段階的に導入します
- 統合テスト: テストの分離を保ちながら、実際のサービスに対して検証します
- パフォーマンステスト: モックとライブ API のパフォーマンス特性を比較します
- ステージング検証: モックレスポンスが本番 API の動作と一致することを確認します
- ハイブリッドデプロイ: 重要な処理をライブ API に、それ以外をモックにルーティングします
📚 完全ガイド: 詳細な設定、例、ベストプラクティスについては、MCP プロキシガイドを参照してください。
🤖 AI フレームワークとの統合
MockLoop MCP は、人気の AI フレームワークとネイティブに統合できます。
LangGraph との統合
from langgraph.graph import StateGraph, END
from mockloop_mcp import MockLoopClient
# Initialize MockLoop client
mockloop = MockLoopClient()
def setup_ai_testing(state):
"""AI-driven test setup"""
# Generate mock API with AI analysis
result = mockloop.generate_mock_api(
spec_url_or_path="https://api.example.com/openapi.json",
output_dir_name="ai_test_environment"
)
# Use AI prompts for scenario generation
scenarios = mockloop.analyze_openapi_for_testing(
api_spec=state["api_spec"],
analysis_depth="comprehensive",
include_security_tests=True
)
state["mock_server_url"] = "http://localhost:8000"
state["test_scenarios"] = scenarios
return state
def execute_ai_tests(state):
"""Execute AI-generated test scenarios"""
# Deploy AI-generated scenarios
for scenario in state["test_scenarios"]:
mockloop.deploy_scenario(
server_url=state["mock_server_url"],
scenario_config=scenario
)
# Execute load tests with AI optimization
results = mockloop.run_load_test(
server_url=state["mock_server_url"],
scenario_name=scenario["name"],
duration=300,
concurrent_users=100
)
# AI-powered result analysis
analysis = mockloop.analyze_test_results(
test_results=results,
include_recommendations=True
)
state["test_results"].append(analysis)
return state
# Build AI-native testing workflow
workflow = StateGraph(dict)
workflow.add_node("setup_ai_testing", setup_ai_testing)
workflow.add_node("execute_ai_tests", execute_ai_tests)
workflow.set_entry_point("setup_ai_testing")
workflow.add_edge("setup_ai_testing", "execute_ai_tests")
workflow.add_edge("execute_ai_tests", END)
app = workflow.compile()
CrewAI のマルチエージェントテスト
from crewai import Agent, Task, Crew
from mockloop_mcp import MockLoopClient
# Initialize MockLoop client
mockloop = MockLoopClient()
# AI Testing Specialist Agent
api_testing_agent = Agent(
role='AI API Testing Specialist',
goal='Generate and execute comprehensive AI-driven API tests',
backstory='Expert in AI-native testing with MockLoop MCP integration',
tools=[
mockloop.generate_mock_api,
mockloop.analyze_openapi_for_testing,
mockloop.generate_scenario_config
]
)
# Performance Analysis Agent
performance_agent = Agent(
role='AI Performance Analyst',
goal='Analyze API performance with AI-powered insights',
backstory='Specialist in AI-driven performance analysis and optimization',
tools=[
mockloop.run_load_test,
mockloop.get_performance_metrics,
mockloop.analyze_test_results
]
)
# Security Testing Agent
security_agent = Agent(
role='AI Security Testing Expert',
goal='Conduct AI-driven security testing and vulnerability assessment',
backstory='Expert in AI-powered security testing methodologies',
tools=[
mockloop.generate_security_test_scenarios,
mockloop.run_security_test,
mockloop.compare_test_runs
]
)
# Define AI-driven tasks
ai_setup_task = Task(
description='Generate AI-native mock API with comprehensive testing scenarios',
agent=api_testing_agent,
expected_output='Mock server with AI-generated test scenarios deployed'
)
performance_task = Task(
description='Execute AI-optimized performance testing and analysis',
agent=performance_agent,
expected_output='Comprehensive performance analysis with AI recommendations'
)
security_task = Task(
description='Conduct AI-driven security testing and vulnerability assessment',
agent=security_agent,
expected_output='Security test results with AI-powered threat analysis'
)
# Create AI testing crew
ai_testing_crew = Crew(
agents=[api_testing_agent, performance_agent, security_agent],
tasks=[ai_setup_task, performance_task, security_task],
verbose=True
)
# Execute AI-native testing workflow
results = ai_testing_crew.kickoff()
LangChain の AI テストツール
from langchain.agents import Tool, AgentExecutor, create_react_agent
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from mockloop_mcp import MockLoopClient
# Initialize MockLoop client
mockloop = MockLoopClient()
# AI-Native Testing Tools
def ai_generate_mock_api(spec_path: str) -> str:
"""Generate AI-enhanced mock API with intelligent scenarios"""
# Generate mock API
result = mockloop.generate_mock_api(spec_url_or_path=spec_path)
# Use AI to analyze and enhance
analysis = mockloop.analyze_openapi_for_testing(
api_spec=spec_path,
analysis_depth="comprehensive",
include_security_tests=True
)
return f"AI-enhanced mock API generated: {result}\nAI Analysis: {analysis['summary']}"
def ai_execute_testing_workflow(server_url: str) -> str:
"""Execute comprehensive AI-driven testing workflow"""
# Create test session context
session = mockloop.create_test_session_context(
session_name="ai_testing_session",
configuration={"ai_enhanced": True}
)
# Generate and deploy AI scenarios
scenarios = mockloop.generate_scenario_config(
api_spec=server_url,
scenario_types=["load", "error", "security"],
ai_optimization=True
)
results = []
for scenario in scenarios:
# Deploy scenario
mockloop.deploy_scenario(
server_url=server_url,
scenario_config=scenario
)
# Execute tests with AI monitoring
test_result = mockloop.execute_test_plan(
server_url=server_url,
test_plan=scenario["test_plan"],
ai_monitoring=True
)
results.append(test_result)
# AI-powered analysis
analysis = mockloop.analyze_test_results(
test_results=results,
include_recommendations=True,
ai_insights=True
)
return f"AI testing workflow completed: {analysis['summary']}"
# Create LangChain tools
ai_testing_tools = [
Tool(
name="AIGenerateMockAPI",
func=ai_generate_mock_api,
description="Generate AI-enhanced mock API with intelligent testing scenarios"
),
Tool(
name="AIExecuteTestingWorkflow",
func=ai_execute_testing_workflow,
description="Execute comprehensive AI-driven testing workflow with intelligent analysis"
)
]
# Create AI testing agent
llm = ChatOpenAI(temperature=0)
ai_testing_prompt = PromptTemplate.from_template("""
You are an AI-native testing assistant powered by MockLoop MCP.
You have access to revolutionary AI-driven testing capabilities including:
- AI-powered scenario generation
- Intelligent test execution
- Advanced performance analysis
- Security vulnerability assessment
- Stateful workflow management
Tools available: {tools}
Tool names: {tool_names}
Question: {input}
{agent_scratchpad}
""")
agent = create_react_agent(llm, ai_testing_tools, ai_testing_prompt)
agent_executor = AgentExecutor(agent=agent, tools=ai_testing_tools, verbose=True)
# Execute AI-native testing
response = agent_executor.invoke({
"input": "Generate a comprehensive AI-driven testing environment for a REST API and execute full testing workflow"
})
🏗️ デュアルポートアーキテクチャ
MockLoop MCP は、よくある競合を解消し、セキュリティを強化する画期的な デュアルポートアーキテクチャ を導入しています。
アーキテクチャのメリット
- 🔒 セキュリティの強化:モック API と管理機能を完全に分離します
- ⚡ 競合ゼロ:OpenAPI 仕様における /admin パスの競合を解消します
- 📊 クリーンな分析情報:管理機能への呼び出しがモック API のメトリクスに表示されません
- 🔄 独立したスケーリング:モック API と管理サービスを個別にスケーリングできます
- 🛡️ ポートベースのアクセス制御:ネットワーク分離によりセキュリティを強化します
ポートの設定
# Generate mock with dual-port architecture
result = mockloop.generate_mock_api(
spec_url_or_path="https://api.example.com/openapi.json",
business_port=8000, # Mocked API port
admin_port=8001, # Admin UI port
admin_ui_enabled=True
)
アクセスポイント
- モック API:
http://localhost:8000- API エンドポイント - 管理 UI:
http://localhost:8001- 管理インターフェース - API ドキュメント:
http://localhost:8000/docs- 対話型 Swagger UI - ヘルスチェック:
http://localhost:8000/health- サーバーの状態
📊 エンタープライズ機能
コンプライアンスと監査ログ
MockLoop MCP は、エンタープライズレベルのコンプライアンス機能を提供します。
- 完全な監査証跡:すべてのリクエストとレスポンスがメタデータとともに記録されます
- 規制コンプライアンス:GDPR、SOX、HIPAA への準拠をサポートします
- パフォーマンス指標:P95/P99 の応答時間、エラー率
- セキュリティ監視:脅威の検出と分析
- セッション追跡:リクエストをまたいだ相関分析
高度な分析
- AI を活用したインサイト:インテリジェントな分析と推奨事項
- トラフィックパターンの検出:異常を自動検出します
- パフォーマンスの最適化:AI によるパフォーマンスの推奨事項
- エラー分析:エラーをインテリジェントに分類し、解決します
- 傾向分析:過去のパフォーマンスと使用状況の傾向
🔄 ステートフルなテストワークフロー
MockLoop MCP は、高度なコンテキスト管理により、複雑でステートフルなテストワークフローをサポートします。
コンテキストの種類
- テストセッションコンテキスト:テストの実行間で状態を維持します
- ワークフローコンテキスト:複雑な複数ステップのテストオーケストレーション
- エージェントコンテキスト:AI エージェントの状態管理と調整
- グローバルコンテキスト:セッションをまたいだデータの共有と永続化
例:ステートフルな E コマーステスト
# Create test session context
session = mockloop.create_test_session_context(
session_name="ecommerce_integration_test",
configuration={
"test_type": "integration",
"environment": "staging",
"ai_enhanced": True
}
)
# Create workflow context for multi-step testing
workflow = mockloop.create_workflow_context(
workflow_name="user_journey_test",
parent_context=session["context_id"],
steps=[
"user_registration",
"product_browsing",
"cart_management",
"checkout_process",
"order_fulfillment"
]
)
# Execute stateful test workflow
for step in workflow["steps"]:
# Update context with step data
mockloop.update_context_data(
context_id=workflow["context_id"],
data={"current_step": step, "timestamp": datetime.now()}
)
# Execute step-specific tests
test_result = mockloop.execute_test_plan(
server_url="http://localhost:8000",
test_plan=f"{step}_test_plan",
context_id=workflow["context_id"]
)
# Create snapshot for rollback capability
snapshot = mockloop.create_context_snapshot(
context_id=workflow["context_id"],
snapshot_name=f"{step}_completion"
)
# Analyze complete workflow results
final_analysis = mockloop.analyze_test_results(
test_results=workflow["results"],
context_id=workflow["context_id"],
include_recommendations=True
)
🚀 生成されたモックサーバーの実行
Docker Compose を使用する(推奨)
# Navigate to generated mock directory
cd generated_mocks/your_api_mock
# Start with dual-port architecture
docker-compose up --build
# Access points:
# Mocked API: http://localhost:8000
# Admin UI: http://localhost:8001
Uvicorn を直接使用する
# Install dependencies
pip install -r requirements_mock.txt
# Start the mock server
uvicorn main:app --reload --port 8000
拡張機能へのアクセス
- 管理 UI:
http://localhost:8001- 拡張管理インターフェース - API ドキュメント:
http://localhost:8000/docs- 対話型 Swagger UI - ヘルスチェック:
http://localhost:8000/health- サーバーの状態とメトリクス - ログ分析:
http://localhost:8001/api/logs/search- 高度なログ検索 - パフォーマンス指標:
http://localhost:8001/api/logs/analyze- AI を活用したインサイト - シナリオ管理:
http://localhost:8001/api/mock-data/scenarios- 動的テスト
📈 パフォーマンスとスケーラビリティ
MockLoop MCP は、エンタープライズ規模のパフォーマンスを実現するように設計されています。
パフォーマンス指標
- 応答時間:P50、P95、P99 パーセンタイルの追跡
- スループット:1 秒あたりのリクエスト数を監視
- エラー率:包括的なエラー分析
- リソース使用量:メモリ、CPU、ネットワークの監視
- 同時実行性:複数ユーザーによる負荷テストをサポート
スケーラビリティ機能
- 水平スケーリング:複数インスタンスでのデプロイをサポート
- ロードバランシング:ロードバランシング機能を内蔵
- キャッシュ:インテリジェントなレスポンスキャッシュ
- データベースの最適化:SQLite と PostgreSQL を効率的にサポート
- コンテナオーケストレーション:Kubernetes と Docker Swarm に対応
🔒 セキュリティ機能
組み込みセキュリティ
- 認証ミドルウェア:設定可能な認証メカニズム
- レート制限:不正利用やDoS攻撃を防止します
- 入力検証:包括的なリクエスト検証
- セキュリティヘッダー:CORS、CSP、その他のセキュリティヘッダー
- 監査ログ:セキュリティイベントをすべて記録します
セキュリティテスト
- 脆弱性評価:AIを活用したセキュリティテスト
- 侵入テスト:セキュリティシナリオを自動生成します
- コンプライアンスチェック:セキュリティ標準への準拠を確認します
- 脅威モデリング:AI主導の脅威分析
- セキュリティレポート:包括的なセキュリティ分析
🔐 SchemaPin 統合 — 暗号学的スキーマ検証
MockLoop MCP に SchemaPin 統合 が追加されました。MCP ツール向けとして業界初の暗号学的スキーマ検証システムであり、ECDSA 署名検証と Trust-On-First-Use(TOFU)鍵ピンニングによって「MCP Rug Pull」攻撃を防ぎます。
革新的なセキュリティ強化
SchemaPin 統合により、以下の機能が提供され、MockLoop MCP は最もセキュアな MCP テストプラットフォームになります。
- 🔐 暗号学的検証:ECDSA P-256 署名によってスキーマの完全性を保証します
- 🔑 TOFU 鍵ピンニング:信頼できるドメインの鍵を自動的に検出し、ピンニングします
- 📋 ポリシー適用:設定可能なセキュリティポリシー(enforce/warn/log モード)
- 📊 包括的な監査:コンプライアンス対応のために検証ログをすべて記録します
- 🔄 柔軟なフォールバック:SchemaPin ライブラリの有無にかかわらず動作します
- 🏗️ ハイブリッドアーキテクチャ:既存の MockLoop システムとシームレスに統合します
クイックスタート設定
from mockloop_mcp.schemapin import SchemaPinConfig, SchemaVerificationInterceptor
# Basic configuration
config = SchemaPinConfig(
enabled=True,
policy_mode="warn", # enforce, warn, or log
auto_pin_keys=False,
trusted_domains=["api.example.com"],
interactive_mode=False
)
# Initialize verification
interceptor = SchemaVerificationInterceptor(config)
# Verify tool schema
result = await interceptor.verify_tool_schema(
tool_name="database_query",
schema=tool_schema,
signature="base64_encoded_signature",
domain="api.example.com"
)
if result.valid:
print("✓ Schema verification successful")
else:
print(f"✗ Verification failed: {result.error}")
本番環境の設定
# Production-ready configuration
config = SchemaPinConfig(
enabled=True,
policy_mode="enforce", # Block execution on verification failure
auto_pin_keys=True, # Auto-pin keys for trusted domains
key_pin_storage_path="/secure/path/keys.db",
discovery_timeout=60,
cache_ttl=7200,
trusted_domains=[
"api.corp.com",
"tools.internal.com"
],
well_known_endpoints={
"api.corp.com": "https://api.corp.com/.well-known/schemapin.json"
},
revocation_check=True,
interactive_mode=False
)
セキュリティ上のメリット
MCP Rug Pull の防止
SchemaPin は、悪意のある攻撃者が検知されずにツールスキーマを改ざんすることを防ぎます。
- 暗号学的署名:すべてのツールスキーマに暗号学的署名を付与します
- 鍵ピンニング:TOFU モデルによって中間者攻撃を防ぎます
- 監査証跡:セキュリティ分析用に検証ログをすべて記録します
- ポリシー適用:検証に失敗した場合の応答を設定できます
コンプライアンスとガバナンス
- 規制への準拠:監査ログは GDPR、SOX、HIPAA の要件に対応します
- エンタープライズセキュリティ:既存のセキュリティフレームワークと統合します
- リスク管理:環境ごとにセキュリティポリシーを設定できます
- 脅威検知:スキーマ改ざんの試みを自動的に検知します
統合例
基本的なツール検証
# Verify a single tool
from mockloop_mcp.schemapin import SchemaVerificationInterceptor
interceptor = SchemaVerificationInterceptor(config)
result = await interceptor.verify_tool_schema(
"api_call", tool_schema, signature, "api.example.com"
)
一括検証
# Verify multiple tools efficiently
from mockloop_mcp.schemapin import SchemaPinWorkflowManager
workflow = SchemaPinWorkflowManager(config)
results = await workflow.verify_tool_batch([
{"name": "tool1", "schema": schema1, "signature": sig1, "domain": "api.com"},
{"name": "tool2", "schema": schema2, "signature": sig2, "domain": "api.com"}
])
MCP プロキシ統合
# Integrate with MCP proxy for seamless security
class SecureMCPProxy:
def __init__(self, config):
self.interceptor = SchemaVerificationInterceptor(config)
async def proxy_tool_request(self, tool_name, schema, signature, domain, data):
# Verify schema before execution
result = await self.interceptor.verify_tool_schema(
tool_name, schema, signature, domain
)
if not result.valid:
return {"error": "Schema verification failed"}
# Execute tool with verified schema
return await self.execute_tool(tool_name, data)
ポリシーモード
Enforce モード
config = SchemaPinConfig(policy_mode="enforce")
# Blocks execution on verification failure
# Recommended for production critical tools
Warn モード
config = SchemaPinConfig(policy_mode="warn")
# Logs warnings but allows execution
# Recommended for gradual rollout
Log モード
config = SchemaPinConfig(policy_mode="log")
# Logs events without blocking
# Recommended for monitoring and testing
鍵管理
Trust-On-First-Use(TOFU)
# Automatic key discovery and pinning
key_manager = KeyPinningManager("keys.db")
# Pin key for trusted tool
success = key_manager.pin_key(
tool_id="api.example.com/database_query",
domain="api.example.com",
public_key_pem=discovered_key,
metadata={"developer": "Example Corp"}
)
# Check if key is pinned
if key_manager.is_key_pinned("api.example.com/database_query"):
print("Key is pinned and trusted")
鍵の検出
SchemaPin は .well-known エンドポイント経由で公開鍵を自動的に検出します。
https://api.example.com/.well-known/schemapin.json
想定される形式:
{
"public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----",
"algorithm": "ES256",
"created_at": "2023-01-01T00:00:00Z"
}
監査とコンプライアンス
包括的なログ記録
from mockloop_mcp.schemapin import SchemaPinAuditLogger
audit_logger = SchemaPinAuditLogger("audit.db")
# Verification events are automatically logged
stats = audit_logger.get_verification_stats()
print(f"Total verifications: {stats['total_verifications']}")
print(f"Success rate: {stats['successful_verifications'] / stats['total_verifications'] * 100:.1f}%")
コンプライアンスレポート
# Generate compliance reports
from mockloop_mcp.mcp_compliance import MCPComplianceReporter
reporter = MCPComplianceReporter("audit.db")
report = reporter.generate_schemapin_compliance_report()
print(f"Compliance score: {report['compliance_score']:.1f}%")
print(f"Verification coverage: {report['verification_statistics']['unique_tools']} tools")
ドキュメントと例
- 📚 完全な統合ガイド:
docs/guides/schemapin-integration.md - 🔧 基本的な使用例:
examples/schemapin/basic_usage.py - ⚡ 高度なパターン:
examples/schemapin/advanced_usage.py - 🏗️ アーキテクチャドキュメント:
SchemaPin_MockLoop_Integration_Architecture.md - 🧪 テストカバレッジ:包括的なテスト 56 件(ユニットテスト 42 件+統合テスト 14 件)
既存ユーザー向けの移行
SchemaPin 統合は完全な後方互換性があります。
- オプトイン設定:SchemaPin はデフォルトで無効です
- 破壊的変更なし:既存のツールは変更なく引き続き動作します
- 段階的な導入:まず
logモードから始め、warn、次にenforceへ進みます - ダウンタイムなし:サービスを中断せずに検証を有効にできます
# Migration example: gradual rollout
# Phase 1: Monitoring (log mode)
config = SchemaPinConfig(enabled=True, policy_mode="log")
# Phase 2: Warnings (warn mode)
config = SchemaPinConfig(enabled=True, policy_mode="warn")
# Phase 3: Enforcement (enforce mode)
config = SchemaPinConfig(enabled=True, policy_mode="enforce")
パフォーマンスへの影響
SchemaPin は、パフォーマンスへの影響を最小限に抑えるよう設計されています。
- 検証時間:ツールごとに約5~15ms(キャッシュ済みの結果)
- メモリ使用量:追加で10MB未満
- ネットワークのオーバーヘッド:初回使用時のみキーを検出
- データベースサイズ:ピン留めしたキーごとに約1KB
ユースケース
開発チーム
- セキュアな開発:開発中にツールのスキーマを検証します
- コードレビュー:プルリクエスト内のスキーマの整合性を確保します
- テスト:検証済みのスキーマを使用してツールの動作を確認します
エンタープライズセキュリティ
- 脅威の防止:悪意のあるスキーマの変更をブロックします
- コンプライアンス:監査証跡によって規制要件を満たします
- リスク管理:セキュリティポリシーを設定できます
- インシデント対応:セキュリティ分析に役立つ詳細なログを記録します
DevOps と CI/CD
- パイプラインのセキュリティ:デプロイパイプライン内のスキーマを検証します
- 環境間の昇格:環境間でスキーマの一貫性を確保します
- モニタリング:検証状況を継続的にモニタリングします
- 自動化:セキュリティポリシーを自動的に適用します
�️ 今後の開発
今後追加予定の機能 🚧
AI 機能の強化
- 高度な ML モデル:API テスト用のカスタムモデルをトレーニングします
- 予測分析:AI を活用して障害を予測します
- インテリジェントなテスト生成:自己改善するテストシナリオを生成します
- 自然言語によるテスト:平易な英語でテスト内容を記述します
対応プロトコルの拡大
- GraphQL 対応:GraphQL API のネイティブテストに対応します
- gRPC 統合:Protocol Buffers のテストに対応します
- WebSocket テスト:リアルタイム通信をテストします
- イベント駆動型テスト:非同期 API とイベントベースの API をテストします
エンタープライズ統合
- CI/CD 統合:パイプラインにネイティブ統合します
- モニタリングプラットフォーム:Datadog、New Relic、Prometheus と統合します
- ID プロバイダー:SSO とエンタープライズ認証を統合します
- コンプライアンスフレームワーク:規制コンプライアンスへの対応を拡充します
🤝 貢献
MockLoop MCP への貢献を歓迎します。詳細については、貢献ガイドラインをご覧ください。
開発環境のセットアップ
# Fork and clone the repository
git clone https://github.com/your-username/mockloop-mcp.git
cd mockloop-mcp
# Create development environment
python3 -m venv .venv
source .venv/bin/activate
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/
# Run quality checks
ruff check src/
bandit -r src/
コミュニティ
- GitHub リポジトリ:mockloop/mockloop-mcp
- 問題とバグの報告:GitHub Issues
- 機能リクエスト:GitHub Issues
- ドキュメント:docs.mockloop.com
📄 ライセンス
MockLoop MCP はMIT ライセンスのもとでライセンスされています。
🎉 今すぐ始めましょう!
世界初の AI ネイティブなテストプラットフォームで、API テストに革命を起こす準備はできていますか?
pip install mockloop-mcp
AI ネイティブなテストの革命に参加して、MockLoop MCP で API テストの未来を体験しましょう!
🚀 今すぐ始める →
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。