Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read-only FreeStyle Libre CGM glucose readings, graphs and logbook via LibreLinkUp
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
LIBRELINKUP_EMAIL, LIBRELINKUP_PASSWORD, LIBRELINKUP_REGIONValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"freestyle-libre": {
"command": "uvx",
"args": [
"freestyle-libre-mcp"
],
"env": {
"LIBRELINKUP_EMAIL": "your-value",
"LIBRELINKUP_PASSWORD": "your-value",
"LIBRELINKUP_REGION": "your-value"
}
}
}
}Run this in your terminal
claude mcp add freestyle-libre --env LIBRELINKUP_EMAIL=your-value --env LIBRELINKUP_PASSWORD=your-value --env LIBRELINKUP_REGION=your-value -- uvx freestyle-libre-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"freestyle-libre": {
"command": "uvx",
"args": [
"freestyle-libre-mcp"
],
"env": {
"LIBRELINKUP_EMAIL": "your-value",
"LIBRELINKUP_PASSWORD": "your-value",
"LIBRELINKUP_REGION": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"freestyle-libre": {
"type": "stdio",
"command": "uvx",
"args": [
"freestyle-libre-mcp"
],
"env": {
"LIBRELINKUP_EMAIL": "your-value",
"LIBRELINKUP_PASSWORD": "your-value",
"LIBRELINKUP_REGION": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
LIBRELINKUP_REGION envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account osjayaprakash, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: LIBRELINKUP_EMAIL, LIBRELINKUP_PASSWORD
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 42 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv), Docker on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Hunter Killer
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Liquidation walls, snapshot age, evidence labels and a public record. Managed OAuth.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server that gives Claude (or any MCP client) read-only access to FreeStyle Libre CGM glucose readings shared through LibreLinkUp. It talks to the LibreLinkUp API with its own small async client (librelinkup_mcp.core); the API behaviour it relies on follows pylibrelinkup.
| Tool | Returns |
|---|---|
list_patients | People the LibreLinkUp account follows |
get_current_glucose | Latest reading with trend arrow |
get_glucose_graph | Readings from about the last 12 hours, oldest first |
get_glucose_logbook | Logged events from about the last 2 weeks, oldest first |
Every reading tool takes an optional patient: a name ("Ann Lee", "ann") or a patient_id from list_patients. It can be omitted when the account follows one person.
Readings include value in the account's unit, value_mg_dl, unit, timestamp (the sensor's local time), timestamp_utc, and is_high/is_low flags. The current reading also has age_minutes, since LibreLinkUp returns the last known value when the sensor or phone is out of range.
For a step-by-step guide, including account setup and troubleshooting, see the installation guide. Full documentation is at https://freestyle-libre-mcp.readthedocs.io.
You need a LibreLinkUp follower account: invite it from the LibreLink app, accept the invite in the LibreLinkUp app, and accept any terms there before using this server.
git clone https://github.com/osjayaprakash/freestyle-libre-mcp.git && cd freestyle-libre-mcp
uv sync
| Variable | Required | Default | Meaning |
|---|---|---|---|
LIBRELINKUP_EMAIL | yes | Follower account email | |
LIBRELINKUP_PASSWORD | yes | Follower account password | |
LIBRELINKUP_REGION | no | US | One of US, EU, EU2, AE, AP, AU, CA, DE, FR, JP, LA, RU |
If the region is wrong, the first tool call tells you which one to set.
No clone needed; uv fetches and runs the published package:
uvx freestyle-libre-mcp
In a client config, use "command": "uvx", "args": ["freestyle-libre-mcp"].
The server speaks MCP over stdio, so keep -i:
docker run -i --rm \
-e LIBRELINKUP_EMAIL -e LIBRELINKUP_PASSWORD -e LIBRELINKUP_REGION \ ghcr.io/osjayaprakash/freestyle-libre-mcp:latest
In a client config, use "command": "docker" with those arguments, and pass the variables through the client's env block.
Add to claude_desktop_config.json:
{
"mcpServers": { "librelinkup": { "command": "uv", "args": ["--directory", "/absolute/path/to/freestyle-libre-mcp", "run", "freestyle-libre-mcp"], "env": { "LIBRELINKUP_EMAIL": "you@example.com", "LIBRELINKUP_PASSWORD": "your-password", "LIBRELINKUP_REGION": "US" } } } }
claude mcp add librelinkup \
-e LIBRELINKUP_EMAIL=you@example.com \ -e LIBRELINKUP_PASSWORD=your-password \ -e LIBRELINKUP_REGION=US \ -- uv --directory /absolute/path/to/freestyle-libre-mcp run freestyle-libre-mcp
Each tool call becomes a Langfuse trace, with a child span for the LibreLinkUp API call. Install the extra and set the keys:
uv sync --extra langfuse
In the server command, use run --extra langfuse freestyle-libre-mcp instead of run freestyle-libre-mcp.
| Variable | Meaning |
|---|---|
LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY | Tracing is on only when both are set |
LANGFUSE_BASE_URL | Langfuse URL for self-hosted or regional instances (default: Langfuse Cloud) |
LANGFUSE_CAPTURE_DATA | true to include tool inputs, outputs and error messages. Default false |
Privacy: glucose readings and patient names are health data. By default, traces hold only tool names, timings, patient UUIDs, and error class names. Setting LANGFUSE_CAPTURE_DATA=true sends readings and names to your Langfuse instance; only do that with an instance you trust, such as a self-hosted one.
uv sync
uv run pytest # offline suite uv run pytest -m live # hits the real API; needs LIBRELINKUP_EMAIL/PASSWORD uv run ruff check src tests && uv run ruff format --check src tests