A remote Model Context Protocol server for SwitchX social primitives (communities, channels, groups, and messages). Provides user-scoped tools for AI agents to interact with SwitchX communities.
SwitchX MCP has 18 tools with consistent naming (verb_noun pattern) and basic descriptions, but critical gaps undermine quality. Most parameters lack descriptions entirely (null values throughout schemas). Input schemas are present but incomplete, many parameters have no type constraints or descriptions. Output schemas are undocumented. Error handling is minimal. The server exposes user tokens in initialization and lacks permission gates on destructive operations (delete_channel, delete_group, delete_messages). Tool descriptions are generic and do not explain when to use each tool vs. similar ones (e.g., switchx_get_channel_chat_history vs switchx_get_group_chat_history). No pagination guidance in list tools despite accepting limit/offset. Composition is reasonable (one action per tool), but parameter naming inconsistencies (community_id vs username in get_community) and missing field descriptions force LLMs to guess.
Create a channel in a community.
Create a new SwitchX community/social world and initialize creator admin access using the React Native app flow.
Create a group in a community.
Delete a channel.
Delete a group.
Delete one or more messages.
Edit a message.
Parameter descriptions are null or missing across all 18 tools. Schemas define types but lack descriptions explaining what each parameter controls, expected format, or constraints. LLMs cannot infer parameter meaning from names alone.
No output schemas documented. Tool descriptions do not explain what fields are returned, their types, or how to chain results to downstream tools. Agents cannot plan multi-step workflows without guessing response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Get channel chat history.
Get a SwitchX community by community_id or username.
Get group chat history.
Get a message by ID.
List channels in a community.
List or search communities. Uses Swagger-confirmed community find/all endpoints.
List groups in a community.
Send a message to a channel, group, or DM.
Update a channel.
Update a community profile and metadata.
Update a group.
Destructive tools (delete_channel, delete_group, delete_messages) lack confirmation or dry-run support. No permission gates or audit logging visible. Agents can delete resources without safeguards.
User token passed as parameter to createSwitchXMcpServer() and extracted via getUserIdFromJwt(). Tokens should never be exposed in tool parameters or logs. Use server-side secret injection via environment variables.
List tools (switchx_list_communities, switchx_list_channels, switchx_list_groups) accept limit/offset but descriptions do not explain pagination behavior, default limits, or result caps. No guidance on when to paginate or how many results to expect.