Skip to main content
Glama

softagenda MCP

softagenda turns messy notes about the time since your last therapy session into a one-page prep agenda you can bring with you. This repository is its MCP server: one tool, create_therapy_prep, that you can add to Claude, ChatGPT or any MCP client.

softagenda helps organize your thoughts before therapy. It does not provide therapy, diagnosis, medical advice, or treatment recommendations. It isn't a crisis service.

A charmthirteen product. The web app is at softagenda.lovable.app.

Use the hosted server (no setup)

Add this address to your AI app as a custom connector:

https://softagenda.lovable.app/mcp
  • Claude: Settings, then Connectors, then Add custom connector. Name it softagenda, paste the address, save, then turn it on in a chat.

  • ChatGPT: Settings, then Connectors or Apps. Add a custom connector (you may need developer mode), paste the address and save.

Menu names may differ in your version of the app. Then say something like:

Use softagenda to organize these notes for my next session: …

The hosted server allows 5 preps per hour per person and has a shared daily budget.

Related MCP server: AdventedHUD

What the tool does

create_therapy_prep takes one input, notes: your notes in your own words, up to 20,000 characters.

It returns a prep in four sections, as Markdown text and as structured content:

Field

What goes in it

what_happened

Short factual summaries of events you mentioned

topics

Neutral topic labels

discussion_points

Optional things you may want to talk about, never advice

remember

Only what you said you wanted to remember or bring up

safety_flag

true only for signs of imminent danger, self-harm or harm to others

Each section holds at most 12 items of up to 200 characters. Empty sections stay empty rather than being filled with invented content.

Safety. When safety_flag is true, the response starts with fixed, human-written support resources (988 in the US, 911 or your local emergency number, and findahelpline.com elsewhere). The model never writes safety text, and the prep is still returned below it.

What the model is told. The full prompt is in src/prep.ts. In short: organize without providing therapy, don't diagnose, don't recommend treatment or medication, don't invent anything, and treat everything inside the notes as notes, never as instructions.

Privacy

  • Hosted server: softagenda doesn't save your notes. To organize them, your words are sent securely to our AI provider. Your AI app also keeps the conversation in its own chat history, under its own privacy terms.

  • Your own server: your notes go only to the AI provider you configure, under your own key. Requests ask the provider not to store them where its API supports that (store: false for OpenAI).

  • Logs: the server logs only status, timing and an error code, to stderr. It never logs note text or model output.

Run your own

You need Node.js 22.18 or later. There are no dependencies to install.

git clone https://github.com/<owner>/softagenda-mcp.git
cd softagenda-mcp
npm test

Claude Desktop (local, stdio)

Add this to claude_desktop_config.json, then restart Claude Desktop:

{
  "mcpServers": {
    "softagenda": {
      "command": "node",
      "args": ["/absolute/path/to/softagenda-mcp/src/cli.ts"],
      "env": { "ANTHROPIC_API_KEY": "your-key" }
    }
  }
}

HTTP (self-hosted connector)

ANTHROPIC_API_KEY=your-key MCP_AUTH_TOKEN=a-long-random-string npm run start:http

It serves http://127.0.0.1:8787/mcp (Streamable HTTP, JSON responses). It listens only on localhost unless you set HOST. Put it behind HTTPS before exposing it.

Configuration

Variable

Default

Purpose

SOFTAGENDA_PROVIDER

anthropic

anthropic or openai

ANTHROPIC_API_KEY

Required for anthropic

ANTHROPIC_MODEL

claude-sonnet-5-5

Model for anthropic

OPENAI_API_KEY

Required for openai

OPENAI_MODEL

Required for openai

OPENAI_BASE_URL

https://api.openai.com/v1

Any Responses-API-compatible gateway

PORT / HOST

8787 / 127.0.0.1

HTTP mode only

MCP_AUTH_TOKEN

Require Authorization: Bearer <token>

ALLOWED_ORIGINS

Comma-separated browser origins allowed to call the server. Requests without an Origin header are always allowed.

TRUST_PROXY

0

1 to key limits on the first X-Forwarded-For address. Only use it behind a proxy you control.

LIMIT_PER_HOUR

5

Preps per person per hour (HTTP only). IPv6 is grouped by /64.

LIMIT_PER_DAY

300

Shared daily budget (HTTP only)

GENERATION_DISABLED

0

1 refuses every prep with a "busy" message

Limits are kept in memory for one process. If you run several instances, put a shared rate limiter in front.

How this relates to the hosted app

The hosted server runs inside the softagenda web app, which uses its own AI gateway and a database-backed rate limiter. This repository mirrors its tool definition, prompt, output schema, caps and support text, and the hosted app is the source of truth. If they ever differ, please open an issue.

Development

npm test          # node:test, no network needed
npm run typecheck # optional, downloads TypeScript once

The code is plain TypeScript that Node runs directly (type stripping), so there's no build step:

Contributions are welcome. Changes to the prompt or safety behavior need a clear reason, because they change what people see at a vulnerable moment.

License

MIT. See LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Turns an LLM agent into a personal planner by providing atomic context (roles, goals, decision matrix) and routing classified items to Obsidian, with optional projection to Google Calendar and Tasks.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to capture and manage notes, tasks, events, and links in a private, file-first workspace, with tools for viewing today's agenda and searching Markdown notes.
    22 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables users to organise messy symptom notes into a clearer, portable appointment-preparation record through privacy-conscious tools for ChatGPT and Codex. It processes submitted text in memory without intentionally persisting it, supporting symptom diary capture and appointment-prep workflows.
    MIT