Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Proprietary StrackaGolf course data, updated daily. Search is free.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GI_CLIENT_ID, GI_ACTIVE_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.golfintelligence.com/mcpลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http golf https://mcp.golfintelligence.com/mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"golf": {
"url": "https://mcp.golfintelligence.com/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"golf": {
"type": "http",
"url": "https://mcp.golfintelligence.com/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.golfintelligence.com/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub golf-data ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GI_CLIENT_ID, GI_ACTIVE_TOKEN
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.7) เข้า registry 16 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Golf Course Data by Stracka. Proprietary StrackaGolf course data only,
updated daily. Search is free. Scorecards, GPS, and 3D greens via API.
Golf Intelligence provides proprietary StrackaGolf course data, updated daily. Learn more at golfintelligence.com.
This repository is the installable Cursor / Grok Bot plugin with handle golf. The Cursor marketplace application source is the public GitHub URL:
https://github.com/golf-data/golf
Marketplace reviewers can submit that URL at cursor.com/marketplace/publish. The catalog title is Golf Course Data by Stracka.
The bundled mcp.json connects to the hosted MCP at https://mcp.golfintelligence.com/mcp over Streamable HTTP, so installing the plugin never depends on a local Node build. Your console credentials travel as the X-GI-Client-ID and X-GI-Active-Token headers, filled from the plugin variables declared in .cursor-plugin/plugin.json.
Earlier releases launched node against a plugin-relative dist/index.js. Cursor does not expand the Agent Plugins ${PLUGIN_ROOT} variable, so that placeholder reached Node literally and the connector failed with Cannot find module '.../${PLUGIN_ROOT}/dist/index.js'. The hosted connector removes that failure mode entirely.
mcp.stdio.json keeps the local stdio server for offline and development use. It is not auto-discovered; copy its golf entry into .cursor/mcp.json (using ${workspaceFolder} in a checkout) or point mcpServers at it. Any local stdio config must use ${CURSOR_PLUGIN_ROOT}, never ${PLUGIN_ROOT}. The committed dist/index.js bundle ships in the repository and in the MCPB package, so the stdio path works without running a build first.
The official MCP Registry name is `io.github.golf-data/golf`. The registry does not accept a bare golf name. Cursor, Agent Plugins, and Claude Code plugin handles remain golf.
Sign in at console.golfintelligence.com without a password: enter your email on the login page, request a verification code, then enter the code after it is sent. Create an API Account and configure the plugin's two required variables:
GI_CLIENT_ID: your Client IDGI_ACTIVE_TOKEN: your Active TokenThe Active Token is exchanged for a short-lived bearer token. It is not a bearer token; do not paste a bearer token into GI_ACTIVE_TOKEN.
Use credentials from your own console account. This project does not provide demo tokens.
Plans are monthly and can be upgraded or downgraded self-serve in the console:
For billing, credits, plans, login, or credential help, email support@golfintelligence.com. For course data updates, email data@golfintelligence.com.
Always search first. search_course_groups is free. Before every paid call, the user must explicitly confirm the stated cost; the server refuses paid tools unless confirm_spend=true.
| Tool | What it returns | Credits |
|---|---|---|
search_course_groups | Course-group search results | 0 |
get_course_group_scorecard | Scorecard data | 1 |
get_course_group_gps | Mapped course geometry and coordinates | 2 |
get_course_group_detail | Detailed course-group data | 3 |
get_green_slope_image | Portrait or square green slope image | 1 |
The local stdio server and legacy per-user HTTP credential headers exchange the configured credentials with:
POST https://api.golfintelligence.com/auth/authenticateToken
grant_type=client_credentials code= client_id=
It sends the returned access_token as Authorization: Bearer , caches it only in memory, and refreshes once after an HTTP 401. Credentials are never logged.
The hosted MCP additionally implements OAuth 2.1 authorization-code flow with S256 PKCE for ChatGPT. Its dedicated authorization page accepts each user's own console Client ID and Active Token, validates them with Golf Intelligence, and binds that account to encrypted access and refresh tokens. See docs/OPENAI-CHATGPT-OAUTH.md for discovery URLs, OpenAI portal settings, reviewer steps, and deployment secrets.
The hosted MCP is available via the official MCP Streamable HTTP transport at:
https://mcp.golfintelligence.com/mcp
The production HTTP entrypoint serves that transport at /mcp and a health check at /health. For OpenAI Apps domain verification it also serves GET /.well-known/openai-apps-challenge as text/plain when OPENAI_APPS_CHALLENGE_TOKEN (or OPENAI_APPS_CHALLENGE) is set; otherwise that path returns 404. Start the HTTP server locally with:
npm run build
PORT=3000 npm run start:http
It binds to 0.0.0.0:$PORT. The existing node dist/index.js stdio entrypoint and all plugin packages remain unchanged.
The HTTP service accepts Golf Intelligence identity in either of these forms:
X-GI-Client-ID and X-GI-Active-Token headers supplied together on every MCP request by existing plugin installs.There is deliberately no server-wide GI_CLIENT_ID / GI_ACTIVE_TOKEN fallback. The HTTP entrypoint ignores those environment variables, so an anonymous caller cannot inherit a deployment account or spend its credits. Missing or invalid OAuth returns HTTP 401 with an OAuth protected-resource challenge. The Active Token is an exchange credential and must not be sent as an Authorization: Bearer value.
Every tool explicitly advertises these MCP annotations:
readOnlyHint: true — each tool only retrieves course data.openWorldHint: false — no tool writes to public or external systems.destructiveHint: false — no tool deletes, overwrites, publishes, or sends anything.idempotentHint: true for free search.idempotentHint: false for paid tools because every repeated paid invocation can consume credits again.These sentences can also be used as the annotation justifications in the OpenAI submission form. Paid lookups still require confirm_spend=true at the same credit costs documented above.
Dockerfile builds both transports without embedding credentials. fly.toml configures a small Fly.io service and checks /health. Before the first deploy, confirm that the globally unique Fly app name is available (or change app), then configure the OAuth secrets documented in docs/OPENAI-CHATGPT-OAUTH.md and deploy. At minimum:
fly volumes create oauth_state --region ord --size 1
fly secrets set OAUTH_ENCRYPTION_KEY="$(openssl rand -base64 32)" fly secrets set OAUTH_ISSUER=https://mcp.golfintelligence.com fly secrets set OPENAI_APPS_CHALLENGE_TOKEN=... fly deploy
The mounted volume stores OAuth replay/rotation state, not GI credentials. Run one Machine for this file-backed state store.
Do not configure a shared GI account for hosted HTTP callers. If GI_CLIENT_ID / GI_ACTIVE_TOKEN exist for a separate bootstrap or stdio workflow, they do not authorize HTTP requests.
Set OPENAI_APPS_CHALLENGE_TOKEN to the token shown in OpenAI Platform domain verification. Do not commit that token. After deploy, GET https://mcp.golfintelligence.com/.well-known/openai-apps-challenge should return the token as text/plain.
Tool names and descriptions are baked into the deployed bundle, so the hosted MCP keeps serving the previous copy until it is redeployed. Redeploy before refreshing the marketplace listing, and follow docs/RELEASE.md for the full order across Fly, the marketplace, and the MCP Registry.
.cursor-plugin/plugin.json — Cursor marketplace manifest and required variablesplugin.json — Agent Plugins open-standard manifest (handle golf).claude-plugin/plugin.json — Claude Code / Cowork plugin manifest (handle golf)server.json — official MCP Registry metadata (io.github.golf-data/golf)manifest.json — MCPB bundle manifest for the stdio Node server.github/workflows/publish-mcp.yml — publishes io.github.golf-data/golf to the official MCP Registry via GitHub OIDCmcp.json — bundled golf connector pointing at the hosted MCP endpointmcp.stdio.json — optional local stdio configuration for offline developmentskills/golf/SKILL.md — workflow and spend-confirmation guidancedocs/SMOKE-CHECKLIST.md — post-deploy and post-publish verification stepsdocs/RELEASE.md — Fly redeploy, GitHub release, and registry publish runbooksrc/ — TypeScript MCP server and API clientdist/index.js — committed stdio ESM bundle used by installersdist/http.js — committed Streamable HTTP ESM bundle used by the containerDockerfile and fly.toml — production HTTP container and Fly.io serviceFor development with Node.js 18 or newer:
npm install
npm test npm run build npm run pack:mcpb
pack:mcpb uses the official @anthropic-ai/mcpb pack CLI to produce golf.mcpb and writes its SHA-256 into server.json. GitHub Releases host that asset at https://github.com/golf-data/golf/releases/download/v1.0.2/golf.mcpb.
The plugin code is available under the MIT License. Golf Intelligence API data remains subject to the terms at golfintelligence.com.