[
  {
    "avg": 87, 
    "grade": "A", 
    "repo_name": "modelcontextprotocol/servers", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 95
    }, 
    "stars": 81126
  }, 
  {
    "avg": 85, 
    "grade": "A", 
    "repo_name": "domdomegg/airtable-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 428
  }, 
  {
    "avg": 84, 
    "grade": "A", 
    "repo_name": "arabold/docs-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 100
    }, 
    "stars": 1133
  }, 
  {
    "avg": 84, 
    "grade": "A", 
    "repo_name": "perplexityai/modelcontextprotocol", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 2018
  }, 
  {
    "avg": 84, 
    "grade": "A", 
    "repo_name": "StuMason/coolify-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 222
  }, 
  {
    "avg": 83, 
    "grade": "A", 
    "repo_name": "googleapis/gcloud-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 79
    }, 
    "stars": 706
  }, 
  {
    "avg": 82, 
    "grade": "A", 
    "repo_name": "mobile-next/mobile-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 100
    }, 
    "stars": 3849
  }, 
  {
    "avg": 81, 
    "grade": "A", 
    "repo_name": "upstash/context7", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 100
    }, 
    "stars": 49090
  }, 
  {
    "avg": 80, 
    "grade": "A", 
    "repo_name": "bug-ops/mcp-execution", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 36
  }, 
  {
    "avg": 80, 
    "grade": "A", 
    "repo_name": "oculairmedia/Letta-MCP-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 66
  }, 
  {
    "avg": 80, 
    "grade": "A", 
    "repo_name": "txn2/kubefwd", 
    "scores": {
      "docs": 90, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 4066
  }, 
  {
    "avg": 80, 
    "grade": "B", 
    "repo_name": "microsoft/skills", 
    "scores": {
      "docs": 100, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 1730
  }, 
  {
    "avg": 80, 
    "grade": "A", 
    "repo_name": "github/github-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 27901
  }, 
  {
    "avg": 79, 
    "grade": "A", 
    "repo_name": "Softeria/ms-365-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 87
    }, 
    "stars": 532
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "skridlevsky/graphthulhu", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 101
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "sparfenyuk/mcp-proxy", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 2343
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "ForLoopCodes/contextplus", 
    "scores": {
      "docs": 50, 
      "error_handling": 75, 
      "maintenance": 95, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 100
    }, 
    "stars": 1466
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "datagouv/datagouv-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1023
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "redpanda-data/protoc-gen-go-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 188
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "modelcontextprotocol/ext-apps", 
    "scores": {
      "docs": 75, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 100
    }, 
    "stars": 1854
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "inceptyon-labs/TARS", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 34
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "Flux159/mcp-server-kubernetes", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1349
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "modelcontextprotocol/registry", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 6552
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "f/mcptools", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 1522
  }, 
  {
    "avg": 78, 
    "grade": "A", 
    "repo_name": "PSU3D0/spreadsheet-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 39
  }, 
  {
    "avg": 77, 
    "grade": "A", 
    "repo_name": "Joooook/12306-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 75, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 100
    }, 
    "stars": 747
  }, 
  {
    "avg": 77, 
    "grade": "A", 
    "repo_name": "delorenj/mcp-server-trello", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 88
    }, 
    "stars": 261
  }, 
  {
    "avg": 77, 
    "grade": "A", 
    "repo_name": "stacklok/toolhive-studio", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 100
    }, 
    "stars": 118
  }, 
  {
    "avg": 77, 
    "grade": "B", 
    "repo_name": "cyanheads/git-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 195
  }, 
  {
    "avg": 77, 
    "grade": "B", 
    "repo_name": "brightdata/brightdata-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 2206
  }, 
  {
    "avg": 77, 
    "grade": "A", 
    "repo_name": "LeslieLeung/glean", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 789
  }, 
  {
    "avg": 77, 
    "grade": "B", 
    "repo_name": "MicrosoftDocs/mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 1455
  }, 
  {
    "avg": 77, 
    "grade": "A", 
    "repo_name": "modelcontextprotocol/kotlin-sdk", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 85, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 1292
  }, 
  {
    "avg": 77, 
    "grade": "A", 
    "repo_name": "modelcontextprotocol/inspector", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 9054
  }, 
  {
    "avg": 77, 
    "grade": "B", 
    "repo_name": "microsoft/playwright-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 28922
  }, 
  {
    "avg": 77, 
    "grade": "B", 
    "repo_name": "zhizhuodemao/js-reverse-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 301
  }, 
  {
    "avg": 76, 
    "grade": "B", 
    "repo_name": "portainer/portainer-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 127
  }, 
  {
    "avg": 76, 
    "grade": "A", 
    "repo_name": "MCPJam/inspector", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 100
    }, 
    "stars": 1801
  }, 
  {
    "avg": 76, 
    "grade": "A", 
    "repo_name": "triggerdotdev/trigger.dev", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 100
    }, 
    "stars": 14040
  }, 
  {
    "avg": 76, 
    "grade": "B", 
    "repo_name": "rust-mcp-stack/rust-mcp-sdk", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 159
  }, 
  {
    "avg": 76, 
    "grade": "B", 
    "repo_name": "modelcontextprotocol/go-sdk", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 4128
  }, 
  {
    "avg": 76, 
    "grade": "B", 
    "repo_name": "sooperset/mcp-atlassian", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 4614
  }, 
  {
    "avg": 76, 
    "grade": "A", 
    "repo_name": "taskade/mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 75, 
      "maintenance": 70, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 116
  }, 
  {
    "avg": 75, 
    "grade": "A", 
    "repo_name": "archestra-ai/archestra", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 100
    }, 
    "stars": 3547
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "kagent-dev/kmcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 440
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "aaronsb/obsidian-mcp-plugin", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 256
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "spences10/mcp-omnisearch", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 284
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "grafana/mcp-grafana", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 2544
  }, 
  {
    "avg": 75, 
    "grade": "A", 
    "repo_name": "wyattjoh/jmap-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 166
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "Piebald-AI/gemini-cli-desktop", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 316
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "jgravelle/jcodemunch-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1103
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "open-webui/mcpo", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 4053
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "cloudflare/mcp-server-cloudflare", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 83
    }, 
    "stars": 3533
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "toolsdk-ai/toolsdk-mcp-registry", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 169
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "FreePeak/db-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 353
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "brave/brave-search-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 777
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "microsoft/azure-devops-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 1408
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "sh3ll3x3c/native-devtools-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 34
  }, 
  {
    "avg": 75, 
    "grade": "A", 
    "repo_name": "nesquikm/mcp-rubber-duck", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 90
    }, 
    "stars": 141
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "controlplaneio-fluxcd/flux-operator", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 555
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "r33drichards/mcp-js", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 37
  }, 
  {
    "avg": 75, 
    "grade": "A", 
    "repo_name": "iFurySt/RedNote-MCP", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 100
    }, 
    "stars": 1010
  }, 
  {
    "avg": 75, 
    "grade": "B", 
    "repo_name": "Algiras/skillz", 
    "scores": {
      "docs": 90, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 32
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "bytedance/UI-TARS-desktop", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 100
    }, 
    "stars": 28841
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "llmsresearch/paperbanana", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 1165
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "bnomei/nereid", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 47
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "steipete/macos-automator-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 713
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "parallax-labs/context-harness", 
    "scores": {
      "docs": 90, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 65, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 31
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "modelcontextprotocol/typescript-sdk", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 80
    }, 
    "stars": 11851
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "stickerdaniel/linkedin-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 1043
  }, 
  {
    "avg": 74, 
    "grade": "A", 
    "repo_name": "rohitg00/kubectl-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 40, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 100
    }, 
    "stars": 848
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "lgazo/drawio-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 1038
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "vinkius-labs/vurb.ts", 
    "scores": {
      "docs": 90, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 207
  }, 
  {
    "avg": 74, 
    "grade": "B", 
    "repo_name": "snowmead/rust-docs-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 113
  }, 
  {
    "avg": 73, 
    "grade": "B", 
    "repo_name": "tylergraydev/claude-code-tool-manager", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 213
  }, 
  {
    "avg": 73, 
    "grade": "B", 
    "repo_name": "ChromeDevTools/chrome-devtools-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 50
    }, 
    "stars": 29074
  }, 
  {
    "avg": 73, 
    "grade": "B", 
    "repo_name": "idosal/git-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 7764
  }, 
  {
    "avg": 73, 
    "grade": "B", 
    "repo_name": "apollographql/apollo-mcp-server", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 272
  }, 
  {
    "avg": 73, 
    "grade": "B", 
    "repo_name": "raine/consult-llm-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 68
  }, 
  {
    "avg": 73, 
    "grade": "B", 
    "repo_name": "bytebase/dbhub", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 2310
  }, 
  {
    "avg": 73, 
    "grade": "B", 
    "repo_name": "thellimist/clihub", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 95, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 614
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "makenotion/notion-mcp-server", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 4043
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "strowk/mcp-k8s-go", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 377
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "zcaceres/fetch-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 95, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 717
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "matlab/matlab-mcp-core-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 236
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "510myRday/MCP-Gateway", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 78
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "apify/apify-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 902
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "devantler-tech/ksail", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 139
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "soth-ai/mcp-reticle", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 116
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "snyk/agent-scan", 
    "scores": {
      "docs": 50, 
      "error_handling": 41, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 76
    }, 
    "stars": 1879
  }, 
  {
    "avg": 72, 
    "grade": "A", 
    "repo_name": "anrgct/autodev-codebase", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 55, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 100
    }, 
    "stars": 111
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "punkpeye/fastmcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 2993
  }, 
  {
    "avg": 72, 
    "grade": "B", 
    "repo_name": "elevenlabs/elevenlabs-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1262
  }, 
  {
    "avg": 72, 
    "grade": "A", 
    "repo_name": "blurrah/mcp-graphql", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 365
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "NPC-Worldwide/npcpy", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 100
    }, 
    "stars": 1235
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "kimsungwhee/apple-docs-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1144
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "antfu/nuxt-mcp-dev", 
    "scores": {
      "docs": 65, 
      "error_handling": 35, 
      "maintenance": 90, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 897
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "Pimzino/spec-workflow-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 50
    }, 
    "stars": 4006
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "PrefectHQ/fastmcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 72
    }, 
    "stars": 23689
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "cloudwego/abcoder", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 333
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "ricardoquesada/regenerator2000", 
    "scores": {
      "docs": 50, 
      "error_handling": 65, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 72
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "mcpjungle/MCPJungle", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 95, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 905
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "mpsm/mcp-cpp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 66
  }, 
  {
    "avg": 71, 
    "grade": "A", 
    "repo_name": "mcpdotdirect/evm-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 84
    }, 
    "stars": 367
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "davepoon/buildwithclaude", 
    "scores": {
      "docs": 75, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 2587
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "dmmulroy/overseer", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 222
  }, 
  {
    "avg": 71, 
    "grade": "B", 
    "repo_name": "assafelovic/gpt-researcher", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 25743
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "containers/kubernetes-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 50
    }, 
    "stars": 1277
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "linw1995/nvim-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 46
  }, 
  {
    "avg": 70, 
    "grade": "A", 
    "repo_name": "cyproxio/mcp-for-security", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 100
    }, 
    "stars": 561
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "ktr0731/go-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 143
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "pab1it0/prometheus-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 379
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "InditexTech/mcp-teams-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 90, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 358
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "saidutt46/domain-check", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 250
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "alexander-zuev/supabase-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 815
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "emicklei/melrose", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 206
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "mrexodia/ida-pro-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 6371
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "xpzouying/xiaohongshu-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 11627
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "harsha-iiiv/openapi-mcp-generator", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 70, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 539
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "rulego/rulego", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 50
    }, 
    "stars": 1435
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "getsentry/XcodeBuildMCP", 
    "scores": {
      "docs": 35, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 4741
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "SixHq/Overture", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 50
    }, 
    "stars": 598
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "benborla/mcp-server-mysql", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1339
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "blacktop/ida-mcp-rs", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 226
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "alexei-led/spotinfo", 
    "scores": {
      "docs": 90, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 158
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "21st-dev/magic-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 80, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 4420
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "googleapis/genai-toolbox", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 50
    }, 
    "stars": 13416
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "illegal-instruction-co/rememex", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 55
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "samvallad33/vestige", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 50
    }, 
    "stars": 420
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "browserbase/mcp-server-browserbase", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 70, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 3189
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "r-huijts/strava-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 95, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 275
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "GLips/Figma-Context-MCP", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 13689
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "ErickWendel/erickwendel-contributions-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 140
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "robotmcp/ros-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 1078
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "burugo/one-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 50
    }, 
    "stars": 354
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "biegehydra/BifrostMCP", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 55, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 206
  }, 
  {
    "avg": 70, 
    "grade": "A", 
    "repo_name": "iannuttall/mcp-boilerplate", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 35, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 100
    }, 
    "stars": 1015
  }, 
  {
    "avg": 70, 
    "grade": "B", 
    "repo_name": "timescale/pg-aiguide", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 1624
  }, 
  {
    "avg": 69, 
    "grade": "B", 
    "repo_name": "postrv/forgemax", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 138
  }, 
  {
    "avg": 69, 
    "grade": "B", 
    "repo_name": "neo4j-contrib/mcp-neo4j", 
    "scores": {
      "docs": 65, 
      "error_handling": 49, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 917
  }, 
  {
    "avg": 69, 
    "grade": "B", 
    "repo_name": "second-state/echokit_server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 551
  }, 
  {
    "avg": 69, 
    "grade": "B", 
    "repo_name": "igrigorik/AgentBoard", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 0
    }, 
    "stars": 110
  }, 
  {
    "avg": 69, 
    "grade": "B", 
    "repo_name": "jae-jae/fetcher-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 1009
  }, 
  {
    "avg": 69, 
    "grade": "B", 
    "repo_name": "mongodb-js/mongodb-mcp-server", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 50
    }, 
    "stars": 959
  }, 
  {
    "avg": 69, 
    "grade": "A", 
    "repo_name": "GongRzhe/Office-PowerPoint-MCP-Server", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 1579
  }, 
  {
    "avg": 69, 
    "grade": "B", 
    "repo_name": "highflame-ai/ramparts", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 83
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "blazickjp/arxiv-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 2355
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "saidsurucu/yargi-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 50
    }, 
    "stars": 668
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "smart-mcp-proxy/mcpproxy-go", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 25
    }, 
    "stars": 160
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "Kymo-MCP/mcpcan", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 50
    }, 
    "stars": 717
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "context-space/context-space", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 75
    }, 
    "stars": 805
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "GreatScottyMac/context-portal", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 755
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "pathintegral-institute/mcpm.sh", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 908
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "Davidyz/VectorCode", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 825
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "higress-group/openapi-to-mcpserver", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 245
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "render-oss/render-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 109
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "OpenAgentPlatform/Dive", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 1752
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "inkeep/agents", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 40
    }, 
    "stars": 998
  }, 
  {
    "avg": 68, 
    "grade": "B", 
    "repo_name": "czlonkowski/n8n-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 15146
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "tadata-org/fastapi_mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 11653
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "openops-cloud/openops", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 1005
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "affaan-m/agentshield", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 111
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "taybenlor/runno", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 762
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "QuantGeekDev/mcp-framework", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 905
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "ChiR24/Unreal_mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 374
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "elastic/mcp-server-elasticsearch", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 626
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "haris-musa/excel-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 3460
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "chunkhound/chunkhound", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 1124
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "CursorTouch/Windows-MCP", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 95, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 4710
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "zhuyansen/agent-skills-hub", 
    "scores": {
      "docs": 50, 
      "error_handling": 67, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 125
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "johnhuang316/code-index-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 40, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 830
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "dcSpark/mcp-dockmaster", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 84
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "sansan0/TrendRadar", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 48965
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "deedy5/ddgs", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 2309
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "dbt-labs/dbt-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 507
  }, 
  {
    "avg": 67, 
    "grade": "B", 
    "repo_name": "Gentleman-Programming/engram", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 0
    }, 
    "stars": 1363
  }, 
  {
    "avg": 66, 
    "grade": "B", 
    "repo_name": "ArcadeAI/arcade-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 5, 
      "tool_descriptions": 50
    }, 
    "stars": 824
  }, 
  {
    "avg": 66, 
    "grade": "B", 
    "repo_name": "awkoy/notion-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 100
    }, 
    "stars": 147
  }, 
  {
    "avg": 66, 
    "grade": "B", 
    "repo_name": "leerob/directories", 
    "scores": {
      "docs": 35, 
      "error_handling": 75, 
      "maintenance": 75, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 3915
  }, 
  {
    "avg": 66, 
    "grade": "B", 
    "repo_name": "PleasePrompto/notebooklm-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 35, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1392
  }, 
  {
    "avg": 66, 
    "grade": "B", 
    "repo_name": "bilelmoussaoui/gnome-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 48
  }, 
  {
    "avg": 65, 
    "grade": "C", 
    "repo_name": "CCCpan/data-verify-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 75, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 160
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "MarkusPfundstein/mcp-obsidian", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 3007
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "microsoft/mcp", 
    "scores": {
      "docs": 35, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 2777
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "rust-mcp-stack/mcp-discovery", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 81
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "regenrek/deepwiki-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 1285
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "nloui/paperless-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 35, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 100
    }, 
    "stars": 141
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "wgpsec/ENScan_GO", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 4249
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "MiniMax-AI/MiniMax-MCP", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 55, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 1307
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "tbxark/mcp-proxy", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 661
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "cyanheads/mcp-ts-core", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 95, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 119
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "janwilmake/openapi-mcp-server", 
    "scores": {
      "docs": 50, 
      "error_handling": 75, 
      "maintenance": 60, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 885
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "modelcontextprotocol/quickstart-resources", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1026
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "utensils/mcp-nixos", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 476
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "ref-tools/ref-tools-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 1017
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "datalayer/jupyter-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 57, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 940
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "alioshr/memory-bank-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 877
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "agent-infra/sandbox", 
    "scores": {
      "docs": 50, 
      "error_handling": 45, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 3036
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "mcp-ectors/mcp-ectors", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 31
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "hangwin/mcp-chrome", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 50
    }, 
    "stars": 10770
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "featureform/enrichmcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 643
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "worryzyy/HowToCook-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 35, 
      "schema_validation": 90, 
      "security": 55, 
      "tool_descriptions": 80
    }, 
    "stars": 699
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "argoproj-labs/mcp-for-argocd", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 348
  }, 
  {
    "avg": 65, 
    "grade": "C", 
    "repo_name": "awslabs/run-model-context-protocol-servers-with-aws-lambda", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 350
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "casdoor/casdoor", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 13160
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "pansila/mcp_server_gdb", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 62
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "StevenStavrakis/obsidian-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 652
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "vercel/next-devtools-mcp", 
    "scores": {
      "docs": 35, 
      "error_handling": 75, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 677
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "Jpisnice/shadcn-ui-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 2699
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "leonardsellem/n8n-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 1580
  }, 
  {
    "avg": 65, 
    "grade": "B", 
    "repo_name": "Dataojitori/nocturne_memory", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 75, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 712
  }, 
  {
    "avg": 65, 
    "grade": "C", 
    "repo_name": "exa-labs/exa-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 75, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 10
    }, 
    "stars": 4017
  }, 
  {
    "avg": 65, 
    "grade": "C", 
    "repo_name": "portofcontext/pctx", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 38
    }, 
    "stars": 219
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "mixelpixx/KiCAD-MCP-Server", 
    "scores": {
      "docs": 75, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 47
    }, 
    "stars": 446
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "jerhadf/linear-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 344
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "ozgureyilmaz/polymarket-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 44
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "wonderwhy-er/DesktopCommanderMCP", 
    "scores": {
      "docs": 75, 
      "error_handling": 59, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 5695
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "86maid/ddddocr", 
    "scores": {
      "docs": 50, 
      "error_handling": 65, 
      "maintenance": 90, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 295
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "hyperbrowserai/mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 744
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "GongRzhe/Office-Word-MCP-Server", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1729
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "zcaceres/markdownify-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 35, 
      "maintenance": 95, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 2448
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "web-agent-master/google-search", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 100
    }, 
    "stars": 562
  }, 
  {
    "avg": 64, 
    "grade": "C", 
    "repo_name": "taylorwilsdon/google_workspace_mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 0
    }, 
    "stars": 1818
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "zeenix/rust-analyzer-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 56
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "EnesCinr/twitter-mcp", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 375
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "GongRzhe/Gmail-MCP-Server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1061
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "yincongcyincong/mcp-client-go", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 150
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "acomagu/vscode-as-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 30
    }, 
    "stars": 112
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "cyanheads/atlas-mcp-server", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 467
  }, 
  {
    "avg": 64, 
    "grade": "B", 
    "repo_name": "1Panel-dev/mcp-1panel", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 142
  }, 
  {
    "avg": 63, 
    "grade": "C", 
    "repo_name": "modelcontextprotocol/mcpb", 
    "scores": {
      "docs": 50, 
      "error_handling": 75, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 1772
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "subnetmarco/pgmcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 525
  }, 
  {
    "avg": 63, 
    "grade": "C", 
    "repo_name": "openSVM/solana-mcp-server", 
    "scores": {
      "docs": 85, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 56
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "g0t4/mcp-server-commands", 
    "scores": {
      "docs": 75, 
      "error_handling": 35, 
      "maintenance": 90, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 226
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "ckreiling/mcp-server-docker", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 687
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "MCP-Club/mcpm", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 106
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "ferrislucas/iterm-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 533
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "activepieces/activepieces", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 21217
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "patruff/ollama-mcp-bridge", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 970
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "terhechte/cursor-rust-tools", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 84
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "jamubc/gemini-mcp-tool", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 2062
  }, 
  {
    "avg": 63, 
    "grade": "C", 
    "repo_name": "homeassistant-ai/ha-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 1211
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "modelcontextprotocol/python-sdk", 
    "scores": {
      "docs": 50, 
      "error_handling": 57, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 43
    }, 
    "stars": 22134
  }, 
  {
    "avg": 63, 
    "grade": "C", 
    "repo_name": "korotovsky/slack-mcp-server", 
    "scores": {
      "docs": 35, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 1450
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "Vexa-ai/vexa", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 50
    }, 
    "stars": 1804
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "VictoriaMetrics/mcp-victoriametrics", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 130
  }, 
  {
    "avg": 63, 
    "grade": "B", 
    "repo_name": "mcp-router/mcp-router", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 1861
  }, 
  {
    "avg": 62, 
    "grade": "C", 
    "repo_name": "chigwell/telegram-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 65, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 792
  }, 
  {
    "avg": 62, 
    "grade": "C", 
    "repo_name": "nirholas/pump-fun-sdk", 
    "scores": {
      "docs": 90, 
      "error_handling": 45, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 64
  }, 
  {
    "avg": 62, 
    "grade": "B", 
    "repo_name": "extrachatgpt-com/ananke", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 31
  }, 
  {
    "avg": 62, 
    "grade": "C", 
    "repo_name": "neo4j/mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 0
    }, 
    "stars": 189
  }, 
  {
    "avg": 62, 
    "grade": "B", 
    "repo_name": "iosifache/annas-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 770
  }, 
  {
    "avg": 62, 
    "grade": "C", 
    "repo_name": "samanhappy/mcphub", 
    "scores": {
      "docs": 60, 
      "error_handling": 59, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 1882
  }, 
  {
    "avg": 62, 
    "grade": "C", 
    "repo_name": "stacklok/toolhive", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 0
    }, 
    "stars": 1653
  }, 
  {
    "avg": 62, 
    "grade": "B", 
    "repo_name": "rust-mcp-stack/rust-mcp-filesystem", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 138
  }, 
  {
    "avg": 62, 
    "grade": "C", 
    "repo_name": "awslabs/mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 45
    }, 
    "stars": 8456
  }, 
  {
    "avg": 62, 
    "grade": "C", 
    "repo_name": "mcp-use/mcp-use", 
    "scores": {
      "docs": 35, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 44
    }, 
    "stars": 9435
  }, 
  {
    "avg": 62, 
    "grade": "B", 
    "repo_name": "metatool-ai/metamcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 50
    }, 
    "stars": 2113
  }, 
  {
    "avg": 62, 
    "grade": "B", 
    "repo_name": "eqtylab/mcp-guardian", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 193
  }, 
  {
    "avg": 62, 
    "grade": "C", 
    "repo_name": "Azure/aks-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 0
    }, 
    "stars": 121
  }, 
  {
    "avg": 62, 
    "grade": "B", 
    "repo_name": "chatmcp/mcprouter", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 306
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "weibaohui/kom", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 147
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "intuit/quickbooks-online-mcp-server", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 108
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "memextech/ht-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 211
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "brizzai/auto-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 189
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "lamaalrajih/kicad-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 403
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "gbrigandi/mcp-server-wazuh", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 185
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "st3v3nmw/sourcerer-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 108
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "xing5/mcp-google-sheets", 
    "scores": {
      "docs": 65, 
      "error_handling": 43, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 737
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "JoeanAmier/XHS-Downloader", 
    "scores": {
      "docs": 50, 
      "error_handling": 75, 
      "maintenance": 45, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 10371
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "rusq/slackdump", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 0
    }, 
    "stars": 2471
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "pipeboard-co/meta-ads-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 629
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "nickclyde/duckduckgo-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 100, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 888
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "wanshuiyin/Auto-claude-code-research-in-sleep", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 75, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1121
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "toolprint/hypertool-mcp", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 147
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "ckanthony/openapi-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 176
  }, 
  {
    "avg": 61, 
    "grade": "B", 
    "repo_name": "makalin/SecureMCP", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 139
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "PV-Bhat/vibe-check-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 480
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "hyper-mcp-rs/hyper-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 40, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 870
  }, 
  {
    "avg": 61, 
    "grade": "C", 
    "repo_name": "Klavis-AI/klavis", 
    "scores": {
      "docs": 100, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 36
    }, 
    "stars": 5663
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "BeehiveInnovations/pal-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 11249
  }, 
  {
    "avg": 60, 
    "grade": "B", 
    "repo_name": "PromptExecution/just-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 47
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "chaindead/telegram-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 299
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "sammcj/mcp-package-version", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 121
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "samuelgursky/davinci-resolve-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 40, 
      "maintenance": 95, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 21
    }, 
    "stars": 643
  }, 
  {
    "avg": 60, 
    "grade": "B", 
    "repo_name": "chatmcp/mcpso", 
    "scores": {
      "docs": 50, 
      "error_handling": 65, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1977
  }, 
  {
    "avg": 60, 
    "grade": "B", 
    "repo_name": "suekou/mcp-notion-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 35, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 869
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "cyanheads/obsidian-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 401
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "wesammustafa/Claude-Code-Everything-You-Need-to-Know", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 60, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1222
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "supercorp-ai/supergateway", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 2500
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "razorpay/razorpay-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 214
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "glidea/zenfeed", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 1662
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "bgauryy/octocode-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 0
    }, 
    "stars": 751
  }, 
  {
    "avg": 60, 
    "grade": "B", 
    "repo_name": "wasmcp/wasmcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 70
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "tuannvm/mcp-trino", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 96
  }, 
  {
    "avg": 60, 
    "grade": "C", 
    "repo_name": "hashicorp/terraform-mcp-server", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 0
    }, 
    "stars": 1276
  }, 
  {
    "avg": 60, 
    "grade": "B", 
    "repo_name": "kontext-dev/browser-use-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 812
  }, 
  {
    "avg": 60, 
    "grade": "B", 
    "repo_name": "automation-ai-labs/mcp-link", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 40, 
      "schema_validation": 65, 
      "security": 55, 
      "tool_descriptions": 50
    }, 
    "stars": 603
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "postrv/narsil-mcp", 
    "scores": {
      "docs": 35, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 124
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "shivasurya/code-pathfinder", 
    "scores": {
      "docs": 75, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 111
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "orneryd/NornicDB", 
    "scores": {
      "docs": 60, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 292
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "agentgateway/agentgateway", 
    "scores": {
      "docs": 60, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 1939
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "reza-gholizade/k8s-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 85, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 149
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "semgrep/mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 639
  }, 
  {
    "avg": 59, 
    "grade": "B", 
    "repo_name": "Adancurusul/embedded-debugger-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 20, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 56
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "splx-ai/agentic-radar", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 0
    }, 
    "stars": 927
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "cyberagiinc/DevDocs", 
    "scores": {
      "docs": 65, 
      "error_handling": 55, 
      "maintenance": 55, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 2040
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "ruvnet/ruflo", 
    "scores": {
      "docs": 75, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 21091
  }, 
  {
    "avg": 59, 
    "grade": "C", 
    "repo_name": "ravitemer/mcp-hub", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 40, 
      "schema_validation": 40, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 457
  }, 
  {
    "avg": 59, 
    "grade": "B", 
    "repo_name": "mediar-ai/MCP-server-client-computer-use-ai-sdk", 
    "scores": {
      "docs": 10, 
      "error_handling": 90, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 192
  }, 
  {
    "avg": 58, 
    "grade": "C", 
    "repo_name": "nautilus-ops/mcp-center", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 39
  }, 
  {
    "avg": 58, 
    "grade": "C", 
    "repo_name": "mrjoshuak/godoc-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 90, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 108
  }, 
  {
    "avg": 58, 
    "grade": "C", 
    "repo_name": "PaperDebugger/paperdebugger", 
    "scores": {
      "docs": 50, 
      "error_handling": 40, 
      "maintenance": 90, 
      "schema_validation": 90, 
      "security": 30, 
      "tool_descriptions": 50
    }, 
    "stars": 1410
  }, 
  {
    "avg": 58, 
    "grade": "C", 
    "repo_name": "graphlit/graphlit-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 35, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 372
  }, 
  {
    "avg": 58, 
    "grade": "C", 
    "repo_name": "negokaz/excel-mcp-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 877
  }, 
  {
    "avg": 58, 
    "grade": "B", 
    "repo_name": "SecretiveShell/MCP-Bridge", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 921
  }, 
  {
    "avg": 57, 
    "grade": "C", 
    "repo_name": "base/base-mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 342
  }, 
  {
    "avg": 57, 
    "grade": "C", 
    "repo_name": "zerodha/kite-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 234
  }, 
  {
    "avg": 57, 
    "grade": "C", 
    "repo_name": "n8n-io/n8n", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 179205
  }, 
  {
    "avg": 57, 
    "grade": "C", 
    "repo_name": "runekaagaard/mcp-alchemy", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 397
  }, 
  {
    "avg": 57, 
    "grade": "C", 
    "repo_name": "open-metadata/OpenMetadata", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 8926
  }, 
  {
    "avg": 57, 
    "grade": "C", 
    "repo_name": "nanbingxyz/5ire", 
    "scores": {
      "docs": 75, 
      "error_handling": 40, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 5095
  }, 
  {
    "avg": 57, 
    "grade": "C", 
    "repo_name": "BrowserMCP/mcp", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 6056
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "isaacphi/mcp-language-server", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 0
    }, 
    "stars": 1488
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "oraios/serena", 
    "scores": {
      "docs": 60, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 21529
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "yusufkaraaslan/Skill_Seekers", 
    "scores": {
      "docs": 75, 
      "error_handling": 57, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 0
    }, 
    "stars": 10835
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "yfedoseev/fossil-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 45, 
      "maintenance": 70, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 50
    }, 
    "stars": 49
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "pottekkat/sandbox-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 103
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "Roblox/studio-rust-mcp-server", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 416
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "lharries/whatsapp-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 5409
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "AmoyLab/Unla", 
    "scores": {
      "docs": 60, 
      "error_handling": 90, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 0
    }, 
    "stars": 2058
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "mcp-use/mcp-use-ts", 
    "scores": {
      "docs": 60, 
      "error_handling": 75, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 50
    }, 
    "stars": 171
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "e2b-dev/mcp-server", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 70, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 383
  }, 
  {
    "avg": 56, 
    "grade": "C", 
    "repo_name": "sammcj/mcp-devtools", 
    "scores": {
      "docs": 65, 
      "error_handling": 41, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 0
    }, 
    "stars": 130
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "surrealdb/surrealmcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 40, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 84
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "JetBrains/mcp-jetbrains", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 30, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 944
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "minhalvp/android-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 40, 
      "schema_validation": 40, 
      "security": 40, 
      "tool_descriptions": 60
    }, 
    "stars": 699
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "cisco-ai-defense/mcp-scanner", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 35, 
      "tool_descriptions": 4
    }, 
    "stars": 845
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "go-nunu/nunu", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 30, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 2551
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "rusiaaman/wcgw", 
    "scores": {
      "docs": 25, 
      "error_handling": 55, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 649
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "1Panel-dev/MaxKB", 
    "scores": {
      "docs": 50, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 20337
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "designcomputer/mysql_mcp_server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 1162
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "av/harbor", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 85, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 2503
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "chatmcp/mcp-server-chatsum", 
    "scores": {
      "docs": 45, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 1036
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "neka-nat/freecad-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 35, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 0
    }, 
    "stars": 605
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "monsterxx03/gospy", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 94
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "mclenhard/mcp-evals", 
    "scores": {
      "docs": 75, 
      "error_handling": 75, 
      "maintenance": 40, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 125
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "httprunner/httprunner", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 0
    }, 
    "stars": 4265
  }, 
  {
    "avg": 55, 
    "grade": "C", 
    "repo_name": "cursor/mcp-servers", 
    "scores": {
      "docs": 35, 
      "error_handling": 35, 
      "maintenance": 70, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 215
  }, 
  {
    "avg": 54, 
    "grade": "C", 
    "repo_name": "LoamStudios/zed-mcp-server-github", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 15, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 83
  }, 
  {
    "avg": 54, 
    "grade": "C", 
    "repo_name": "MxIris-Reverse-Engineering/ida-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 533
  }, 
  {
    "avg": 54, 
    "grade": "C", 
    "repo_name": "eiondb/eion", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 147
  }, 
  {
    "avg": 54, 
    "grade": "C", 
    "repo_name": "Govcraft/rust-docs-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 15, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 262
  }, 
  {
    "avg": 54, 
    "grade": "C", 
    "repo_name": "chroma-core/chroma-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 45, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 515
  }, 
  {
    "avg": 54, 
    "grade": "C", 
    "repo_name": "akbxr/zed-mcp-server-context7", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 15, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 98
  }, 
  {
    "avg": 53, 
    "grade": "C", 
    "repo_name": "Devin-AXIS/A2V", 
    "scores": {
      "docs": 35, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 50
    }, 
    "stars": 1201
  }, 
  {
    "avg": 53, 
    "grade": "C", 
    "repo_name": "openags/paper-search-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 794
  }, 
  {
    "avg": 53, 
    "grade": "C", 
    "repo_name": "mbailey/voicemode", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 100, 
      "schema_validation": 90, 
      "security": 15, 
      "tool_descriptions": 12
    }, 
    "stars": 896
  }, 
  {
    "avg": 53, 
    "grade": "C", 
    "repo_name": "ezh0v/weather-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 239
  }, 
  {
    "avg": 52, 
    "grade": "C", 
    "repo_name": "opensumi/core", 
    "scores": {
      "docs": 35, 
      "error_handling": 49, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 50
    }, 
    "stars": 3609
  }, 
  {
    "avg": 52, 
    "grade": "C", 
    "repo_name": "KOBA789/human-in-the-loop", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 20, 
      "schema_validation": 15, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 222
  }, 
  {
    "avg": 52, 
    "grade": "C", 
    "repo_name": "wgpsec/cloudsword", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 45, 
      "schema_validation": 40, 
      "security": 40, 
      "tool_descriptions": 50
    }, 
    "stars": 597
  }, 
  {
    "avg": 52, 
    "grade": "C", 
    "repo_name": "pinecone-io/assistant-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 20, 
      "schema_validation": 15, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 42
  }, 
  {
    "avg": 51, 
    "grade": "C", 
    "repo_name": "mark3labs/mcp-filesystem-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 616
  }, 
  {
    "avg": 51, 
    "grade": "C", 
    "repo_name": "spences10/mcp-sequentialthinking-tools", 
    "scores": {
      "docs": 60, 
      "error_handling": 35, 
      "maintenance": 35, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 570
  }, 
  {
    "avg": 51, 
    "grade": "C", 
    "repo_name": "jlumbroso/passage-of-time-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 40, 
      "schema_validation": 65, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 713
  }, 
  {
    "avg": 51, 
    "grade": "C", 
    "repo_name": "golioth/tinymcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 149
  }, 
  {
    "avg": 50, 
    "grade": "C", 
    "repo_name": "maquina-app/rails-mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 90, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 514
  }, 
  {
    "avg": 50, 
    "grade": "C", 
    "repo_name": "wowinter13/solscan-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 20, 
      "schema_validation": 15, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 38
  }, 
  {
    "avg": 50, 
    "grade": "C", 
    "repo_name": "silenceper/mcp-k8s", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 45, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 143
  }, 
  {
    "avg": 50, 
    "grade": "C", 
    "repo_name": "morristai/iceberg-mcp", 
    "scores": {
      "docs": 50, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 34
  }, 
  {
    "avg": 50, 
    "grade": "C", 
    "repo_name": "modelcontextprotocol/csharp-sdk", 
    "scores": {
      "docs": 75, 
      "error_handling": 15, 
      "maintenance": 85, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 4086
  }, 
  {
    "avg": 49, 
    "grade": "C", 
    "repo_name": "BloopAI/dev-manager-mcp", 
    "scores": {
      "docs": 45, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 124
  }, 
  {
    "avg": 49, 
    "grade": "C", 
    "repo_name": "modelcontextprotocol/php-sdk", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 85, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 1406
  }, 
  {
    "avg": 49, 
    "grade": "C", 
    "repo_name": "centralmind/gateway", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 0
    }, 
    "stars": 518
  }, 
  {
    "avg": 49, 
    "grade": "C", 
    "repo_name": "kleneway/awesome-cursor-mpc-server", 
    "scores": {
      "docs": 75, 
      "error_handling": 35, 
      "maintenance": 20, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 338
  }, 
  {
    "avg": 48, 
    "grade": "C", 
    "repo_name": "firstbatchxyz/mem-agent-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 55, 
      "maintenance": 30, 
      "schema_validation": 90, 
      "security": 0, 
      "tool_descriptions": 50
    }, 
    "stars": 612
  }, 
  {
    "avg": 48, 
    "grade": "C", 
    "repo_name": "Automata-Labs-team/code-sandbox-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 316
  }, 
  {
    "avg": 48, 
    "grade": "C", 
    "repo_name": "ConAcademy/buttplug-mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 126
  }, 
  {
    "avg": 47, 
    "grade": "C", 
    "repo_name": "ccplugins/awesome-claude-code-plugins", 
    "scores": {
      "docs": 65, 
      "error_handling": 75, 
      "maintenance": 20, 
      "schema_validation": 15, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 624
  }, 
  {
    "avg": 47, 
    "grade": "C", 
    "repo_name": "punkpeye/awesome-mcp-devtools", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 75, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 432
  }, 
  {
    "avg": 47, 
    "grade": "C", 
    "repo_name": "TensorBlock/awesome-mcp-servers", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 75, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 567
  }, 
  {
    "avg": 47, 
    "grade": "C", 
    "repo_name": "golf-mcp/golf", 
    "scores": {
      "docs": 65, 
      "error_handling": 40, 
      "maintenance": 65, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 0
    }, 
    "stars": 814
  }, 
  {
    "avg": 46, 
    "grade": "C", 
    "repo_name": "financial-datasets/mcp-server", 
    "scores": {
      "docs": 65, 
      "error_handling": 35, 
      "maintenance": 20, 
      "schema_validation": 65, 
      "security": 75, 
      "tool_descriptions": 18
    }, 
    "stars": 1569
  }, 
  {
    "avg": 46, 
    "grade": "C", 
    "repo_name": "modelcontextprotocol/java-sdk", 
    "scores": {
      "docs": 50, 
      "error_handling": 15, 
      "maintenance": 85, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 3266
  }, 
  {
    "avg": 46, 
    "grade": "C", 
    "repo_name": "getdatanaut/openmcp", 
    "scores": {
      "docs": 25, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 90, 
      "security": 25, 
      "tool_descriptions": 0
    }, 
    "stars": 304
  }, 
  {
    "avg": 46, 
    "grade": "C", 
    "repo_name": "modelcontextprotocol/swift-sdk", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 70, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 1303
  }, 
  {
    "avg": 45, 
    "grade": "C", 
    "repo_name": "YuzeHao2023/Awesome-MCP-Servers", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 60, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 1029
  }, 
  {
    "avg": 45, 
    "grade": "C", 
    "repo_name": "anaisbetts/mcp-youtube", 
    "scores": {
      "docs": 45, 
      "error_handling": 35, 
      "maintenance": 40, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 503
  }, 
  {
    "avg": 45, 
    "grade": "C", 
    "repo_name": "IBM/mcp", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 60, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 352
  }, 
  {
    "avg": 44, 
    "grade": "C", 
    "repo_name": "linux-china/mcp-rs-template", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 20, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 50
    }, 
    "stars": 82
  }, 
  {
    "avg": 43, 
    "grade": "C", 
    "repo_name": "harishsg993010/damn-vulnerable-MCP-server", 
    "scores": {
      "docs": 35, 
      "error_handling": 40, 
      "maintenance": 40, 
      "schema_validation": 90, 
      "security": 50, 
      "tool_descriptions": 6
    }, 
    "stars": 1267
  }, 
  {
    "avg": 43, 
    "grade": "C", 
    "repo_name": "weaviate/mcp-server-weaviate", 
    "scores": {
      "docs": 35, 
      "error_handling": 90, 
      "maintenance": 30, 
      "schema_validation": 40, 
      "security": 65, 
      "tool_descriptions": 0
    }, 
    "stars": 161
  }, 
  {
    "avg": 42, 
    "grade": "D", 
    "repo_name": "grafana/loki-mcp", 
    "scores": {
      "docs": 35, 
      "error_handling": 90, 
      "maintenance": 50, 
      "schema_validation": 40, 
      "security": 40, 
      "tool_descriptions": 0
    }, 
    "stars": 98
  }, 
  {
    "avg": 42, 
    "grade": "C", 
    "repo_name": "firerpa/lamda", 
    "scores": {
      "docs": 10, 
      "error_handling": 35, 
      "maintenance": 60, 
      "schema_validation": 40, 
      "security": 60, 
      "tool_descriptions": 50
    }, 
    "stars": 7668
  }, 
  {
    "avg": 42, 
    "grade": "C", 
    "repo_name": "wong2/awesome-mcp-servers", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 45, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 3747
  }, 
  {
    "avg": 41, 
    "grade": "D", 
    "repo_name": "browser-use/vibetest-use", 
    "scores": {
      "docs": 50, 
      "error_handling": 65, 
      "maintenance": 20, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 773
  }, 
  {
    "avg": 40, 
    "grade": "C", 
    "repo_name": "php-mcp/server", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 30, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 821
  }, 
  {
    "avg": 40, 
    "grade": "C", 
    "repo_name": "afrise/MCPSharp", 
    "scores": {
      "docs": 65, 
      "error_handling": 15, 
      "maintenance": 30, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 361
  }, 
  {
    "avg": 39, 
    "grade": "D", 
    "repo_name": "coleam00/mcp-mem0", 
    "scores": {
      "docs": 65, 
      "error_handling": 35, 
      "maintenance": 20, 
      "schema_validation": 40, 
      "security": 75, 
      "tool_descriptions": 0
    }, 
    "stars": 660
  }, 
  {
    "avg": 35, 
    "grade": "D", 
    "repo_name": "appcypher/awesome-mcp-servers", 
    "scores": {
      "docs": 50, 
      "error_handling": 15, 
      "maintenance": 20, 
      "schema_validation": 15, 
      "security": 65, 
      "tool_descriptions": 50
    }, 
    "stars": 5243
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "icip-cas/PPTAgen", 
    "scores": {}, 
    "stars": 3529
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "philschmid/mcp-cl", 
    "scores": {}, 
    "stars": 1000
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "D4Vinci/Scraplin", 
    "scores": {}, 
    "stars": 29809
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "0x4m4/hexstrike-a", 
    "scores": {}, 
    "stars": 7444
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "huangjunsen0406/py-xiaozh", 
    "scores": {}, 
    "stars": 3219
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "Epistates/turbovaul", 
    "scores": {}, 
    "stars": 39
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "paiml/paiml-mcp-agent-toolk", 
    "scores": {}, 
    "stars": 139
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "rekog-labs/MCP-Nes", 
    "scores": {}, 
    "stars": 601
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "aashari/mcp-server-atlassian-bitbucke", 
    "scores": {}, 
    "stars": 127
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "mcpgod/cl", 
    "scores": {}, 
    "stars": 113
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "disler/just-promp", 
    "scores": {}, 
    "stars": 719
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "Dicklesworthstone/mcp_agent_mail_rus", 
    "scores": {}, 
    "stars": 38
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "0xJacky/nginx-u", 
    "scores": {}, 
    "stars": 10849
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "aipotheosis-labs/ac", 
    "scores": {}, 
    "stars": 4729
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "sxhxliang/mcp-access-poin", 
    "scores": {}, 
    "stars": 170
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "google-gemini/gemini-cl", 
    "scores": {}, 
    "stars": 97776
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "gojue/molin", 
    "scores": {}, 
    "stars": 330
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "timescale/tiger-cl", 
    "scores": {}, 
    "stars": 95
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "vitali87/code-graph-ra", 
    "scores": {}, 
    "stars": 2108
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "awslabs/iam-policy-autopilo", 
    "scores": {}, 
    "stars": 305
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "qdrant/mcp-server-qdran", 
    "scores": {}, 
    "stars": 1275
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "agentset-ai/agentse", 
    "scores": {}, 
    "stars": 1915
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "LoamStudios/zed-mcp-server-sequential-thinkin", 
    "scores": {}, 
    "stars": 45
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "dadbodgeoff/drif", 
    "scores": {}, 
    "stars": 761
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "nuxt-modules/mcp-toolk", 
    "scores": {}, 
    "stars": 117
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "svnscha/mcp-windb", 
    "scores": {}, 
    "stars": 1097
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "ankorstore/yoka", 
    "scores": {}, 
    "stars": 822
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "knowsuchagency/mcp2cl", 
    "scores": {}, 
    "stars": 1021
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "ruilisi/lsbo", 
    "scores": {}, 
    "stars": 371
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "bitbonsai/mcpvaul", 
    "scores": {}, 
    "stars": 835
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "SamurAIGPT/muapi-cl", 
    "scores": {}, 
    "stars": 973
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "adhikasp/mcp-redd", 
    "scores": {}, 
    "stars": 368
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "cgoinglove/better-chatbo", 
    "scores": {}, 
    "stars": 1044
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "antvis/mcp-server-char", 
    "scores": {}, 
    "stars": 3815
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "refreshdotdev/web-eval-agen", 
    "scores": {}, 
    "stars": 1237
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "tuannvm/slack-mcp-clien", 
    "scores": {}, 
    "stars": 164
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "evalstate/fast-agen", 
    "scores": {}, 
    "stars": 3707
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "CodeGraphContext/CodeGraphContex", 
    "scores": {}, 
    "stars": 2125
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "helixml/kod", 
    "scores": {}, 
    "stars": 117
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "marmotdata/marmo", 
    "scores": {}, 
    "stars": 525
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "1mcp-app/agen", 
    "scores": {}, 
    "stars": 396
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "kreuzberg-dev/kreuzber", 
    "scores": {}, 
    "stars": 6706
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "TanStack/cl", 
    "scores": {}, 
    "stars": 1210
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "executeautomation/mcp-playwrigh", 
    "scores": {}, 
    "stars": 5307
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "metoro-io/mcp-golan", 
    "scores": {}, 
    "stars": 1206
  }, 
  {
    "avg": 0, 
    "grade": "F", 
    "repo_name": "maximhq/bifros", 
    "scores": {}, 
    "stars": 2936
  }
]
