GnistAI GnistAI
Log in

Exercise Database

Exercise database with muscle groups, equipment types, difficulty levels, and calorie estimates.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 7 tools tools 7 7 type: open dataset type type open dataset open dataset lifecycle: maintained lifecycle lifecycle maintained maintained Health

Data source: Curated dataset

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/exercise/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (7)

get_exercise

Get detailed information about an exercise by its ID.

Args:
exercise_id: Exercise slug (e.g. "bench-press", "barbell-squat").

Returns:
Dictionary with exercise details including muscle group, equipment, difficulty, and calories.

ParameterTypeRequiredDescription
exercise_idstringrequired
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_exercise",
    "arguments": {
      "exercise_id": "example"
    }
  }
}
search_exercises

Search exercises by name (case-insensitive partial match).

Args:
query: Search string to match against exercise names.
limit: Maximum number of results to return (default 20).

Returns:
Dictionary with count and list of matching exercises.

ParameterTypeRequiredDescription
querystringrequired
limitintegeroptional (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_exercises",
    "arguments": {
      "query": "example"
    }
  }
}
list_exercises_by_muscle_group

List exercises targeting a specific muscle group.

Args:
muscle_group: Muscle group — one of chest, back, shoulders, arms, legs, core, full_body, cardio.
limit: Maximum number of results to return (default 20).

Returns:
Dictionary with muscle group, count, and list of exercises.

ParameterTypeRequiredDescription
muscle_groupstringrequired
limitintegeroptional (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_exercises_by_muscle_group",
    "arguments": {
      "muscle_group": "example"
    }
  }
}
list_exercises_by_equipment

List exercises that use a specific type of equipment.

Args:
equipment: Equipment type — one of barbell, dumbbell, bodyweight, machine, cable, kettlebell, resistance_band, none.
limit: Maximum number of results to return (default 20).

Returns:
Dictionary with equipment type, count, and list of exercises.

ParameterTypeRequiredDescription
equipmentstringrequired
limitintegeroptional (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_exercises_by_equipment",
    "arguments": {
      "equipment": "example"
    }
  }
}
get_muscle_groups

Get all available muscle groups in the exercise database.

Returns:
Dictionary with count and list of muscle group names.

JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_muscle_groups",
    "arguments": {}
  }
}
get_equipment_types

Get all available equipment types in the exercise database.

Returns:
Dictionary with count and list of equipment type names.

JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_equipment_types",
    "arguments": {}
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/exercise/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_exercise", "arguments": {"exercise_id": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/exercise/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_exercise",
    "arguments": {
      "exercise_id": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Health)

Resources