# Grade Calculator — MCP tool `findutils:grade_calculator`

Calculate a weighted course grade from categories (homework, quizzes, exams) with assignment scores, the letter grade (A to F), and the score needed on the remaining weight to reach a target grade. Categories with no scored assignments count as remaining weight.

- Category: education
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/grade-calculator/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/mcp/grade-calculator/
- Same tool on the other surface: https://findutils.com/api/grade-calculator/

## Connect

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Claude Desktop (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "findutils": {
      "url": "https://mcp.findutils.com/"
    }
  }
}
```

## Call the tool (verified example)

```bash
curl -X POST https://mcp.findutils.com/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "grade_calculator",
      "arguments": {
        "categories": [
          {
            "name": "Homework",
            "weight": 40,
            "assignments": [
              {
                "score": 90
              }
            ]
          },
          {
            "name": "Final",
            "weight": 60,
            "assignments": []
          }
        ],
        "target_grade": 90
      }
    }
  }'
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `categories` | array | yes | Grade categories. Each item: { name?: string, weight: number (percent of the final grade), assignments: [{ name?: string, score: number, max_score?: number (default 100) }] }. |
| `target_grade` | number | no | Target final grade in percent. Default 90. Default: `90`. |

Example arguments (verified):

```json
{
  "categories": [
    {
      "name": "Homework",
      "weight": 40,
      "assignments": [
        {
          "score": 90
        }
      ]
    },
    {
      "name": "Final",
      "weight": 60,
      "assignments": []
    }
  ],
  "target_grade": 90
}
```

## Also a REST endpoint

```bash
curl -X POST https://api.findutils.com/api/tools/grade-calculator/execute \
  -H "Content-Type: application/json" \
  -d '{
    "categories": [
      {
        "name": "Homework",
        "weight": 40,
        "assignments": [
          {
            "score": 90
          }
        ]
      },
      {
        "name": "Final",
        "weight": 60,
        "assignments": []
      }
    ],
    "target_grade": 90
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/grade-calculator
```

Full REST reference: https://findutils.com/api/grade-calculator/ · OpenAPI 3.1 spec: https://findutils.com/api/openapi.json

---
Full catalog: POST https://mcp.findutils.com/ with method `tools/list` · https://findutils.com/mcp/ · https://findutils.com/llms.txt
