Skip to main content
Glama

ppb-mcp

一个 MCP 服务器,将 Poor Paul's Benchmark 的 GPU 推理数据(量化 × 吞吐量 × 显存 × 并发用户数)作为可查询工具暴露给任何 LLM 客户端。

CI PyPI License: MIT

托管实例: https://mcp.poorpaul.dev/ (streamable-http 传输,无需认证)

功能

连接任何支持 MCP 的客户端(Claude Desktop、Cline、Continue 等)来询问如下问题:

  • “对于运行 Qwen3.5-9B 且有 8 个并发用户的 32 GB GPU,最佳量化方式是什么?”

  • “显示在 RTX 5090 上以 Q4_K_M 进行测试的所有模型。”

  • “Llama-13B 在 Q5_K_M 下,4 个并发用户时能在 24 GB GPU 上运行吗?”

它通过 30,000 多条真实基准测试数据暴露了四个工具:

工具

功能

list_tested_configs

列出所有已测试的 GPU、模型和量化方式(建议首先调用此工具)

query_ppb_results

按 GPU / 显存 / 模型 / 量化 / 用户数 / 后端过滤原始基准数据

recommend_quantization

三级经验优先推荐引擎(高/中/低置信度)

get_gpu_headroom

对 (gpu, model, quant, users) 配置进行显存余量检查

Related MCP server: atom-mcp-server

安装

1) 使用托管实例(无需设置)

添加到您的 MCP 客户端配置中(以 Claude Desktop 为例,~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "ppb": {
      "transport": { "type": "http", "url": "https://mcp.poorpaul.dev/mcp" }
    }
  }
}

2) pip install 并本地运行 (stdio)

pip install ppb-mcp
MCP_TRANSPORT=stdio ppb-mcp

Claude Desktop 配置:

{
  "mcpServers": {
    "ppb": {
      "command": "ppb-mcp",
      "env": { "MCP_TRANSPORT": "stdio" }
    }
  }
}

3) Docker

docker run --rm -p 8000:8000 \
  -e MCP_TRANSPORT=streamable-http \
  -v ppb-hf-cache:/data/huggingface \
  ghcr.io/paulplee/ppb-mcp:latest

4) 从源码安装

git clone https://github.com/paulplee/ppb-mcp
cd ppb-mcp
pip install -e ".[dev]"
ppb-mcp           # streamable-http on :8000

示例会话

> list_tested_configs
{ "gpus": ["Apple M4 Pro", "NVIDIA GB10", "NVIDIA GeForce RTX 5090"],
  "models": ["Qwen3.5-9B", ...], "quantizations": ["Q4_K_M", ...] }

> recommend_quantization(gpu_vram_gb=32, concurrent_users=8, model="Qwen3.5-9B", priority="balance")
{ "recommended_quantization": "Q5_K_M",
  "estimated_vram_usage_gb": 27.8,
  "estimated_tokens_per_second": 142.0,
  "headroom_gb": 4.2,
  "confidence": "high",
  "reasoning": "Q5_K_M is recommended for your NVIDIA GeForce RTX 5090 (32 GB) ...",
  "alternatives": ["Q4_K_M", "Q8_0"] }

配置

环境变量

默认值

说明

HF_DATASET

paulplee/ppb-results

HuggingFace 数据集 ID

REFRESH_INTERVAL_HOURS

1

后台刷新频率

MCP_TRANSPORT

streamable-http

stdio 或 streamable-http

HOST

0.0.0.0

HTTP 绑定主机

PORT

8000

HTTP 绑定端口

LOG_LEVEL

INFO

Python logging 日志级别

自托管(Lightsail / 任何 Ubuntu VPS)

git clone https://github.com/paulplee/ppb-mcp /tmp/ppb-mcp
cd /tmp/ppb-mcp
DOMAIN=mcp.example.com EMAIL=you@example.com ./deploy/deploy.sh

此脚本将安装 Docker、构建镜像、注册 systemd 服务、配置 nginx 并运行 certbot。

开发

pip install -e ".[dev]"
ruff check src tests
pytest -v

针对实时 HuggingFace 数据集的集成测试受 PPB_RUN_INTEGRATION=1 控制,以保持 CI 环境的离线纯净。

推荐算法原理

  1. 一级 — 经验精确匹配(高置信度)。 在您的显存预算内,且在请求的并发数下,该 GPU 上至少有 ≥3 次测量运行记录。

  2. 二级 — 经验近似匹配(中置信度)。 在相同并发数下,在不同 GPU 上对同一 (model, quant) 进行过基准测试;借用吞吐量数据,并将显存需求缩放到您的显卡。

  3. 三级 — 公式推断(低置信度)。 vram_per_user ≈ (params_B × bits_per_weight / 8) × 1.15;仅当总需求 ≤ 显存的 90% 时可行。

许可证

MIT — 详见 LICENSE。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Live, reproducible crypto infrastructure benchmarks for AI agents: RPC latency, bridge fees, L1 finality, gas oracle accuracy, stablecoin pegs. Three tools (list_benchmarks, get_benchmark,query_prom), no API key, CC-BY-4.0 data.
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables benchmarking of local LLM models (performance and quality) and sharing results to a public leaderboard via MCP tools.
    4 npm
    8
    Apache 2.0