
Connect IQ MCP
io.github.idooPublished by GitHub account idoov0.1.1Updated Oct 29, 2026
MCP server for Garmin Connect IQ developers: store portal, SDK builds, simulator. Read-only default.
Overview
Local MCP server that lets an assistant manage Garmin Connect IQ apps: store listings, reviews, installs, SDK builds and the simulator.
- What you can do
- Inspect store data: app versions, listings, reviews, installs and supported devices
- Draft replies to reviews and update store descriptions or publish new versions, with a preview and your approval
- Build apps for chosen devices with the Connect IQ SDK and run them in the simulator
- Take simulator screenshots and send simulator input (macOS only)
- Optionally read your own Garmin Connect data when the connect toolset is enabled
- Enable only the toolsets you need, such as store, sdk, simulator or connect
- When to use it
- Useful if you develop Garmin Connect IQ watch faces or apps and want an assistant to check store metrics and reviews, build and test in the simulator, or prepare store updates without leaving the chat.
- Requirements
- Runs as a local binary installed via script, Homebrew or the .mcpb package; sign-in through Garmin's own page in a separate browser profile. Builds and the simulator need Garmin's SDK Manager and Java 17 or newer. Optional settings include CIQ_MCP_SDK, CIQ_MCP_BROWSER, CIQ_MCP_PROFILE, CIQ_MCP_TOOLSETS, CIQ_MCP_ALLOW_WRITES and the CIQ_MCP_PORTAL_COOKIES secret for CI. Network access to Garmin services.
Installation
In SourceWeft
- Open Connect IQ MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Connect IQ MCP
MCP server for Garmin Connect IQ developers. Your agent gets the store (versions, listings, reviews, installs), SDK builds, the simulator and, if you want it, your Garmin Connect data. Read-only by default, and it asks before anything goes public. The binary is connect-iq-mcp.
[CI] [CodeQL] [Release] [Go Reference] [License: MIT] [MCP] [Glama score] [OpenSSF Scorecard]
Install
Paste this into whatever AI is writing your watch face right now:
Or by hand, in three steps:
Builds and the simulator also need Garmin's SDK Manager and Java 17+. Details, Windows and Linux: docs/INSTALL.md. Sign-in, signing keys, CI, upgrades and fixes: docs/FAQ.md.
Why you can trust it
You're handing it your Garmin developer account, so here's what you can check yourself instead of taking my word for it:
- All of it is here. MIT, no closed parts. Build it yourself with
go install github.com/idoo/connect-iq-mcp/cmd/connect-iq-mcp@latest. - It only talks to Garmin. The developer portal at
apps.garmin.com, Garmin's SSO in the sign-in browser, and Garmin Connect if you turn it on. No telemetry. SECURITY.md - No tool sees your password or cookies. You sign in on Garmin's own page in a separate browser profile. The session cookie goes to the OS keychain, and no tool takes or returns it. SECURITY.md
- Read-only until you say otherwise. Store write tools aren't listed until you turn writes on, and anything public shows a preview and waits for your yes. docs/SAFETY.md
- Releases are signed and traceable to their source. Every release is built by release.yml from a tag, published as an immutable release, and ships an SPDX SBOM per archive, a cosign keyless signature on
checksums.txt, and build provenance attestations. The macOS binaries are also signed with my Developer ID and notarized by Apple. - CI scans every push with CodeQL and
govulncheck, and a tag can't ship with a known reachable vulnerability.
Check a download with the GitHub CLI:
or with cosign:
On a Mac, spctl -a -vv -t install connect-iq-mcp should say source=Notarized Developer ID.
The .mcpb and tools.json are listed in checksums-extra.txt with their own checksums-extra.txt.sigstore.json. Both checks above work on them the same way.
Unofficial
Garmin has no public store API, so Connect IQ MCP uses the same private endpoints the developer portal website uses, plus Garmin's sign-in. Garmin can change them and break this any day, or object to it. Renewal runs a headless browser that doesn't announce itself as automated, and automated access may be against the portal's terms: it's your account and your call. Request rates stay low.
Not affiliated with or endorsed by Garmin. Garmin, Connect IQ and fēnix are trademarks of Garmin. If Garmin objects to the name, the name changes.
Compared
~ by hand. Screenshots and simulator input are macOS only here and in andreycooper's; wroblisko's also does Windows.
Security
It can't publish anything until you let it. Publishing a version and editing the listing wait for your yes; builds and the simulator don't ask. A 1-star review that says "ignore previous instructions" is still just a 1-star review. More in docs/SAFETY.md. Report holes privately: SECURITY.md.
What it does
- "How are my apps doing? Downloads, ratings, last version."
- "Any new reviews? Draft replies to the angry ones."
- "Build the app for fenix 8, run it in the simulator, take a screenshot."
- "Build the store .iq for all devices and publish it as 1.4.0." (asks you first)
- "Update the store description, keep the rest as is." (asks you first)
- "Which devices does the app support, and which new ones am I missing?"
Tools come in toolsets, so your agent only sees what you use. store, sdk and simulator are on out of the box. connect (your Garmin Connect data, after auth login --connect) and store_experimental (portal calls nobody has tried live yet) are off. Pick with CIQ_MCP_TOOLSETS (all, +connect) or ask the agent mid-chat. Every tool: docs/TOOLS.md.
License
MIT © Ivan Verevkin
Source: README.md at commit ced7f4c
Tools
0Version history
1- v0.1.1LatestOct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
