{
  "name": "localmaxxing",
  "description": "Community benchmarking platform for local LLM inference. Submit and query performance benchmarks (tokens/sec, TTFT, VRAM usage) and evaluation scores for locally-run models.",
  "url": "https://www.localmaxxing.com",
  "version": "1.1.0",
  "contact": "https://www.localmaxxing.com",
  "api": {
    "type": "openapi",
    "url": "https://www.localmaxxing.com/api/openapi.json"
  },
  "plugin_manifest": "https://www.localmaxxing.com/.well-known/ai-plugin.json",
  "authentication": {
    "type": "bearer",
    "description": "API key with prefix bhk_. Obtain one from the dashboard at https://www.localmaxxing.com/dashboard."
  },
  "capabilities": [
    {
      "name": "get_agent_context",
      "description": "Bootstrap endpoint that returns all enum values, schemas, endpoints, examples, and configuration needed before making submissions.",
      "endpoint": "/api/agent-context",
      "method": "GET",
      "auth_required": false
    },
    {
      "name": "query_leaderboard",
      "description": "Retrieve ranked LLM inference speed test results, filterable by model, hardware, and quantization.",
      "endpoint": "/api/leaderboard",
      "method": "GET",
      "auth_required": false
    },
    {
      "name": "query_benchmarks",
      "description": "Query speed test results with filters for model, hardware, quantization, and more.",
      "endpoint": "/api/speed-tests",
      "method": "GET",
      "auth_required": false
    },
    {
      "name": "submit_benchmark",
      "description": "Submit an inference speed test result for a locally-run model.",
      "endpoint": "/api/speed-tests",
      "method": "POST",
      "auth_required": true
    },
    {
      "name": "dry_run_benchmark",
      "description": "Validate an inference speed test payload before writing it.",
      "endpoint": "/api/speed-tests/dry-run",
      "method": "POST",
      "auth_required": true
    },
    {
      "name": "list_models",
      "description": "List models in the LocalMaxxing database with metadata from HuggingFace.",
      "endpoint": "/api/models",
      "method": "GET",
      "auth_required": false
    },
    {
      "name": "search_models",
      "description": "Resolve fuzzy model names to canonical HuggingFace model IDs.",
      "endpoint": "/api/models/search",
      "method": "GET",
      "auth_required": false
    },
    {
      "name": "list_eval_suites",
      "description": "List approved evaluation suites available for benchmarking.",
      "endpoint": "/api/benchmarks/suites",
      "method": "GET",
      "auth_required": false
    },
    {
      "name": "get_eval_suite",
      "description": "Fetch one evaluation suite with schema and agent instructions.",
      "endpoint": "/api/benchmarks/suites/{slug}",
      "method": "GET",
      "auth_required": false
    },
    {
      "name": "submit_eval_run",
      "description": "Submit evaluation scores for a model run against an benchmark.",
      "endpoint": "/api/benchmarks/runs",
      "method": "POST",
      "auth_required": true
    },
    {
      "name": "dry_run_eval",
      "description": "Validate an eval run payload before writing it.",
      "endpoint": "/api/benchmarks/runs/dry-run",
      "method": "POST",
      "auth_required": true
    },
    {
      "name": "list_train_projects",
      "description": "Discover reproducible local training and finetuning run bundles.",
      "endpoint": "/api/train",
      "method": "GET",
      "auth_required": false
    }
  ],
  "rate_limits": {
    "benchmark_submissions": "1 per minute per user",
    "eval_run_submissions": "1 per 5 minutes per user"
  },
  "instructions": "Always call GET /api/agent-context first to retrieve current endpoints, enum values, schemas, accepted hardware shapes, examples, and methodology guidance before submitting benchmark or eval payloads. Use HuggingFace model IDs for models. Use dry-run endpoints before real writes when possible."
}
