Token导航 LogoToken导航TokenDH.com
Cyperf Ce MCP Rest logo
AI代理stdio官方级别未说明来源级核验

Cyperf Ce MCP Rest

MCP Server

一个基于FastAPI的Web应用程序,通过SSH远程控制Keysight Cyperf CE客户端和服务器测试,支持REST API和MCP协议集成。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
远程控制JavaScriptClaudeAPI集成Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ashwinjo

提供方

ashwinjo

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

REST驱动的Cyperf CE控制器

一个基于FastAPI的web应用程序,通过SSH控制Keysight Cyperf CE客户端和服务器测试。

______________________________________________________________________

特性

  • 通过REST API远程启动/停止Cyperf服务器和客户端
  • 通过私钥或用户名/密码进行SSH身份验证
  • Docker化,易于部署
  • 收集并返回测试统计数据

______________________________________________________________________

需求

  • Python 3.11+
  • Docker(用于容器化部署)
  • 访问安装了Cyperf的远程计算机

______________________________________________________________________

环境变量

应用程序是通过环境变量(或 .env 文件):

变量描述示例
SERVER_IPCyperf服务器的IP地址100.25.44.178
CLIENT_IPCyperf客户端的IP地址34.218.246.113
SSH_USERNAME服务器和客户端的SSH用户名ubuntu
SSH_KEY_PATHSSH私钥的路径(容器内)/home/ubuntu/vibecode.pem
SSH_PASSWORD(可选)用于身份验证的SSH密码yourpassword
  • 如果 SSH_PASSWORD 设置后,应用程序将使用用户名/密码身份验证。
  • 如果没有,则使用SSH密钥 SSH_KEY_PATH.

______________________________________________________________________

地方发展

  1. 安装依赖项:
   pip install -r requirements.txt
  1. 创建一个 .env 文件:
   SERVER_IP=100.25.44.178
   CLIENT_IP=34.218.246.113
   SSH_USERNAME=ubuntu
   SSH_KEY_PATH=/path/to/vibecode.pem
   # SSH_PASSWORD=yourpassword  # Uncomment to use password auth
  1. 运行应用程序:
   uvicorn main:app --reload

______________________________________________________________________

Docker使用

塑造形象:

docker build -t cyperf-app .

运行容器:

docker run -d -p 8000:8000 \
  -e SERVER_IP=100.25.44.178 \
  -e CLIENT_IP=34.218.246.113 \
  -e SSH_USERNAME=ubuntu \
  -e SSH_KEY_PATH=/home/ubuntu/vibecode.pem \
  -v /path/to/vibecode.pem:/home/ubuntu/vibecode.pem:ro \
  cyperf-app
  • 要使用密码身份验证,请添加 -e SSH_PASSWORD=yourpassword 并省略 -v/SSH_KEY_PATH 选项。

使用a .env 文件:

docker run -d -p 8000:8000 --env-file .env \
  -v /path/to/vibecode.pem:/home/ubuntu/vibecode.pem:ro \
  cyperf-app

______________________________________________________________________

API

  • API服务于: http://localhost:8000/api/
  • 交互式文档: http://localhost:8000/docs

______________________________________________________________________

SSH身份验证

  • 基于密钥: 将私钥装入容器并设置 SSH_KEY_PATH.
  • 基于密码:SSH_PASSWORD (不设置 SSH_KEY_PATH).

______________________________________________________________________

MCP(模型上下文协议)支持

此应用程序现在支持MCP(模型上下文协议),可与Claude Desktop、Cursor和其他AI助手等MCP客户端集成。

MCP服务器设置

MCP服务器封装FastAPI端点,并将其作为MCP客户端可以使用的工具公开。

可用的MCP工具:

  1. start_cyperf_server -启动Cyperf CE服务器
  2. start_cyperf_client -启动Cyperf CE客户端
  3. get_server_stats -获取服务器统计信息
  4. get_client_stats -获取客户端统计信息
  5. get_server_stats_image -以图像形式获取服务器统计信息
  6. get_client_stats_image -以图像形式获取客户端统计数据
  7. stop_server -停止所有服务器

使用Docker Compose(MCP+FastAPI)运行:

  1. 创建环境文件:
   # .env file
   SERVER_IP=100.25.44.178
   CLIENT_IP=34.218.246.113
   SSH_USERNAME=ubuntu
   SSH_KEY_PATH=/home/ubuntu/vibecode.pem
   SSH_KEY_HOST_PATH=/path/to/your/vibecode.pem
   # SSH_PASSWORD=yourpassword  # Optional: for password auth
  1. 启动这两项服务:
   docker-compose -f docker-compose.mcp.yml up -d

这将开始:

- FastAPI服务已打开 http://localhost:8000 - MCP服务器已准备好进行stdio连接

独立运行MCP服务器:

# Build the image
docker build -f Dockerfile.mcp -t cyperf-mcp .

# Run MCP server
docker run -it --rm \
  -e SERVER_IP=100.25.44.178 \
  -e CLIENT_IP=34.218.246.113 \
  -e SSH_USERNAME=ubuntu \
  -e SSH_KEY_PATH=/home/ubuntu/vibecode.pem \
  -v /path/to/vibecode.pem:/home/ubuntu/vibecode.pem:ro \
  cyperf-mcp mcp

与MCP客户端一起使用:

HTTP流式传输(推荐):

选项1:SSE(服务器发送事件)服务器

专用的SSE服务器提供最强大的流媒体体验:

# Start your main FastAPI app first
uvicorn main:app --host 0.0.0.0 --port 8000 &

# Start the MCP SSE server
python mcp_sse_server.py --host 0.0.0.0 --port 8001

SSE的Claude桌面配置:

{
  "mcpServers": {
    "cyperf-ce-controller": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-everything"],
      "env": {
        "MCP_SERVER_URL": "http://localhost:8001/sse"
      }
    }
  }
}

选项2:直接HTTP端点

您的FastAPI应用程序包括 /api/mcp 基于HTTP的简单MCP的端点:

HTTP的Claude桌面配置:

{
  "mcpServers": {
    "cyperf-ce-controller": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-everything"],
      "env": {
        "MCP_SERVER_URL": "http://localhost:8000/api/mcp"
      }
    }
  }
}

直接输入(替代):

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "cyperf-ce-controller": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "--env-file", "/path/to/.env",
        "-v", "/path/to/vibecode.pem:/home/ubuntu/vibecode.pem:ro",
        "cyperf-mcp", "mcp"
      ]
    }
  }
}

直接执行Python:

# Make sure FastAPI is running first
uvicorn main:app --host 0.0.0.0 --port 8000 &

# Run MCP server
python mcp_server.py

MCP使用示例:

连接到MCP客户端后,您可以:

  1. 启动服务器测试:
   Use the start_cyperf_server tool with port 5202 and csv_stats enabled
  1. 连接客户端:
   Use start_cyperf_client with the test_id from server, server IP, and run for 120 seconds
  1. 获取统计数据:
   Use get_server_stats or get_client_stats with the test_id
  1. 可视化数据:
   Use get_server_stats_image to get a visual table of the statistics

测试MCP端点:

测试SSE服务器:

# Test SSE server health
curl http://localhost:8001/health

# Test SSE endpoint (requires SSE client or tools like curl with --no-buffer)
curl -X POST http://localhost:8001/sse \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -N \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'

# If you get the "Not Acceptable" error, make sure to include the Accept header:
curl -X POST http://localhost:8001/sse \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -N \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2024-11-05",
      "capabilities": {},
      "clientInfo": {
        "name": "test-client",
        "version": "1.0.0"
      }
    }
  }'

测试直接HTTP端点:

您可以直接使用curl测试MCP端点:

# Test MCP initialization
curl -X POST http://localhost:8000/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2024-11-05",
      "capabilities": {},
      "clientInfo": {
        "name": "test-client",
        "version": "1.0.0"
      }
    }
  }'

# List available tools
curl -X POST http://localhost:8000/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list"
  }'

# Call a tool (start server)
curl -X POST http://localhost:8000/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "start_cyperf_server",
      "arguments": {
        "port": 5202,
        "csv_stats": true
      }
    }
  }'

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

远程控制JavaScriptClaudeAPI集成网络测试本地部署SSH管理RESTAPIMCP协议

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP