Token导航 LogoToken导航

MCP Server · 开发工具

Vibium MCP

一个模块化的UI自动化测试代理系统,通过多个协同工作的代理(规划、执行、验证)实现自然语言驱动的网页测试流程。

stdio官方级别未说明来源级核验工具 0
自动化测试浏览器自动化Python模块化架构自然语言处理

快速开始

作者 / 组织
shubhaje
提供方
shubhaje

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Vibium MCP 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

开发工具

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

pip install requests vibium

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

UI测试代理系统-模块化结构

📁 项目结构

ui-testing-agents/
├── models.py              # Data models (TestStep, TestPlan, ExecutionResult)
├── ollama_client.py       # Ollama LLM client
├── planner_agent.py       # Planner Agent (creates test plans)
├── executor_agent.py      # Executor Agent (runs tests with Vibium)
├── validator_agent.py     # Validator Agent (validates results)
├── orchestrator.py        # Orchestrator (coordinates all agents)
├── main.py                # Main entry point
└── requirements.txt       # Python dependencies

🎯 文件描述

核心组件

models.py
  • 包含所有数据结构
  • TestStep:单个测试步骤
  • TestPlan:完整的测试计划,包括步骤
  • ExecutionResult:执行步骤的结果
ollama_client.py
  • 处理与Ollama LLM的通信
  • 方法: generate(), check_availability()
planner_agent.py
  • 规划师代理人:从自然语言创建测试计划
  • 接受用户提示并生成结构化测试计划
  • 处理JSON解析和清理
  • 关键方法: create_plan(user_prompt)
executor_agent.py
  • Vibium执行器代理:使用Vibium执行测试步骤
  • 处理浏览器初始化和控制
  • 执行操作:导航、单击、键入、验证、等待、滚动
  • 关键方法: execute_step(step)
validator_agent.py
  • 验证代理:验证测试执行结果
  • 分析结果并提供见解
  • 生成建议
  • 关键方法: validate(test_plan, results)
orchestrator.py
  • 振动测试编排器:协调所有三个代理
  • 管理完整的测试工作流程
  • 关键方法: run_test(user_prompt)
main.py
  • 运行测试的入口点
  • 示例测试提示
  • 自定义测试的辅助功能

🚀 快速开始

1.安装依赖项

pip install requests vibium
playwright install chromium

2.启动Olama

ollama pull llama3.2:3b
ollama serve

3.运行测试

python main.py

💡 用法示例

基本用法

import asyncio
from orchestrator import VibiumUITestingOrchestrator

async def run_test():
    orchestrator = VibiumUITestingOrchestrator(
        ollama_model="llama3.2:3b",
        headless=False,
        debug=True
    )
    
    prompt = "Navigate to google.com and search for 'Python'"
    result = await orchestrator.run_test(prompt)
    await orchestrator.cleanup()

asyncio.run(run_test())

使用个人代理

from ollama_client import OllamaClient
from planner_agent import PlannerAgent

# Create a test plan
llm = OllamaClient(model="llama3.2:3b")
planner = PlannerAgent(llm)

plan = planner.create_plan("Test Google search", debug=True)
print(f"Objective: {plan.objective}")
print(f"Steps: {len(plan.steps)}")

具有辅助功能的自定义测试

from main import run_custom_test

result = run_custom_test(
    prompt="Test Wikipedia homepage",
    model="llama3.2:3b",
    headless=True
)

print(f"Status: {result['validation']['overall_status']}")

🔧 定制

添加新操作

编辑 executor_agent.py 并添加新方法:

async def _execute_your_action(self, step: TestStep) -> ExecutionResult:
    """Your custom action"""
    try:
        # Implementation here
        return ExecutionResult(
            step_number=step.step_number,
            action=step.action,
            success=True,
            message="Action completed"
        )
    except Exception as e:
        return ExecutionResult(
            step_number=step.step_number,
            action=step.action,
            success=False,
            message=f"Action failed: {e}"
        )

然后更新 execute_step():

async def execute_step(self, step: TestStep) -> ExecutionResult:
    # ... existing code ...
    elif step.action == "your_action":
        return await self._execute_your_action(step)

修改代理行为

每个代理都是独立的,可以单独修改:

  • 规划师:编辑 planner_agent.py → system_prompt
  • 执行者:编辑 executor_agent.py → 行动方法
  • 验证器:编辑 validator_agent.py → system_prompt

📊 数据流

User Prompt
    ↓
PlannerAgent → TestPlan (with TestSteps)
    ↓
ExecutorAgent → List[ExecutionResult]
    ↓
ValidatorAgent → Validation Report
    ↓
Final Results

🎨 模块化结构的优点

  1. 关注点分离:每个代理人都有一个责任
  2. 易于测试:独立测试试剂
  3. 可维护性:更改隔离到特定文件
  4. 可重用性:在不同的环境中使用代理
  5. 可扩展性:轻松添加新代理

🧪 测试单个组件

仅限测试计划员

from ollama_client import OllamaClient
from planner_agent import PlannerAgent

llm = OllamaClient()
planner = PlannerAgent(llm)

plan = planner.create_plan("Test login form")
for step in plan.steps:
    print(f"{step.step_number}. {step.action} -> {step.target}")

仅限测试执行者

import asyncio
from ollama_client import OllamaClient
from executor_agent import VibiumExecutorAgent
from models import TestStep

async def test_executor():
    llm = OllamaClient()
    executor = VibiumExecutorAgent(llm, headless=False)
    
    step = TestStep(
        step_number=1,
        action="navigate",
        target="https://google.com",
        value=""
    )
    
    result = await executor.execute_step(step)
    print(f"Result: {result.success} - {result.message}")
    await executor.close_browser()

asyncio.run(test_executor())

仅限测试验证器

from ollama_client import OllamaClient
from validator_agent import ValidatorAgent
from models import TestPlan, TestStep, ExecutionResult

llm = OllamaClient()
validator = ValidatorAgent(llm)

# Create mock data
plan = TestPlan(
    objective="Test search",
    steps=[TestStep(1, "navigate", "google.com")],
    success_criteria=["Page loads"]
)

results = [
    ExecutionResult(1, "navigate", True, "Success")
]

validation = validator.validate(plan, results)
validator.print_validation_report(validation)

📝 配置

所有配置都是通过编排器完成的:

orchestrator = VibiumUITestingOrchestrator(
    ollama_model="llama3.2:3b",  # Change LLM model
    headless=True,                # Headless browser
    debug=False                   # Debug output
)

🐛 调试

启用调试模式以查看详细输出:

orchestrator = VibiumUITestingOrchestrator(debug=True)

这表明:

  • 原始LLM响应
  • 提取的JSON
  • 分步执行细节

🔄 与其他工具集成

与Pytest一起使用

import pytest
import asyncio
from orchestrator import VibiumUITestingOrchestrator

@pytest.mark.asyncio
async def test_google_search():
    orchestrator = VibiumUITestingOrchestrator(headless=True)
    result = await orchestrator.run_test("Test Google search")
    await orchestrator.cleanup()
    
    assert result['validation']['overall_status'] == 'PASS'

在CI/CD中使用

import os
from main import main

if __name__ == "__main__":
    if os.environ.get('CI'):
        print("Skipping UI tests in CI")
    else:
        asyncio.run(main())

📚 依赖项

requests>=2.31.0
vibium>=0.1.0
playwright>=1.40.0

🎯 后续步骤

  1. ✅ 安装依赖项
  2. ✅ 启动Ollama
  3. ✅ 跑 python main.py
  4. ✅ 根据您的需求定制代理
  5. ✅ 添加新操作或修改现有操作

💡 提示

  • 从开始 debug=True 了解流程
  • 在完全集成之前独立测试代理
  • 使用无头模式以加快执行速度
  • 自定义系统提示以获得更好的结果
  • 为特定用例添加自己的操作

测试愉快! 🚀

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

自动化测试Python本地部署浏览器自动化LLM集成模块化架构自然语言处理

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Vibium MCP

MCP World · 本页

0stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Vibium MCP 怎么安装?

公开资料给出的安装命令是 pip install requests vibium,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Vibium MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Vibium MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Vibium MCP 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Vibium MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP