MockLoop MCP 是由模型上下文协议(MCP)驱动的全球首个 AI 原生 API 测试平台。它凭借全面的 AI 驱动场景生成、自动化测试执行和智能分析能力,彻底改变了 API 测试方式。
使用全球最先进的 AI 原生测试平台,按以下步骤操作:
# 1. 安装 MockLoop MCP
pip install mockloop-mcp
# 2. 验证安装
mockloop-mcp --version
# 3. 使用 MCP 客户端(Cline、Claude Desktop 等)进行配置
# 请参阅下面的配置示例
MockLoop MCP 代表了 API 测试的范式转变,引入了全球首个 AI 原生测试架构,它结合了以下特性:
# 安装最新稳定版本
pip install mockloop-mcp
# 或者安装带有可选依赖项的版本
pip install mockloop-mcp[dev] # 开发工具
pip install mockloop-mcp[docs] # 文档工具
pip install mockloop-mcp[all] # 所有可选依赖项
# 验证安装
mockloop-mcp --version
# 克隆仓库
git clone https://github.com/mockloop/mockloop-mcp.git
cd mockloop-mcp
# 创建并激活虚拟环境
python3 -m venv .venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
# 以开发模式安装
pip install -e ".[dev]"
在 Cline MCP 设置文件中添加以下内容:
{
"mcpServers": {
"MockLoopLocal": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "mockloop-mcp",
"args": [],
"transportType": "stdio"
}
}
}
在 Claude Desktop 配置中添加以下内容:
{
"mcpServers": {
"mockloop": {
"command": "mockloop-mcp",
"args": []
}
}
}
对于虚拟环境安装,使用完整的 Python 路径:
{
"mcpServers": {
"MockLoopLocal": {
"command": "/path/to/your/venv/bin/python",
"args": ["-m", "mockloop_mcp"],
"transportType": "stdio"
}
}
}
# 1. 安装 MockLoop MCP
pip install mockloop-mcp
# 2. 验证安装
mockloop-mcp --version
from mockloop_mcp.mcp_tools import create_mcp_plugin
# 创建一个支持代理的插件
plugin_result = await create_mcp_plugin(
spec_url_or_path="https://api.example.com/openapi.json",
mode="hybrid", # 从混合模式开始
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", # 关键端点使用实时 API
"priority": 10
},
{
"pattern": "/api/dev/*",
"mode": "mock", # 开发端点使用模拟数据
"priority": 5
}
]
)
generate_mock_api
生成具有双端口架构的复杂 FastAPI 模拟服务器。
参数:
spec_url_or_path
(字符串,必需):API 规范的 URL 或本地文件路径output_dir_name
(字符串,可选):输出目录名称auth_enabled
(布尔值,可选):启用身份验证中间件(默认:true)webhooks_enabled
(布尔值,可选):启用 Webhook 支持(默认:true)admin_ui_enabled
(布尔值,可选):启用管理 UI(默认:true)storage_enabled
(布尔值,可选):启用存储功能(默认:true)革命性的双端口架构:
query_mock_logs
使用 AI 驱动的洞察力查询和分析请求日志。
参数:
server_url
(字符串,必需):模拟服务器 URLlimit
(整数,可选):返回的最大日志数(默认:100)offset
(整数,可选):分页偏移量(默认:0)method
(字符串,可选):按 HTTP 方法过滤path_pattern
(字符串,可选):用于路径过滤的正则表达式模式time_from
(字符串,可选):开始时间过滤(ISO 格式)time_to
(字符串,可选):结束时间过滤(ISO 格式)include_admin
(布尔值,可选):包括管理请求(默认:false)analyze
(布尔值,可选):执行 AI 分析(默认:true)AI 驱动的分析:
discover_mock_servers
支持双端口架构的智能服务器发现。
参数:
ports
(数组,可选):要扫描的端口(默认:常用端口)check_health
(布尔值,可选):执行健康检查(默认:true)include_generated
(布尔值,可选):包括生成的模拟服务器(默认:true)高级发现:
manage_mock_data
无需重启服务器即可进行动态响应管理。
参数:
server_url
(字符串,必需):模拟服务器 URLoperation
(字符串,必需):操作类型("update_response", "create_scenario", "switch_scenario", "list_scenarios")endpoint_path
(字符串,可选):API 端点路径response_data
(对象,可选):新的响应数据scenario_name
(字符串,可选):场景名称scenario_config
(对象,可选):场景配置动态功能:
MockLoop MCP 包含革命性的代理功能,可实现模拟和实时 API 环境之间的无缝切换。此强大功能为您的测试工作流程带来以下优势:
MOCK
)PROXY
)HYBRID
)from langgraph.graph import StateGraph, END
from mockloop_mcp import MockLoopClient
# 初始化 MockLoop 客户端
mockloop = MockLoopClient()
def setup_ai_testing(state):
"""AI 驱动的测试设置"""
# 使用 AI 分析生成模拟 API
result = mockloop.generate_mock_api(
spec_url_or_path="https://api.example.com/openapi.json",
output_dir_name="ai_test_environment"
)
# 使用 AI 提示生成场景
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):
"""执行 AI 生成的测试场景"""
# 部署 AI 生成的场景
for scenario in state["test_scenarios"]:
mockloop.deploy_scenario(
server_url=state["mock_server_url"],
scenario_config=scenario
)
# 使用 AI 优化执行负载测试
results = mockloop.run_load_test(
server_url=state["mock_server_url"],
scenario_name=scenario["name"],
duration=300,
concurrent_users=100
)
# AI 驱动的结果分析
analysis = mockloop.analyze_test_results(
test_results=results,
include_recommendations=True
)
state["test_results"].append(analysis)
return state
# 构建 AI 原生测试工作流程
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()
from crewai import Agent, Task, Crew
from mockloop_mcp import MockLoopClient
# 初始化 MockLoop 客户端
mockloop = MockLoopClient()
# AI 测试专家智能体
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_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_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
]
)
# 定义 AI 驱动的任务
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'
)
# 创建 AI 测试团队
ai_testing_crew = Crew(
agents=[api_testing_agent, performance_agent, security_agent],
tasks=[ai_setup_task, performance_task, security_task],
verbose=True
)
# 执行 AI 原生测试工作流程
results = ai_testing_crew.kickoff()
from langchain.agents import Tool, AgentExecutor, create_react_agent
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from mockloop_mcp import MockLoopClient
# 初始化 MockLoop 客户端
mockloop = MockLoopClient()
# AI 原生测试工具
def ai_generate_mock_api(spec_path: str) -> str:
"""Generate AI-enhanced mock API with intelligent scenarios"""
# 生成模拟 API
result = mockloop.generate_mock_api(spec_url_or_path=spec_path)
# 使用 AI 进行分析和增强
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"""
# 创建测试会话上下文
session = mockloop.create_test_session_context(
session_name="ai_testing_session",
configuration={"ai_enhanced": True}
)
# 生成并部署 AI 场景
scenarios = mockloop.generate_scenario_config(
api_spec=server_url,
scenario_types=["load", "error", "security"],
ai_optimization=True
)
results = []
for scenario in scenarios:
# 部署场景
mockloop.deploy_scenario(
server_url=server_url,
scenario_config=scenario
)
# 执行带有 AI 监控的测试
test_result = mockloop.execute_test_plan(
server_url=server_url,
test_plan=scenario["test_plan"],
ai_monitoring=True
)
results.append(test_result)
# AI 驱动的分析
analysis = mockloop.analyze_test_results(
test_results=results,
include_recommendations=True,
ai_insights=True
)
return f"AI testing workflow completed: {analysis['summary']}"
# 创建 LangChain 工具
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"
)
]
# 创建 AI 测试智能体
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)
# 执行 AI 原生测试
response = agent_executor.invoke({
"input": "Generate a comprehensive AI-driven testing environment for a REST API and execute full testing workflow"
})
MockLoop MCP 引入了革命性的 双端口架构,消除了常见冲突并增强了安全性:
# 生成具有双端口架构的模拟
result = mockloop.generate_mock_api(
spec_url_or_path="https://api.example.com/openapi.json",
business_port=8000, # 模拟 API 端口
admin_port=8001, # 管理 UI 端口
admin_ui_enabled=True
)
http://localhost:8000
- 您的 API 端点http://localhost:8001
- 管理界面http://localhost:8000/docs
- 交互式 Swagger UIhttp://localhost:8000/health
- 服务器状态MockLoop MCP 提供企业级合规性特性:
MockLoop MCP 通过高级上下文管理支持复杂的有状态测试工作流程:
# 创建测试会话上下文
session = mockloop.create_test_session_context(
session_name="ecommerce_integration_test",
configuration={
"test_type": "integration",
"environment": "staging",
"ai_enhanced": True
}
)
# 创建用于多步骤测试的工作流上下文
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"
]
)
# 执行有状态的测试工作流程
for step in workflow["steps"]:
# 使用步骤数据更新上下文
mockloop.update_context_data(
context_id=workflow["context_id"],
data={"current_step": step, "timestamp": datetime.now()}
)
# 执行特定步骤的测试
test_result = mockloop.execute_test_plan(
server_url="http://localhost:8000",
test_plan=f"{step}_test_plan",
context_id=workflow["context_id"]
)
# 创建快照以支持回滚
snapshot = mockloop.create_context_snapshot(
context_id=workflow["context_id"],
snapshot_name=f"{step}_completion"
)
# 分析完整的工作流结果
final_analysis = mockloop.analyze_test_results(
test_results=workflow["results"],
context_id=workflow["context_id"],
include_recommendations=True
)
# 导航到生成的模拟目录
cd generated_mocks/your_api_mock
# 使用双端口架构启动
docker-compose up --build
# 访问点:
# 模拟 API:http://localhost:8000
# 管理 UI:http://localhost:8001
# 安装依赖项
pip install -r requirements_mock.txt
# 启动模拟服务器
uvicorn main:app --reload --port 8000
http://localhost:8001
- 增强的管理界面http://localhost:8000/docs
- 交互式 Swagger UIhttp://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 专为企业级性能而设计:
我们欢迎对 MockLoop MCP 的贡献!请参阅我们的 贡献指南 了解详细信息。
# 分叉并克隆仓库
git clone https://github.com/your-username/mockloop-mcp.git
cd mockloop-mcp
# 创建开发环境
python3 -m venv .venv
source .venv/bin/activate
# 安装开发依赖项
pip install -e ".[dev]"
# 运行测试
pytest tests/
# 运行质量检查
ruff check src/
bandit -r src/
MockLoop MCP 根据 MIT 许可证 授权。
准备好使用全球首个 AI 原生测试平台彻底改变您的 API 测试了吗?
pip install mockloop-mcp
加入 AI 原生测试革命,使用 MockLoop MCP 体验 API 测试的未来!
🚀 立即开始 →