Back to Browse

Remind MCP Server

Developer ToolsLow Risk10.0LocalNew
Free

Read Remind classes, chats and messages, and manage notification settings.

About

Read Remind classes, chats and messages, and manage notification settings.

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (103/104 approved).

9 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

Captured Cookie request header from a signed-in remind.com tab. Optional: the fetchproxy bridge captures it automatically.Required

Environment variable: REMIND_COOKIE

Captured x-csrf-token request header value. Optional; paired with REMIND_COOKIE.Required

Environment variable: REMIND_CSRF_TOKEN

fetchproxy bridge concentrator port (default 37149).Optional

Environment variable: REMIND_WS_PORT

Path to the cached session file. Defaults to MCP_DATA_DIR/HOME under .remind-mcp.Optional

Environment variable: REMIND_SESSION_FILE

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-chrischall-remind-mcp": {
      "env": {
        "REMIND_COOKIE": "your-remind-cookie-here",
        "REMIND_WS_PORT": "your-remind-ws-port-here",
        "REMIND_CSRF_TOKEN": "your-remind-csrf-token-here"
      },
      "args": [
        "-y",
        "@chrischall/remind-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

remind-mcp

MCP server for Remind — read your classes, chats and messages, and manage notification settings.

This project was developed and is maintained by AI. Use at your own discretion.

Remind exposes a single GraphQL endpoint that is reachable server-side, so only the credential needs a browser: the session is lifted once from a signed-in tab through the fetchproxy bridge, and every request after that is a plain server-side fetch.

Install

npx -y @chrischall/remind-mcp
{
  "mcpServers": {
    "remind": { "command": "npx", "args": ["-y", "@chrischall/remind-mcp"] }
  }
}

Authentication

Two headers are captured from a signed-in remind.com tab: the full Cookie header and the x-csrf-token value. Either let the bridge capture them (needs the Transporter Chrome extension and a signed-in tab), or supply them yourself:

VariableRequiredDescription
REMIND_COOKIEnoCaptured Cookie request header. Skips the bridge when set with the next one.
REMIND_CSRF_TOKENnoCaptured x-csrf-token value.
REMIND_WS_PORTnofetchproxy bridge concentrator port (default 37149).
REMIND_SESSION_FILEnoWhere the captured session is cached. Defaults to $MCP_DATA_DIR/$HOME under .remind-mcp.

The server boots without either, so a host's install-time tools/list probe succeeds; the error surfaces on the first tool call instead.

The browser is needed once. A captured session is cached (mode 0600) and reused across restarts, and every call after the bootstrap is a plain server-side fetch. This matters because the capture completes only while the signed-in tab is actually issuing a /graphql request — so without the cache, a restart would sit waiting unless you happened to be using Remind.

Tools

Tool
remind_meThe signed-in account.
remind_list_entitiesClasses and chats with unread counts — start here, it yields the uuids.
remind_get_classesFull class detail by uuid.
remind_list_chatsConversation streams and their permissions (canSend).
remind_get_messagesMessages in a chat stream.
remind_get_notification_settingsPreferences and delivery devices.
remind_set_notification_devicesEnable/disable delivery devices. Confirm-gated.
remind_send_messageSend to a chat or class. Confirm-gated.
remind_graphqlArbitrary read-only GraphQL; introspection is enabled. Mutations refused.
remind_healthcheckVerify the session still authenticates.

Write tools take confirm: true. Without it they make no network call and return a dry-run preview of the exact payload.

Without the server

skills/remind-fpx/ is a shell-only skill covering the same read surface with fpx + curl — no MCP process required.

Notes

  • An expired session returns HTTP 200 with errors[0].message = "Unauthorized"; the same string also means "your account may not do that" (scheduled messages are owner/teacher-only).
  • An unknown field reports as Internal service error, not a field error — introspect rather than guess. docs/REMIND-API.md is the capture log.

Development

npm install && npm run build && npm test
npm run test:coverage

License

MIT

Reviews

No reviews yet

Be the first to review this server!