OpenPowerlifting MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
openpowerlifting-mcp
An MCP server that lets an LLM query OpenPowerlifting meet results: about four million entries from raw and equipped meets worldwide, with every attempt recorded.
Ask things like "How has Taylor Atwood's raw total changed since 2015?" or "Where would a 600 kg total put a tested 93 kg raw lifter?" and the model answers from the actual data instead of from memory.
Tools
Tool | What it does |
| Find lifters by name. Handles the |
| Every meet for one lifter with each attempt. Missed attempts are negative; fourth attempts (records only) are kept apart. |
| Rank a total against each lifter's best total, filtered by sex, equipment, weight class, event and drug testing. |
| Career bests side by side for 2 to 10 lifters. |
Related MCP server: mcp-data-lens
Setup
Needs uv.
git clone https://github.com/sebastianpantin/openpowerlifting-mcp
cd openpowerlifting-mcp
uv sync
uv run python scripts/fetch_data.pyfetch_data.py downloads the latest bulk CSV (about 170 MB zipped, 830 MB unzipped) into raw/ and converts it once with DuckDB into data/openpowerlifting.parquet (about 150 MB). It takes under a minute on a decent connection. Run it again with --force to pick up a newer export.
Use it with Claude Desktop
uv run mcp install server.py --name openpowerlifting --with-editable .Restart Claude Desktop and the tools show up. Any other MCP client can start the server over stdio with uv run --directory /path/to/openpowerlifting-mcp openpowerlifting-mcp.
The server looks for data/openpowerlifting.parquet in the repo. Set OPL_PARQUET to use a file somewhere else.
Development
uv run mcp dev server.py # MCP Inspector in the browser
uv run pytest
uv run ruff check . && uv run ruff format .Tests run against a nine-row CSV in tests/fixtures/ that uses the real column layout, so they don't need the full download.
Queries go straight to the Parquet file through DuckDB. Lookups take well under 100 ms on a laptop, so there is no database to run.
Data
This project uses data from the OpenPowerlifting project, https://www.openpowerlifting.org. You may download a copy of the data at https://data.openpowerlifting.org.
The data is in the public domain. This repository does not include it; fetch_data.py downloads it from OpenPowerlifting.
License
MIT for the code. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Every spreadsheet is a table: Excel, CSV, Parquet and JSON as SQL tables for AI agents.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables natural language database operations and semantic document search through SQLite and vector database integration. Converts plain English instructions into SQL queries and provides RAG capabilities for uploaded documents.-
- AlicenseNot gradedqualityCmaintenanceEnables users to ask questions about their spreadsheets in plain English and receive instant answers using DuckDB-powered analytics, supporting multiple file formats like Excel, CSV, and Parquet.2MIT
- AlicenseNot gradedqualityAmaintenanceQuery local CSV, Parquet, JSON and TSV files with real SQL via DuckDB. Gives your AI coding tool ground-truth data access instead of hallucinated answers.5MIT
- AlicenseCqualityAmaintenanceEnables querying and replaying deterministic market data for crypto and US equities from a local Parquet lake via natural language.574Apache 2.0