Skip to main content
Glama
rongcloud

RongCloud MCP Server

Official
by rongcloud

Ronngcloud MCP Server

License Version Python


🌐 δΈ­ζ–‡η‰ˆ README


πŸ“Œ Project Overview

rongcloud-server-mcp-python is an MCP server built on the FastMCP framework, integrating RongCloud instant messaging services. It supports user management, message sending, group operations, and more.


Related MCP server: lark-mcp

✨ Tools

Tool

Description

register_user

Register a new user via RongCloud and return the user's token

get_user_info

Retrieve user information using RongCloud

send_private_text_message

Sends private messages and returns generated message IDs mapped to each recipient user ID

send_group_text_message

Sends group messages and returns generated message IDs mapped to each target group ID

get_private_messages

Retrieves historical private messages between two users within a specified time range

create_group

Creates a new group chat in RongCloud with specified members

dismiss_group

Permanently deletes a group chat from RongCloud

get_group_members

Retrieves the complete member list of an existing group chat in RongCloud

join_group

Adds one or more users to a specified group chat via RongCloud

quit_group

Removes one or more users from a RongCloud group chat

get_current_time_millis

Get the current time in milliseconds since Unix epoch (January 1, 1970 UTC).


βš™οΈ Configuration

πŸ”§ Environment Variables

Variable Name

Required

Default

Description

RONGCLOUD_APP_KEY

βœ… Yes

-

RongCloud Application App Key

RONGCLOUD_APP_SECRET

βœ… Yes

-

RongCloud Application App Secret

RONGCLOUD_API_BASE

❌ No

https://api-cn.ronghub.com

RongCloud API base URL

RONGCLOUD_API_TIMEOUT

❌ No

10

API request timeout (seconds)

FASTMCP_LOG_LEVEL

❌ No

WARNING

Log level (e.g., DEBUG, INFO)

πŸ§ͺ Example Configuration

RONGCLOUD_APP_KEY=your_app_key
RONGCLOUD_APP_SECRET=your_app_secret
RONGCLOUD_API_BASE=https://api-cn.ronghub.com
RONGCLOUD_API_TIMEOUT=10
FASTMCP_LOG_LEVEL=WARNING

πŸ’» Claude Desktop Configuration

  • Config file paths:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%/Claude/claude_desktop_config.json

  • Example configuration:

{
  "mcpServers": {
    "rongcloud-server-mcp": {
      "command": "uvx",
      "args": [
        "rongcloud-server-mcp-python"
      ],
      "env": {
        "RONGCLOUD_APP_KEY": "your_app_key",
        "RONGCLOUD_APP_SECRET": "your_app_secret",
        "RONGCLOUD_API_BASE": "https://api-cn.ronghub.com",
        "RONGCLOUD_API_TIMEOUT": "10"
      }
    }
  }
}

πŸ§‘β€πŸ’» Development Guide

πŸš€ Quick Start

  1. Clone the repository and enter the project directory:

    git clone https://github.com/your-username/rcloud-server-mcp-python.git
    cd rcloud-server-mcp-python
  2. Copy example environment file and edit variables:

    cp .env.example .env

    Edit .env file to set:

    RONGCLOUD_APP_KEY=your_app_key
    RONGCLOUD_APP_SECRET=your_app_secret
    RONGCLOUD_API_BASE=https://api-cn.ronghub.com
    FASTMCP_LOG_LEVEL=INFO
  3. Create virtual environment, install dependencies, and start development server:

    make venv
    make sync
    make install
    make dev

πŸ’‘ Run make help to see all available commands.


βœ… Running Tests

make test     # Run all tests
make lint     # Check code style and quality
make fix      # Auto-fix formatting issues

🀝 Contribution Guide

Contributions are welcome! Please follow these steps:

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/YourFeature

  3. Commit your changes: git commit -m 'Add YourFeature'

  4. Push the branch: git push origin feature/YourFeature

  5. Open a Pull Request

Please ensure the following before submitting:

  • No errors with make lint

  • All tests pass with make test

  • Code is properly formatted with make format


πŸ“„ License

This project is licensed under the MIT License.

Available Tools

11 tools
create_groupB

Creates a new group chat in RongCloud with specified members.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idsYesList of user IDs to join the group, max 1000 users.
group_idYesGroup ID, max length 64 characters. Supports letters and numbers.
group_nameYesGroup name, max length 128 characters.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It only says 'Creates a new group chat' without disclosing important behavioral traits such as whether group_id must be unique, what happens if the group already exists, permission requirements, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that communicates the core purpose efficiently. It is well-structured and easy to read, though it could be slightly more detailed without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description covers the basic action but misses contextual details like return values, error handling, or how the group creation result can be accessed. The presence of sibling tools like get_group_members partially mitigates this, but the description remains slightly incomplete for a creation operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all three parameters (user_ids, group_id, group_name), each with clear constraints and descriptions. The tool description adds no additional meaning beyond what is already in the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Creates a new group chat in RongCloud with specified members.' This is a specific verb (creates) + resource (group chat) and includes the platform name, distinguishing it from sibling tools like dismiss_group, join_group, or quit_group which perform different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. For example, it does not differentiate between creating a new group and joining an existing one, nor does it mention prerequisites or scenarios where this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dismiss_groupB

Permanently deletes a group chat from RongCloud.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesOperator's user ID.
group_idYesGroup ID

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

States 'Permanently deletes' indicating irreversibility, but lacks details on side effects (e.g., member removal, message deletion) or required permissions. With no annotations, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence that includes key behavioral info ('Permanently') without fluff. Could be slightly improved by front-loading action verb.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks mention of return value or confirmation of deletion. For a destructive operation with no output schema, more context on outcomes or error handling is expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and parameters have descriptions. Tool description does not add meaning beyond schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'deletes' and resource 'group chat' with platform 'RongCloud'. Clearly distinguishes from sibling tools like quit_group (leaving vs deleting) and create_group.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., quit_group). Does not specify prerequisites like authorization or ownership.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_current_time_millisA

Get the current time in milliseconds since Unix epoch (January 1, 1970 UTC).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, but the description correctly implies a read-only, non-destructive operation. However, it does not specify if the time is from server or client, or if caching occurs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no unnecessary words, clearly conveying purpose and format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should ideally specify return type. It implies a number but could be more explicit about the exact format (e.g., integer).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; schema covers 100%. Description adds no parameter info, but baseline for 0 parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'get' and the specific resource 'current time in milliseconds since Unix epoch', which is unique among sibling tools focused on groups, users, and messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool or alternatives, but given its unique and simple purpose among siblings, the context implies it is for timestamp retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_group_membersA

Retrieves the complete member list of an existing group chat in RongCloud.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesGroup ID

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It states 'retrieves' indicating a read-only operation, but does not disclose error behavior for invalid group_id, permission requirements, or any side effects. This is minimally adequate for a simple query.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It front-loads the verb and clearly communicates the tool's purpose and scope in an efficient manner.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 required param, no output schema), the description covers the basic functionality but omits what the return value looks like (e.g., an array of user objects or IDs). This could be improved for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'group_id', which is described as 'Group ID'. The description adds no additional meaning or context beyond the schema, so it meets the baseline for high coverage without extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Retrieves' and noun 'complete member list of an existing group chat', clearly stating the tool's function. It distinguishes from sibling tools like create_group, dismiss_group, and others that perform different actions on groups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (retrieving members of an existing group) but provides no explicit when-to-use or when-not-to-use guidance relative to alternatives like get_user_info or get_private_messages. Usage is inferred from the tool's name and function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_private_messagesA

Retrieves historical private messages between two users within a specified time range.The time range is defined by startTime (newest) and endTime (oldest),with endTime must be earlier than startTime.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesID of the user whose messages are being queried
target_idYesID of the other user in the private conversation
end_timeNoEnd timestamp in milliseconds (default: 24 hours before end time)
start_timeNoStart timestamp in milliseconds (must be later than endTime, default: current time)
page_sizeNoNumber of messages per page (default: 50, max: 100)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose all behavioral traits. It mentions time range semantics but omits pagination, ordering, rate limits, or any side effects. This is insufficient for a retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, with no unnecessary information. Minor awkward phrasing ('with endTime must be earlier than startTime') does not detract significantly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not explain the return format, pagination (page_size parameter exists), or ordering. This leaves an agent without enough context for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by clarifying the relationship between start_time and end_time (start is newest, end is oldest) and that both users are specified, reducing confusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves historical private messages between two users within a time range, using a specific verb and resource. It distinguishes from sibling tools, which are group-related or message sending.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied for viewing message history, but no explicit guidance on when to use or when not, nor alternatives are mentioned. The context of sibling tools makes it relatively clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_infoC

Retrieve user information using RongCloud.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesUser ID defined by the app.

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but discloses no behavioral traits (e.g., auth requirements, rate limits, scope of returned data). It barely adds beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. However, it is too brief and could include more context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain what user information is returned. It does not, leaving agents uncertain about the response structure. For a 1-param tool, it is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds no additional meaning to the parameter beyond the schema's 'User ID defined by the app.' Baseline 3 applies because schema already documents the param.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Retrieve user information using RongCloud,' clearly identifying the action (retrieve) and resource (user information). It distinguishes from sibling tools which are group/message related, though not explicitly differentiating from register_user.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like register_user, nor any conditions or exceptions. The description lacks context for appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

join_groupB

Adds one or more users to a specified group chat via RongCloud.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idsYesUser IDs to add to the group. Up to 1000 users.
group_idYesGroup ID
group_nameNoGroup name

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only states the action (adds) without mentioning side effects, permissions required, or error conditions. The platform mention is weak behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Efficient single sentence with clear structure. It could be slightly more informative without sacrificing conciseness, but it is not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 params and no output schema, the description is too brief. It omits details like the requirement that the group must exist, what happens on failure, or the return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no new meaning beyond the schema. Baseline 3 is appropriate; the description does not enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('adds one or more users'), the target resource ('specified group chat'), and the platform ('via RongCloud'). It differentiates from sibling tools like 'create_group' and 'quit_group'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or exclusions mentioned. The description is purely functional.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quit_groupB

Removes one or more users from a RongCloud group chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idsYesUser IDs to remove from the group. Up to 1000 users.
group_idYesGroup ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden for behavioral disclosure, but it only states the basic action. It does not discuss required permissions, side effects (e.g., notifications), error handling, or constraints beyond the parameter schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 10 words, front-loading the core purpose with no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and two required parameters, the description is too minimal. It omits important context such as permission requirements, error scenarios, and the relationship to sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond what the schema already provides for the two parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'removes' and the resource 'users from a RongCloud group chat', distinguishing it from sibling tools like create_group, join_group, and dismiss_group.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like dismiss_group or join_group. There is no mention of prerequisites (e.g., admin permissions) or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_userC

Register a new user via RongCloud and return the user's token.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesUser ID defined by the app to obtain a token. Supports a combination of uppercase and lowercase letters and numbers, with a maximum length of 64 bytes.
nameYesUser name used for push services. Supports any characters including symbols, English letters, and Chinese characters, limited to a maximum of 64 characters.
portrait_uriNoUser avatar URI, maximum length 1024 bytes.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must disclose behavioral traits. It implies a mutation (registration) but does not mention permissions, side effects, rate limits, or what happens if the user already exists. The description is minimal and leaves critical behavioral aspects unknown.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 11 words, which is concise but lacks structure and front-loading. It is too terse to be helpful; for example, it does not explain the significance of 'return the user's token' or any ordering of information. The sentence earns its place but underspecifies.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters, no output schema, and no annotations, the description is insufficient. It does not explain the return value (token), preconditions, or error scenarios. It fails to provide complete context for the agent to invoke the tool safely and effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter described (user_id, name, portrait_uri). However, the tool description adds no additional meaning beyond the schema, such as parameter relationships or format constraints. Baseline is 3 due to high schema coverage, but no extra value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Register a new user via RongCloud and return the user's token' clearly states the action (register) and resource (user) with a specific outcome (return token). It distinguishes from sibling tools like 'get_user_info' (retrieval) and 'send_*' (messaging), though it does not explicitly call out those differences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs. alternatives, nor does it mention prerequisites or scenarios to avoid. Sibling tools like 'create_group' or 'get_user_info' are related but no comparison is made.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_group_text_messageB

Send group text messages to one or multiple groups via RongCloud.

ParametersJSON Schema
NameRequiredDescriptionDefault
from_user_idYesSender user ID.
to_group_idsYesRecipient group IDs. Supports up to 3 group IDs. When sending directed group messages, only one group ID is allowed.
contentYesMessage content. Max size: 128KB.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits, but it only states the basic action. It does not mention idempotency, delivery guarantees, potential errors, rate limits, or any side effects, leaving the agent with little insight into behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no extraneous information. It is concise and well-structured, containing only the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description is insufficiently complete. It does not explain expected outcomes (e.g., success/error responses), constraints like maximum group count, or behavior for invalid inputs, which are critical for a messaging tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The tool description adds no additional semantic value beyond the schema's parameter descriptions, which are already clear (e.g., 'Sender user ID', 'Recipient group IDs' with constraints).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Send'), the resource ('group text messages'), and the platform ('via RongCloud'). It effectively distinguishes from sibling tools like send_private_text_message by specifying the group context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as send_private_text_message. There is no mention of prerequisites, context for usage, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_private_text_messageC

Send private text messages to one or multiple recipients via RongCloud.

ParametersJSON Schema
NameRequiredDescriptionDefault
from_user_idYesSender user ID.
to_user_idsYesRecipient user IDs. Supports sending to multiple users, up to 1000 per call.
contentYesMessage content. Max size: 128KB

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fails to disclose behavioral traits like rate limits, delivery guarantees, error handling, or idempotency. The schema mentions max recipients (1000) and content size (128KB), but the description does not repeat or expand on these.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but omits important usage and behavioral details. It is front-loaded with the core purpose but lacks structure for additional guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain return values or confirmation behavior. It does not. Additionally, it lacks details on error states, prerequisites, or limitations beyond what the schema provides.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all three parameters. The description does not add additional meaning beyond what is already in the schema, so it meets the baseline for this dimension.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (send), resource (private text messages), and platform (RongCloud). It distinguishes from sibling tools like send_group_text_message by specifying 'private' messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as send_group_text_message for group messages or get_private_messages for retrieval. There is no mention of prerequisites or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv0.1.0
    • First observedcreate_group
    • First observeddismiss_group
    • First observedget_current_time_millis
    • First observedget_group_members
    • First observedget_private_messages
    • First observedget_user_info
    • First observedjoin_group
    • First observedquit_group
    • First observedregister_user
    • First observedsend_group_text_message
    • First observedsend_private_text_message

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a distinct purpose: group CRUD, messaging, user management, and a utility function. No two tools perform overlapping actions, and descriptions clearly differentiate them.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., create_group, send_private_text_message). However, get_current_time_millis breaks the pattern by using an adjective and unit, causing a minor inconsistency.

Tool Count5/5

With 11 tools covering group management, messaging, and user management, the scope is well-calibrated for a chat API. No tool feels superfluous, and the count fits typical MCP server sizes.

Completeness3/5

Core operations like create/dismiss groups, join/quit, send messages, and retrieve history are covered. However, missing update group, delete user, edit/delete messages, and conversation listing create notable gaps that agents may encounter.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rongcloud/rongcloud-server-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server