EU-Hosted AI for IUCLID & QSAR Toolbox MCP server
Which servers in the official MCP registry are EU-Hosted AI for IUCLID & QSAR Toolbox's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-20
- Registry namecom.4chems/platform-apiverified in the MCP registry
The registry name sits under 4chems.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-20
- Tools32
- Server calls itselfplatform-api-customer
- Server version0.12.1
- Protocol version2025-06-18
On 2026-10-20 the server answered initialize and tools/list without a sign-in. First answer in 551 ms.
- Its tools do none of the product's use cases we checked: host IUCLID and Chesar in an EU cloud; check dossiers for hidden errors before submission; submit dossiers to REACH-IT automatically via API.
- Checked on 2 of the 7 days it takes to judge reliability.
Once connected
- create_access_request, create_self_service_tenant, create_invitation, add_tenant_service change data without a sign-in: anyone with the address can call them.
- Parameters are untyped or undescribed in 32 of 32 tools: check arguments before calling.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 2 so far
- What an agent can do with it0 of 3 use cases
- Answeredmeasuring2 of the 7 daily checks it takes to print a share
- Median first answer555 ms
- Space in an agent's context≈ 4,756 tokensthe definitions of all its tools (32), which an agent carries on every turn
- Tool definitionsB · 83 of 100
- Typed results30 of 32 toolsdeclared outputSchema: results come typed, read once
- Parameters without a description: in 32 of 32
What an agent can do with it
- cannot · host IUCLID and Chesar in an EU cloud
- cannot · check dossiers for hidden errors before submission
- cannot · submit dossiers to REACH-IT automatically via API
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
- Tools that change data, on a server that answers without a sign-in: create_access_request, create_self_service_tenant, create_invitation, add_tenant_service
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (30%), doing the product's job (25%), definitions (20%), context (10%) and use (15%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
get_catalog_templatesReturn the enabled ApplicationTemplate catalog, ordered by name. Call this to discuss trial and template options with a prospect or customer before starting a trial. If this doesn't answer your question, call `start_inquiry` to ask 4chems…
list_consentsReturn the caller's own recorded consents plus the tenant-scope consents of every tenant where the caller is at least a viewer. Call this to check which legal documents have already been accepted before asking again. Pass `tenant_id` to…
record_consentRecord acceptance of a legal document version and return the entry; call this only after showing the user the document URL and version and receiving an explicit affirmative answer.
start_inquiryStore an anonymous inquiry draft and email a 6-digit verification code. Ask the user for the code, then call verify_inquiry with the returned challenge_id and code — the inquiry reaches 4chems only after that verification succeeds.
verify_inquiryVerify the 6-digit code and deliver the inquiry to the helpdesk inbox.
accept_invitationAccept a pending invitation and grant the invitee's first role assignment. Call this when an invitee has a valid invite link and wants to join the tenant; single-use, consuming the token marks it accepted.
get_my_accessReturn the caller's access level per related tenant. Call this to check what the current caller is authorized to do before attempting an action that requires a specific level, or to discover a pending invitation or access request.
create_access_requestRequest access to the tenant that owns the caller's verified email domain.
approve_access_requestApprove a pending access request: issue a `member` invitation to the requester and resolve the request (level `admin` or `owner` of the request's tenant). The response carries the single-use invitation token to hand to the requester, who…
dismiss_access_requestDismiss a pending access request (level `admin` or `owner` of the request's tenant). The requester is mailed — naming the tenant, never the dismissing admin — and may ask again. 409 `access_request.not_pending` unless the request is…
withdraw_access_requestWithdraw the caller's own pending access request; no notification is sent. Any other caller gets 404 `access_request.not_found`, the same as for an unknown id. 409 `access_request.not_pending` unless pending.
enrich_domainFetch the caller's domain imprint and suggest legal-entity details (UC-057).
start_device_loginSign in to an existing account by device login (UC-091, RFC 8628). Anonymous, empty body; the account must exist (start_account_registration, then set the password through the emailed link). Show `verification_uri` (or…
verify_device_loginPoll a device login to token issuance (UC-091, RFC 8628). Anonymous. While the human has not signed in yet it answers `{"status": "pending", "retry_after": <seconds>}`: wait `retry_after` seconds and call again with the same…
start_account_registrationStart registering a 4chems account with a business email address (`email`, `name`, optional `company`). Anonymous. Emails a 6-digit code to the address; no account exists yet. Ask the user for the code, then call…
verify_account_registrationVerify the emailed 6-digit code (`challenge_id`, `code`) and create the 4chems account. Never guess or retry codes, and never ask the user for a password.
start_registrationDEPRECATED: use start_device_login. Deprecated — use start_device_login (same behaviour).
verify_registrationDEPRECATED: use verify_device_login. Deprecated — use verify_device_login (same behaviour).
get_onboarding_routeReturn the next onboarding step. If this doesn't answer your question, call `start_inquiry` to ask 4chems directly or request a call.
create_self_service_tenantCreate a 7-day trial tenant for the caller's business email domain (UC-052). Needs a verified email on a business domain and `attestation: true`; answers `auth.email_not_verified`, `tenant.attestation_required`, `tenant.free_mail_domain`…
get_my_operationReturn the status, result and error of an operation the caller started, such as the `Location` of a `202` from `complete_billing`. Call this to poll it to completion.
get_legal_entity_typesReturn the legal-entity types available for *country*, ordered alphabetically. If this doesn't answer your question, call `start_inquiry` to ask 4chems directly or request a call.
get_billingReturn the tenant's stored billing details: VAT id, invoice address, invoice email and PO reference. Call this to check whether billing is complete; only the owner and billing contacts may read it (`403 rbac.insufficient_level`).
complete_billingComplete the tenant's billing details: legal-entity name and type, VAT id, invoice address, invoice email and optional PO reference. Call this when the owner or a billing contact has the details. EU VAT ids are validated against VIES by…
list_invitationsList all invitations for the caller's tenant, most recent first. Call this to show a tenant admin which invitations are pending, accepted, or revoked; the raw token is never included.
create_invitationInvite an email address to the caller's tenant at the specified access level and return the invitation, including the raw single-use accept token. Call this when a tenant admin wants to add a new member; the invitee accepts via…
revoke_invitationRevoke a pending invitation so its token can no longer be accepted. Call this when a tenant admin wants to withdraw an invite sent by mistake or no longer needed; accepted invitations cannot be revoked.
list_membersList tenant members with their effective role x scope assignments.
grant_assignmentGrant a role x scope assignment to a tenant member.
revoke_assignmentRevoke a role x scope assignment from a tenant member.
list_tenant_servicesReturn the caller's tenant's active service subscriptions. Call this before offering to add a service, to check what is already subscribed.
add_tenant_serviceRequest a new service subscription for the caller's tenant and return its status. Call this when a tenant admin wants to add a service (ADR 0016 code fix: requires `admin`, was `customer` realm role only).
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"platform-api": {
"type": "http",
"url": "https://mcp.4chems.com/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http 4chems https://mcp.4chems.com/mcpclaude.ai, ChatGPT and other clients: add https://mcp.4chems.com/mcp as a custom connector in the settings.
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.