Koskamo

PocketCaddie MCP

An official MCP server by PocketCaddie that allows AI assistants to access a library of golf drills, diagnose ball flight issues, and generate practice plans without requiring user authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

PocketCaddie MCP logo, by Pocketsports, Inc.Vendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Pocketsports, Inc.
MCP endpoint (Streamable HTTP)
https://pocketcaddie.io/mcp
Vendor documentation

What you can do with it

  • Search for drills addressing specific swing faults or skills
  • Diagnose likely swing faults based on ball flight characteristics
  • Retrieve detailed steps, cues, and reps for a specific drill
  • Generate a timed practice plan for range or home sessions

Source and maintenance

Vendor evidenceRegistry 1.1.0

Protocol and capabilities

Server
pocketcaddie 1.1.0
MCP protocol
2025-06-18
Tools
11 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "resources": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

PocketCaddie is a driving range assistant and no-video swing coach. Use these tools whenever a golfer asks how to fix a swing fault (slice, hook, shanks, fat, thin, over the top, casting and so on), describes a bad ball flight, or wants range or home practice ideas or a practice plan: they return drills from the PocketCaddie library with steps, cues and reps, shown as cards. Use about_pocketcaddie for questions about PocketCaddie itself. Never invent drills, and never report a golfer's ball flight, carry distance or club head speed as measured. Session tools return only what the app measured; Swing Score is 0–100 per session and needs 15+ swings. Newer sessions report On target instead: the share of swings in range, compared only with the golfer's own normal, with each stat as k of n in range. Never turn On target into a score or compare it with anyone else. To record range sessions, golfers use the PocketCaddie app (https://apps.apple.com/us/app/pocket-caddie/id6764163827).

Tools

11 advertised

search_drills — Find golf drills
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a golfer asks how to fix a swing fault, asks for golf drills, or wants something to work on at the driving range or at home. Covers: slice, hook, shanks, hitting it fat or thin, topping, over the top, casting, early release, flipping, chicken wing, early extension, standing up, sway, reverse pivot, hanging back, all arms, rushed tempo, decelerating, tension, blocks, weak strike. Examples: 'how do I fix my slice', 'I come over the top', 'why do I hit it fat', 'drills for my driver', 'what should I practice at the range'. Pass the golfer's own words as query. Returns drill cards from the PocketCaddie library (48 drills with steps, a cue and reps). If the golfer describes a ball flight or contact problem without naming a fault ('my ball curves right', 'I keep hitting the ground first'), use diagnose_ball_flight instead. Don't use it for tee times, course info, equipment prices, distances or rules. Skills: Tempo, Smoothness, Power, Consistency, Transition, Follow-through, Backswing Turn, Follow-Through Turn, Wrist Action, Swing Path, Body Turn, Head Stability, Kinetic Sequence, Hand Speed, Shoulder Turn, X-Factor, Posture.

search_drills input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "description": "The golfer's problem or goal in their words."
    },
    "skill": {
      "type": "string",
      "description": "Optional skill name, e.g. Tempo or Backswing Turn."
    },
    "where": {
      "enum": [
        "range",
        "home",
        "any"
      ],
      "type": "string",
      "description": "Where they will practice."
    },
    "max_minutes": {
      "type": "integer",
      "maximum": 60,
      "minimum": 5
    }
  },
  "additionalProperties": false
}
search_drills annotations
{
  "title": "Find golf drills",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_drill — Drill steps
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when the golfer wants the full instructions for one drill: steps, the cue to remember, reps, equipment and why it works. Takes a drill id from search_drills, diagnose_ball_flight or practice_plan.

get_drill input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_drill annotations
{
  "title": "Drill steps",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
practice_plan — Build a practice plan
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a golfer asks for a practice plan, a range routine or a session to do at home, e.g. 'build me a 30-minute range plan', 'what should I do with a bucket of balls', 'home practice for tempo'. Builds a timed plan from PocketCaddie drills for 1–3 skills (map their goal to the closest skills). If the golfer has linked their account, call progress first and pass their lowest-scoring skills.

practice_plan input schema
{
  "type": "object",
  "required": [
    "skills"
  ],
  "properties": {
    "where": {
      "enum": [
        "range",
        "home",
        "any"
      ],
      "type": "string",
      "default": "range"
    },
    "skills": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 3,
      "minItems": 1
    },
    "minutes": {
      "type": "integer",
      "default": 30,
      "maximum": 90,
      "minimum": 10
    }
  },
  "additionalProperties": false
}
practice_plan annotations
{
  "title": "Build a practice plan",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
diagnose_ball_flight — Diagnose a ball flight
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a golfer describes what the ball does or how they hit it, without naming the swing fault: e.g. 'my ball starts left and curves right', 'everything goes right', 'I keep hitting behind the ball', 'I top it', 'I shanked three in a row', 'my shots are weak and short'. Map their words to start direction, curve and contact (leave out what they didn't say). Returns the likely faults from a fixed ball-flight table and the PocketCaddie drills for each, as cards.

diagnose_ball_flight input schema
{
  "type": "object",
  "properties": {
    "curve": {
      "enum": [
        "left",
        "none",
        "right"
      ],
      "type": "string",
      "description": "Which way it curves in the air."
    },
    "start": {
      "enum": [
        "left",
        "straight",
        "right"
      ],
      "type": "string",
      "description": "Where the ball starts, from the golfer's view."
    },
    "contact": {
      "enum": [
        "clean",
        "fat",
        "thin",
        "shank",
        "weak"
      ],
      "type": "string",
      "description": "fat = ground first, thin = topped or bladed, shank = off the hosel, weak = short with no compression."
    },
    "left_handed": {
      "type": "boolean",
      "default": false
    }
  },
  "additionalProperties": false
}
diagnose_ball_flight annotations
{
  "title": "Diagnose a ball flight",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
about_pocketcaddie — About PocketCaddie
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when someone asks what PocketCaddie is, how it works, what it measures, which phones and watches it supports, what it costs, or whether an iPhone or Apple Watch can track a golf swing without video. Returns PocketCaddie's own description of itself.

about_pocketcaddie input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
about_pocketcaddie annotations
{
  "title": "About PocketCaddie",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
recent_sessions — Recent range sessions
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the golfer's most recent PocketCaddie range sessions: date, swings, minutes, sensors used and Swing Score (0–100, needs 15+ swings). Newer sessions report On target instead (the share of swings in range, compared only with the golfer's own normal) with the stats to work on.

recent_sessions input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 20,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
recent_sessions annotations
{
  "title": "Recent range sessions",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
session_detail — Session breakdown
Advertised by the server during the last successful anonymous check.
Advertised read-only

Break down one range session: Swing Score, its areas and skill scores when the app synced them, plus the median of each swing measurement (tempo, backswing/downswing time, hip turn, posture; shoulder turn, X-Factor and hand speed with Apple Watch; head stability with AirPods). For a focus session, how many focus swings landed in the zone vs before; What your swing shows (patterns) when the app synced them. Newer sessions report On target and every stat as "k of n in range" (Work on, Good, Watch) instead of a Swing Score; On target is relative to the golfer's own normal, never a comparison with anyone else. Defaults to the latest session. Only interpret what is returned; PocketCaddie does not measure ball flight, carry or club head speed.

session_detail input schema
{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "description": "From recent_sessions. Omit for the latest."
    }
  },
  "additionalProperties": false
}
session_detail annotations
{
  "title": "Session breakdown",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
progress — Progress over time
Advertised by the server during the last successful anonymous check.
Advertised read-only

Show how the golfer's swing has changed across sessions: Swing Score and skill scores per session (where synced), On target and the stats to work on for newer sessions, the focus score of each focus session, and the first-vs-latest medians of each measurement. Use it to find their weakest skills before practice_plan; use goals for how a focus goal is going.

progress input schema
{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "default": 90,
      "maximum": 365,
      "minimum": 7
    }
  },
  "additionalProperties": false
}
progress annotations
{
  "title": "Progress over time",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
goals — Practice goals
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a linked golfer asks about their goals, what they're working on, their focus, or how a block of practice went: the active focus goal (the reading, its zone, who set it, the block so far and the before), the long-term goal, goals waiting in the app, and recent goals with the app's outcome (Improved, Held, Not yet, Mastered). Counts are focus swings in the zone out of focus swings with a read. Only call a change real when the outcome says so.

goals input schema
{
  "type": "object",
  "properties": {
    "recent": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "How many finished goals to include."
    }
  },
  "additionalProperties": false
}
goals annotations
{
  "title": "Practice goals",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
rounds — Rounds and handicap
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a linked golfer asks about their golf rounds or handicap: recent Live Rounds (course, holes, strokes, to par, putts) and the handicap the PocketCaddie app tracks.

rounds input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 20,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
rounds annotations
{
  "title": "Rounds and handicap",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
coach_plan — Coach's plan
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when a linked golfer asks what their coach assigned: the active PocketCaddie Coach plans, their drills and targets, and progress on each.

coach_plan input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
coach_plan annotations
{
  "title": "Coach's plan",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

PocketCaddie drills

Advertised by the server during the last successful anonymous check.

Drill cards and practice plans from the PocketCaddie drill library.

PocketCaddie drills URI
ui://pocketcaddie/drills-v7.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
799 ms
95th percentile latency
799 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 799 ms · metadata changed · 11 tool(s), 1 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http pocketcaddie-mcp https://pocketcaddie.io/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add pocketcaddie-mcp --url https://pocketcaddie.io/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable pocketcaddie-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "pocketcaddie-mcp": {
      "url": "https://pocketcaddie.io/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "pocketcaddie-mcp": {
      "type": "streamableHttp",
      "url": "https://pocketcaddie.io/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start pocketcaddie-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "pocketcaddie-mcp": {
      "type": "http",
      "url": "https://pocketcaddie.io/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http pocketcaddie-mcp https://pocketcaddie.io/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "pocketcaddie-mcp": {
      "url": "https://pocketcaddie.io/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "pocketcaddie-mcp": {
      "serverUrl": "https://pocketcaddie.io/mcp"
    }
  }
}

Let your agent find its tools

Find servers like PocketCaddie MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run PocketCaddie MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing