propline_get_player_history
Retrieve a player's prop history across recent games, including lines, prices, and actual values, with redacted details on free tier.
Instructions
Player prop history across recent games. Returns each prior prop this player took with line, prices, resolution, and actual value. Pro tier returns full data; free tier returns redacted resolution/actual_value with an upgrade pointer.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sport_key | Yes | ||
| player_name | Yes | Player name as it appears in box scores — e.g. 'Aaron Judge', 'Nikola Jokic' | |
| limit | No | Max number of past games (default 20, max 100) | |
| markets | No | Comma-separated subset of markets (e.g. 'player_points,player_rebounds') |
Implementation Reference
- src/index.ts:288-326 (registration)Tool 'propline_get_player_history' is defined in the tools array with its name, description, input schema, and an inline handler that delegates to client().getPlayerHistory(). This is where the tool is registered for MCP discovery (ListToolsRequestSchema) and invocation (CallToolRequestSchema).
{ name: "propline_get_player_history", description: "Player prop history across recent games. Returns each prior prop " + "this player took with line, prices, resolution, and actual value. " + "Pro tier returns full data; free tier returns redacted " + "resolution/actual_value with an upgrade pointer.", inputSchema: { type: "object", properties: { sport_key: { type: "string" }, player_name: { type: "string", description: "Player name as it appears in box scores — e.g. 'Aaron Judge', 'Nikola Jokic'", }, limit: { type: "number", description: "Max number of past games (default 20, max 100)", }, markets: { type: "string", description: "Comma-separated subset of markets (e.g. 'player_points,player_rebounds')", }, }, required: ["sport_key", "player_name"], additionalProperties: false, }, handler: (args) => client().getPlayerHistory( args.sport_key as string, args.player_name as string, { limit: args.limit as number | undefined, markets: args.markets as string | undefined, }, ), }, - src/index.ts:295-316 (schema)The inputSchema for 'propline_get_player_history' defines four properties: sport_key (string, required), player_name (string, required), limit (number, optional), and markets (string, optional). It also sets additionalProperties: false.
inputSchema: { type: "object", properties: { sport_key: { type: "string" }, player_name: { type: "string", description: "Player name as it appears in box scores — e.g. 'Aaron Judge', 'Nikola Jokic'", }, limit: { type: "number", description: "Max number of past games (default 20, max 100)", }, markets: { type: "string", description: "Comma-separated subset of markets (e.g. 'player_points,player_rebounds')", }, }, required: ["sport_key", "player_name"], additionalProperties: false, }, - src/index.ts:317-325 (handler)The handler for 'propline_get_player_history' is an inline function that calls client().getPlayerHistory() with the sport_key, player_name, limit, and markets arguments.
handler: (args) => client().getPlayerHistory( args.sport_key as string, args.player_name as string, { limit: args.limit as number | undefined, markets: args.markets as string | undefined, }, ), - src/client.ts:151-160 (helper)The getPlayerHistory method on PropLineClient sends a GET request to /v1/sports/{sportKey}/players/{playerName}/history with optional query params limit and markets. This is the actual API call that powers the tool.
getPlayerHistory( sportKey: string, playerName: string, opts: { limit?: number; markets?: string } = {}, ): Promise<unknown> { return this.request( `/v1/sports/${sportKey}/players/${encodeURIComponent(playerName)}/history`, { limit: opts.limit, markets: opts.markets }, ); }