usefulapi

Bettermode MCP server. Read Bettermode community spaces, members and posts; full-text search across your community.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://bettermode.usefulapi.io/mcp
  3. Authenticate with Bettermode when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "bettermode": {
      "url": "https://bettermode.usefulapi.io/mcp"
    }
  }
}
live10 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 10

ToolTypeWhat it does
bettermode_get_networkread
Get network
Get top-level info about the Bettermode community ("network") this token belongs to — id, name, primary domain/subdomain, status, creation date, and total member count. No arguments. Bettermode GraphQL query: network.
bettermode_list_spacesread
List spaces
List spaces (the containers for posts — e.g. discussions, Q&A, articles) in the community, with pagination. Optionally filter by name (`query`), order (`orderBy`, a SpaceListOrderByEnum value), and reverse the order. Returns edges[].node plus pageInfo and totalCount. Bettermode GraphQL query: spaces.
bettermode_get_spaceread
Get space
Get a single space by its `id` OR its `slug` (provide exactly one). Returns the space's name, slug, description, type, creation date, and member/post counts. Bettermode GraphQL query: space.
bettermode_list_membersread
List members
List members of the community, with pagination. Optionally filter by a search term (`query`, matches name/username/email), by role (`roleIds`), order (`orderBy`), and reverse. Returns edges[].node (with role) plus pageInfo and totalCount. Bettermode GraphQL query: members.
bettermode_get_memberread
Get member
Get a single community member by their `id`. Returns name, username, email, status, creation date, role, and tagline. Bettermode GraphQL query: member.
bettermode_list_postsread
List posts
List posts across the community, with pagination. Optionally scope to one or more spaces (`spaceIds`), order (`orderBy`, passed through as a plain string), and reverse. Returns edges[].node (title, shortContent, space, owner) plus pageInfo and totalCount. Bettermode GraphQL query: posts.
bettermode_get_postread
Get post
Get a single post by its `id`. Returns title, shortContent, creation date, space, owner (member), and reaction/reply counts. Bettermode GraphQL query: post.
bettermode_searchread
Search
Full-text search across the community (members, spaces, posts, …). Provide a `query` term; results come back grouped by entity type, each hit with id, title, subtitle, content, url, and entityId. Bettermode GraphQL query: search.
bettermode_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
bettermode_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED Bettermode tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper user$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.