# 4chems Platform — IUCLID, CHESAR & QSAR Toolbox hosting (com.4chems/platform-api): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/com.4chems%2Fplatform-api/versions/latest)
- Connected to: https://mcp.4chems.com/mcp
- Homepage: https://www.4chems.com/mcp/
- Repository: https://github.com/4chems/mcp
- Scoring rules: v2
- Tools: 32
- Average: 49.2 / 100 (Cloudy)
- Near-identical pairs: 2

This page shows how 4chems Platform — IUCLID, CHESAR & QSAR Toolbox hosting (com.4chems/platform-api)'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: 32 tools. Above 25, models start to tell tools apart less well.

## Tools

- `revoke_assignment`: 26 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, sub, id, tenant_id.
  - Minor: String arguments with no constraint or example: authorization, sub, id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `enrich_domain`: 33 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization.
  - Minor: String arguments with no constraint or example: authorization.
- `grant_assignment`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, sub, tenant_id, body, body.role, body.scope_id, body.scope_type.
  - Minor: String arguments with no constraint or example: authorization, sub, body.role, body.scope_id, body.scope_type.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_members`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, tenant_id.
  - Minor: String arguments with no constraint or example: authorization.
- `start_registration`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `create_access_request`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization.
  - Minor: String arguments with no constraint or example: authorization.
- `revoke_invitation`: 39 / 100
  - Major: Arguments without a description: authorization, invitation_id, tenant_id.
  - Minor: String arguments with no constraint or example: authorization, invitation_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: invitation_id. Name the tool or the place that returns it, or models look it up first.
- `verify_inquiry`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, body, body.challenge_id, body.code.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `verify_registration`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, body.challenge_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `withdraw_access_request`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, access_request_id.
  - Minor: String arguments with no constraint or example: authorization, access_request_id.
  - Minor: Required identifiers whose description does not say where the value comes from: access_request_id. Name the tool or the place that returns it, or models look it up first.
- `accept_invitation`: 45 / 100
  - Major: Arguments without a description: authorization, token.
  - Minor: String arguments with no constraint or example: authorization, token.
- `dismiss_access_request`: 47 / 100
  - Major: Arguments without a description: authorization, access_request_id.
  - Minor: String arguments with no constraint or example: authorization, access_request_id.
  - Minor: Required identifiers whose description does not say where the value comes from: access_request_id. Name the tool or the place that returns it, or models look it up first.
- `list_invitations`: 47 / 100
  - Major: Arguments without a description: authorization, tenant_id.
  - Minor: String arguments with no constraint or example: authorization.
- `start_inquiry`: 47 / 100
  - Major: Arguments without a description: authorization, body, body.company, body.email, body.message, body.name, body.topic, body.website.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `start_account_registration`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, body.company, body.email, body.name.
  - Minor: String arguments with no constraint or example: body.email.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_onboarding_route`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization.
  - Minor: No `required` list, so every argument is optional.
- `list_tenant_services`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, tenant_id.
  - Minor: String arguments with no constraint or example: authorization.
- `approve_access_request`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, access_request_id.
  - Minor: String arguments with no constraint or example: authorization, access_request_id.
- `get_my_operation`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, operation_id.
  - Minor: String arguments with no constraint or example: authorization, operation_id.
- `record_consent`: 53 / 100
  - Major: Arguments without a description: authorization, document_code, document_version, tenant_id.
  - Minor: String arguments with no constraint or example: authorization, document_code, document_version.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_billing`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, tenant_id.
  - Minor: String arguments with no constraint or example: authorization.
- `get_catalog_templates`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization.
  - Minor: No `required` list, so every argument is optional.
- `get_my_access`: 55 / 100
  - Major: Arguments without a description: authorization.
  - Minor: String arguments with no constraint or example: authorization.
- `verify_account_registration`: 56 / 100
  - Major: Arguments without a description: authorization, body.challenge_id, body.code.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_consents`: 59 / 100
  - Major: Arguments without a description: authorization, tenant_id.
  - Minor: String arguments with no constraint or example: authorization.
- `verify_device_login`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, body.challenge_id.
  - Minor: No `required` list, so every argument is optional.
- `create_self_service_tenant`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: authorization, body.attestation, body.bot_signals, body.legal_entity.country, body.legal_entity.legal_entity_type, body.legal_entity.name, body.legal_entity.other_label.
  - Minor: String arguments with no constraint or example: authorization.
  - Minor: The meaning of the boolean argument body.attestation is unclear.
- `get_legal_entity_types`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: authorization.
- `add_tenant_service`: 64 / 100
  - Major: Arguments without a description: authorization, tenant_id, body, body.service.
  - Minor: String arguments with no constraint or example: authorization, body.service.
  - Minor: The description mentions none of its 3 or more arguments.
- `start_device_login`: 64 / 100
  - Major: Arguments without a description: authorization.
  - Minor: No `required` list, so every argument is optional.
- `complete_billing`: 67 / 100
  - Major: Arguments without a description: authorization, tenant_id, body.address_line1, body.address_line2, body.city, body.invoice_email, body.legal_entity_type, body.name, body.other_label, body.po_reference, body.postal_code, body.vat_id.
  - Minor: String arguments with no constraint or example: authorization.
  - Minor: The description mentions none of its 3 or more arguments.
- `create_invitation`: 68 / 100
  - Major: Arguments without a description: authorization, tenant_id, body, body.billing_contact, body.email.
  - Minor: String arguments with no constraint or example: authorization.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument body.billing_contact is unclear.

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)
