agentCLAWHUBUnverified

remind-mcp

Read Remind (remind.com) — classes, chats, messages, notification settings — from a shell. Captures the signed-in session once through the fpx browser bridge, then queries Remind's GraphQL API with plain curl. Use for Remind data without running the remind-mcp server, in a script, or one-shot. Skill: remind-mcp Owner: chrischall Summary: Read Remind (remind.com) — classes, chats, messages, notification settings — from a shell. Captures the signed-in session once through the fpx browser bridge, then queries Remind's GraphQL API with plain curl. Use for Remind data without running the remind-mcp server, in a script, or one-shot. Tags: latest:1.2.6 Version history: v1.2.6 | 2026-10-09T23:28:57.572Z | auto - R

OpenClaw

Rank

62

Safety

84

Downloads

1.2k

Updated

Oct 10, 2026

Version

1.2.6

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.2K downloadsadoption · observed Oct 10, 2026
Latest release
1.2.6release · observed Oct 9, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:remind-mcp
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-remind-mcp/snapshot"

Documentation

CLAWHUB

128,060 characters of source documentation, loaded on request.

Extracted files

4 files captured from the source.

SKILL.md

---
name: remind-fpx
description: Read Remind (remind.com) — classes, chats, messages, notification settings — from a shell. Captures the signed-in session once through the fpx browser bridge, then queries Remind's GraphQL API with plain curl. Use for Remind data without running the remind-mcp server, in a script, or one-shot.
---

# Remind from the shell

Remind's web app talks to a single **GraphQL endpoint**, `POST https://www.remind.com/graphql`.
That endpoint is reachable server-side — no bot wall — so only the *credential* needs the
browser. Capture it once with `fpx`, then use `curl` for everything.

**Introspection is enabled**, so the schema is self-documenting: you can discover any field
without guessing (and you should — see the validation-error gotcha below).

## Auth model

Two headers, both lifted from a signed-in tab:

| Header | What it is |
|---|---|
| `cookie` | The full Cookie request header (includes HttpOnly session cookies) |
| `x-csrf-token` | Value of the JS-readable `csrf_token` cookie |

Both are required. Only `x-csrf-token` works — `x-xsrf-token` and `csrf-token` are rejected.
A named cookie read (`fpx cookies csrf_token`) returns `{}` on this site, so **header capture
is the only route**.

## One-time setup

Install `@fetchproxy/cli` (`npm i -g @fetchproxy/cli`) and the **ContextMint Bridge**
browser extension from https://github.com/nullnet-app/contextmint-bridge/releases (Chrome: load
the Chrome zip unpacked; Safari isn't available yet, so use Chrome for now).
It's the fetchproxy extension under its new name, same maintainer; source is public there — build it or verify the zip with `shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256`.

Declare the full scope **before** the first pairing — widening it later forces a re-pair:

```bash
fpx profile add remind --domain remind.com
fpx profile declare remind \
  --capture-header [email protected] \
  --capture-header [email protected]
```

Then capture. The capture waits for the *next* request the page makes, so **load a Remind page
while it waits**:

```bash
fpx session -p remind > ~/.remind-fpx-session.json &   # approve the pair code in ContextMint Bridge
open "https://www.remind.com/"                          # feeds the capture
wait
chmod 600 ~/.remind-fpx-session.json
```

> Use a session file of your own like this one. Do **not** write into `~/.remind-mcp/` — that is
> the MCP server's store, with a different schema; overwriting it corrupts its session.

## The call pattern

```bash
rq() {  # rq '<query>' ['<variables json>']
  local S=~/.remind-fpx-session.json
  local body; body=$(Q="$1" V="${2:-{\}}" node -e '
    process.stdout.write(JSON.stringify({query:process.env.Q,variables:JSON.parse(process.env.V)}))')
  curl -s -X POST https://www.remind.com/graphql \
    -H 'content-type: application/json' \
    -H "cookie: $(node -e 'console.log(require(process.argv[1]).capturedHeaders.cookie)' "$S")" \
    -H "x-csrf-token: $(node -e 'consol

_meta.json

{
  "ownerId": "kn700jq4sjtf2anb0rk3ft4p7n856872",
  "slug": "remind-mcp",
  "version": "1.2.6",
  "publishedAt": 1791588537572
}

references/graphql-queries.md

# Remind GraphQL — ready-to-run documents

Every query below was executed against the live API. Field selections come from introspection;
Remind reports an unknown field as `Internal service error` / `GRAPHQL_VALIDATION_FAILED`, so
edit them only alongside a re-run.

All examples assume the `rq` helper from `SKILL.md`.

---

## Start here — what's in the account

`navigationList` is the sidebar, and the source of every uuid you need.

```bash
rq '{ navigationList { cursor items { __typename
  ... on TextHeader { text }
  ... on NavigationListEntityItem { type uuid title subtitle isRostered unreadsCount } } } }'
```

Just the classes and chats, one per line:

```bash
rq '{ navigationList { items { __typename
  ... on NavigationListEntityItem { type uuid title unreadsCount } } } }' \
| jq -r '.data.navigationList.items[]
         | select(.__typename=="NavigationListEntityItem")
         | "\(.type)\t\(.unreadsCount // 0)\t\(.uuid)\t\(.title)"'
```

Page with `cursor`: pass it back as `lastCursor`.

```bash
rq 'query($c:String){ navigationList(lastCursor:$c){ cursor items { __typename } } }' '{"c":"<cursor>"}'
```

## Account

```bash
rq '{ me { uuid id first_name last_name display_name email locale is_admin is_child created_at sign_in_count } }' \
| jq .data.me
```

## Classes

```bash
rq 'query($u:[String!]){ classes(uuids:$u){
  uuid id code name displayName type
  messagesCount unreadMessagesCount subscribersCount membershipsCount ownersCount
  createdAt archivedAt messageHistoryEnabled isMember joinUrl
  subscriberInitiatedChats canEditInfo canAddOwners } }' \
  '{"u":["<class-uuid>"]}' | jq '.data.classes[]'
```

Class members (paginate with `page`/`perPage`):

```bash
rq 'query($u:[String!]){ classes(uuids:$u){ members(perPage:50){ __typename } } }' '{"u":["<class-uuid>"]}'
```

> Introspect `ClassMembership` before selecting fields:
> `rq '{ __type(name:"ClassMembership"){ fields { name } } }' | jq -r '.data.__type.fields[].name'`

## Chats

List every conversation, with the permission that decides whether you can reply:

```bash
rq '{ chatStreams { uuid title properTitle streamType type state hidden
  unreadMessagesCount membershipsCount updatedAt
  permissions { canSend canAdd canClose canLeave canPhone } } }' \
| jq -r '.data.chatStreams[] | "\(.updatedAt)\t\(.unreadMessagesCount)\t\(.uuid)\t\(.title)"'
```

Filter to one class (numeric `id` from `classes`, not the uuid) or search by name:

```bash
rq 'query($g:Int,$q:String){ chatStreams(groupId:$g, chatQuery:$q){ uuid title } }' '{"g":47615786,"q":null}'
```

## Messages

```bash
rq 'query($u:[String!],$n:Int){ chatStreams(chatUuids:$u){
  uuid title unreadMessagesCount
  sequenceItems(nonGapMessagesLimit:$n){ seq key item { __typename
    ... on MessageItem { uuid body type createdAt sentAt urgent publicUrl
                         sender { uuid name } files { __typename } }
    ... on SystemMessageItem { uuid body createdAt }
    ... on GapItem { uuid size } } } } }' \
  '{"u":["<cha

skill-card.md

## Description:

Guides agents to read Remind classes, chats, messages, and notification settings using a captured account session and shell commands.

This skill is ready for commercial/non-commercial use.

## Publisher:

[chrischall](https://clawhub.ai/user/chrischall)

### License/Terms of Use:

MIT-0

## Use Case:

Remind account holders and developers use this skill to inspect their classes, conversations, messages, and notification settings from a shell without running the Remind MCP server.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: A saved login session can grant continued access to a Remind account.

Mitigation: Use only an account you control; protect the session file and delete it when finished.

Risk: Mutation examples can change account settings or send messages to real people.

Mitigation: Avoid mutation examples unless you explicitly intend those changes; check permissions and recipients before sending.

## Reference(s):

- [Remind GraphQL query examples](references/graphql-queries.md)
- [ContextMint Bridge releases](https://github.com/nullnet-app/contextmint-bridge/releases)
- [ClawHub skill release](https://clawhub.ai/chrischall/skills/remind-mcp)

## Skill Output:

**Output Type(s):** [Shell commands, Guidance]

**Output Format:** [Markdown with shell commands and JSON query examples]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [Queries return account data as JSON; examples include jq filters.]

## Skill Version(s):

1.2.6 (source: ClawHub release metadata)

## Ethical Considerations:

Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
Github ReposUpdated 1d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/chrischall/skills/remind-mcp",
      "sourceUrl": "https://clawhub.ai/chrischall/skills/remind-mcp",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T23:11:49.620Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-remind-mcp/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-remind-mcp/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T23:11:49.620Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.2K downloads",
      "href": "https://clawhub.ai/chrischall/remind-mcp",
      "sourceUrl": "https://clawhub.ai/chrischall/remind-mcp",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T23:11:49.620Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.2.6",
      "href": "https://clawhub.ai/chrischall/remind-mcp",
      "sourceUrl": "https://clawhub.ai/chrischall/remind-mcp",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-10-09T23:28:57.572Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-remind-mcp/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-remind-mcp/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.2.6",
      "description": "- Removed the skill card file (skill-card.md). - No changes to functionality or documentation; internal or metadata-only update.",
      "href": "https://clawhub.ai/chrischall/remind-mcp",
      "sourceUrl": "https://clawhub.ai/chrischall/remind-mcp",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-10-09T23:28:57.572Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 11, 2026.

Sponsored

Ads related to remind-mcp and adjacent AI workflows.