CareLoop-AIBLOCK
The foundation flow accepts a doctor's note, uses a Gemini tool-calling agent to save each actionable item as a card in Postgres, and displays all saved cards in the frontend.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
From a clinical note to care that keeps moving.
CareLoop is a healthcare workflow proof of concept that turns a clinician's visit note into a shared, trackable plan. It helps care teams make follow-up work visible, gives patients clearer next steps, and records when a planned action is supported by evidence that it happened.
A separate, scroll-driven promotional experience is available at CareLoop: Care that keeps moving.
The operational challenge
A visit can create several follow-up actions: a test to arrange, a medication to start, a referral to book, and another visit to schedule. Those actions happen after the conversation, across different people and over time. When they live only in prose or memory, it is difficult to see what is due, what is blocked, and what has actually been completed.
CareLoop explores a closed-loop workflow: turn the plan into explicit actions, keep the actions connected, and update their status when follow-up evidence arrives.
How the workflow works
- Capture the plan. A clinician pastes a visit note into the application.
- Structure the next steps. An AI agent identifies actionable items and saves typed care cards with descriptions and due dates where available.
- Coordinate follow-through. Patients see their own plain-language cards and reminders, read-only. Care coordinators pick any patient and add the update notes that keep a plan current; clinicians review the broader plan, dependencies, overdue work, and at-risk steps.
- Close with evidence. A follow-up note can confirm a completed action and close the matching card as verified. Dependent work is re-evaluated when its blocker changes.
Busine
17432f6b01d9OBSERVED · 2026-10-13Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add careloop-mcp --env CARELOOP_PASSWORD=${CARELOOP_PASSWORD} --env GEMINI_API_KEY=${GEMINI_API_KEY} -- uvx careloop-mcp{
"mcpServers": {
"careloop-mcp": {
"command": "uvx",
"args": [
"careloop-mcp"
],
"env": {
"CARELOOP_PASSWORD": "${CARELOOP_PASSWORD}",
"GEMINI_API_KEY": "${GEMINI_API_KEY}"
}
}
}
}Exposed tools (6)
6 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
careloop_close_card | read | Close a card as verified done because external evidence exists. |
careloop_flag_card_risk | read | Flag a card at risk with a reason (signals from an external system). |
careloop_get_card | read | Get one card with its dependency links and risk reason. |
careloop_list_cards | read | List care-plan cards (commitments) with status, risk, and due dates. |
careloop_list_notes | read | List recent doctor notes (the source documents cards are created from). |
careloop_list_patients | read | List every CareLoop patient (id and name). |
Trust audit
BLOCKgrade F · trust 53/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | WARN |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (14 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
/.env" ... curl
sqlalchemy.url = postgresql://careloop:careloop@localhost:5432/careloop
DATABASE_URL=postgresql://careloop:careloop@localhost:5432/careloop
CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173
cors_origins: str = "http://localhost:5173,http://127.0.0.1:5173"
'/api': 'http://127.0.0.1:8000',
These rules override your training data. Your knowledge is outdated.
sitemap.xml.gz
.nojekyll
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not pr!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not pr!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not pr!function(e,s){"function"==typeof define&&define.amd?define(s):"object"==typeof exports?module.exports=s():s()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not pr!function(i,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(i.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not pr- The browser only talks to the Vite dev server. Vite forwards every `/api/...` request to the backend at `http://127.0.0.1:8000` (configured in `Frontend/vite.config.ts`). The browser never makes a c
CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173
src: url(data:font/woff2;base64,d09GMgABAAAAAAaAABIAAAAADMwAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVIEgJx4AdC9MEQgKhGSEAAsgADCDOgE2AiQDOgQgBYdGB4EUGw8LIxEmZHIexT8PYyJTH6s540K0vrtCWaIRpUzR
src: url(data:font/woff2;base64,d09GMgABAAAAACK8ABIAAAAARmAAACJTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoE1G4JgHIFaBmA/U1RBVIEgJx4AgkwvTBEICrporgMLggoAMKw6ATYCJAOEBAQgBYdGB4kHG7Q9RQdy2DiAAS7vZkS1alhU/18T1Iqx
src: url(data:font/woff2;base64,d09GMgABAAAAABqQABIAAAAANggAABopAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnwbHhyBWgZgP1NUQVSBICceAIFiL0wRCAqrfKMTC4FmADCgXAE2AiQDg0QEIAWHRgeHQRt7L1UHctg4AONHDw/J/98StCEx8OvQuaoS
src: url(data:font/woff2;base64,d09GMgABAAAAABbwABIAAAAAP8wAABaJAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEYG4YcHIIWBmA/U1RBVIEgJx4AgwQvTBEICrBAp3ILgjgAMKEmATYCJAOEKAQgBYdGB4xOGw05JeOYFbBxAJizfwap/v9LAidj5+rg
src: url(data:font/woff2;base64,d09GMgABAAAAAC1MABIAAAAAdAQAACzjAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJLG4ouHIM+BmA/U1RBVIEgJx4AhTovTBEICuBkzjkLhAwAMMVKATYCJAOIEgQgBYdGB5FVG4xnNXjTMeV2EEi463Muilo1Semz//9z
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not pr!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not prreact, react-dom, @eslint/js, @types/node, @types/react, @types/react-dom, @types/three, @vitejs/plugin-react
hyperframes, three
Gates applied: no_behavioural_pass.
17432f6b01d9full audit observations/trust-audit/mcp-server/workatustadarshajay__careloop-ai.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-13 | 17432f6b01d9 | BLOCK | F | 53 | first audit |
Questions
What is the CareLoop-AI MCP server?
The foundation flow accepts a doctor's note, uses a Gemini tool-calling agent to save each actionable item as a card in Postgres, and displays all saved cards in the frontend.
What tools does CareLoop-AI expose?
6 in total: 6 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is CareLoop-AI safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (53/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does CareLoop-AI need?
It reads CARELOOP_PASSWORD and GEMINI_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does CareLoop-AI run?
It speaks streamable-http, so it runs as a service you connect to over the network. It is published on PyPI as careloop-mcp.
How current is this page?
The grade is for one exact copy of the source (17432f6b01d9), read on 2026-10-13. The repository is watched and re-audited when it changes.