Read Bettermode community spaces, members and posts; full-text search across your community.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get a single community member by their `id`. Returns name, username, email, status, creation date, role, and tagline. Bettermode GraphQL query: member.
The member's id.
Get a single community member by their `id`. Returns name, username, email, status, creation date, role, and tagline. Bettermode GraphQL query: member.
| Argument | Type | Description |
|---|---|---|
| id* | string | The member's id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The member's id."
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get a single post by its `id`. Returns title, shortContent, creation date, space, owner (member), and reaction/reply counts. Bettermode GraphQL query: post.
| Argument | Type | Description |
|---|---|---|
| id* | string | The post's id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The post's id."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id | string | The space's id. Provide this OR `slug`. |
| slug | string | The space's URL slug. Provide this OR `id`. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "string",
"description": "The space's id. Provide this OR `slug`."
},
"slug": {
"type": "string",
"description": "The space's URL slug. Provide this OR `id`."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max number of members to return (1..100, default 10). |
| query | string | Filter to members matching this search term (name/username/email). |
| offset | integer | Number of members to skip (offset-based pagination). |
| orderBy | string | Order field (e.g. "createdAt", "name"). |
| reverse | boolean | Reverse the sort order. |
| roleIds | array | Filter to members holding any of these role ids. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Max number of members to return (1..100, default 10)."
},
"query": {
"type": "string",
"description": "Filter to members matching this search term (name/username/email)."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Number of members to skip (offset-based pagination)."
},
"orderBy": {
"type": "string",
"description": "Order field (e.g. \"createdAt\", \"name\")."
},
"reverse": {
"type": "boolean",
"description": "Reverse the sort order."
},
"roleIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter to members holding any of these role ids."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max number of posts to return (1..100, default 10). |
| offset | integer | Number of posts to skip (offset-based pagination). |
| orderBy | string | Order field, passed through as a plain string (e.g. "createdAt", "publishedAt"). |
| reverse | boolean | Reverse the sort order. |
| spaceIds | array | Restrict to posts in these space ids. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Max number of posts to return (1..100, default 10)."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Number of posts to skip (offset-based pagination)."
},
"orderBy": {
"type": "string",
"description": "Order field, passed through as a plain string (e.g. \"createdAt\", \"publishedAt\")."
},
"reverse": {
"type": "boolean",
"description": "Reverse the sort order."
},
"spaceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to posts in these space ids."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max number of spaces to return (1..100, default 10). |
| query | string | Filter to spaces matching this name/search term. |
| offset | integer | Number of spaces to skip (offset-based pagination). |
| orderBy | string | Order field — a SpaceListOrderByEnum value (e.g. "createdAt", "name"). |
| reverse | boolean | Reverse the sort order. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Max number of spaces to return (1..100, default 10)."
},
"query": {
"type": "string",
"description": "Filter to spaces matching this name/search term."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Number of spaces to skip (offset-based pagination)."
},
"orderBy": {
"type": "string",
"description": "Order field — a SpaceListOrderByEnum value (e.g. \"createdAt\", \"name\")."
},
"reverse": {
"type": "boolean",
"description": "Reverse the sort order."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Client-side cap on the number of hits per entity group (the SearchInput type has no server-side limit field). |
| query* | string | The search term. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Client-side cap on the number of hits per entity group (the SearchInput type has no server-side limit field)."
},
"query": {
"type": "string",
"description": "The search term."
}
}
}