# Gpa Calculator — REST API endpoint `gpa-calculator`

Calculate a grade point average (GPA) on the 4.0 scale from course letter grades and credits. Returns the GPA, a quality label, total credits, total quality points, and per-course points. Grades A+ to F (A+ and A = 4.0, A- = 3.7, B+ = 3.3, ..., F = 0).

- 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/gpa-calculator/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/api/gpa-calculator/
- Same tool on the other surface: https://findutils.com/mcp/gpa-calculator/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/gpa-calculator/execute \
  -H "Content-Type: application/json" \
  -d '{
    "courses": [
      {
        "credits": 3,
        "grade": "A"
      },
      {
        "credits": 3,
        "grade": "B+"
      }
    ]
  }'

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

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `courses` | array | yes | Courses. Each item: { name?: string, credits: number (> 0), grade: "A+" \| "A" \| "A-" \| "B+" \| "B" \| "B-" \| "C+" \| "C" \| "C-" \| "D+" \| "D" \| "D-" \| "F" }. |

Example arguments (verified):

```json
{
  "courses": [
    {
      "credits": 3,
      "grade": "A"
    },
    {
      "credits": 3,
      "grade": "B+"
    }
  ]
}
```

OpenAPI 3.1 spec: https://findutils.com/api/openapi.json · Interactive docs: https://findutils.com/api/docs/

## Also an MCP tool

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

Then ask the client to call `findutils:gpa_calculator`. Full MCP reference: https://findutils.com/mcp/gpa-calculator/

---
Full catalog: GET https://api.findutils.com/api/tools · https://findutils.com/api/ · https://findutils.com/llms.txt
