# Text Request MCP by usefulapi (io.usefulapi/text-request): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.usefulapi%2Ftext-request/versions/latest)
- Connected to: https://text-request.usefulapi.io/mcp
- Homepage: https://usefulapi.io/text-request/
- Repository: https://github.com/m190/usefulapi-mcp
- Scoring rules: v2
- Tools: 19
- Average: 44.1 / 100 (Cloudy)
- Near-identical pairs: 16

This page shows how Text Request MCP by usefulapi (io.usefulapi/text-request)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: 16 pairs with nearly the same description in all; the top 12 are shown.

## Tools

- `textrequest_list_users`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: page, page_size, external_user_id, email.
  - Minor: No `required` list, so every argument is optional.
- `textrequest_get_dashboard`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_get_scheduled_message`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, message_id.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id, message_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_dashboards`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: page, page_size.
  - Minor: No `required` list, so every argument is optional.
- `textrequest_list_tags`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, page, page_size.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_get_contact`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, phone_number.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_get_field_definition`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, field_id.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id, field_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_get_group`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, group_id.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id, group_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_get_keyword`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, keyword_id.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id, keyword_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_get_tag`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, tag_id.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id, tag_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_get_user`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: user_id.
  - Minor: Required identifiers whose description does not say where the value comes from: user_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_contact_messages`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, phone_number, page, page_size.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_contacts`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, page, page_size, contact_phone_number, display_name, tags, groups, is_resolved, has_message_history, is_blocked, is_archived, is_suppressed, has_opted_out, contact_created_before, contact_created_after, last_message_timestamp_before_utc, last_message_timestamp_after_utc.
  - Minor: The meaning of the boolean argument is_resolved is unclear.
  - Minor: The meaning of the boolean argument has_message_history is unclear.
  - Minor: The meaning of the boolean argument is_blocked is unclear.
  - Minor: The meaning of the boolean argument is_archived is unclear.
  - Minor: The meaning of the boolean argument is_suppressed is unclear.
  - Minor: The meaning of the boolean argument has_opted_out is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_conversations`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, page, page_size, tags, show_unresolved_only, include_archived, search.
  - Minor: The meaning of the boolean argument show_unresolved_only is unclear.
  - Minor: The meaning of the boolean argument include_archived is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_field_definitions`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_groups`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, page, page_size.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_keywords`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, page, page_size.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_messages`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, page, page_size, start_date, end_date.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.
- `textrequest_list_scheduled_messages`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: dashboard_id, page, page_size, schedule_date_after, schedule_date_before, recurring_only.
  - Minor: The meaning of the boolean argument recurring_only is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: dashboard_id. Name the tool or the place that returns it, or models look it up first.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
