Skip to main content
Glama

4chems Platform — IUCLID, CHESAR & QSAR Toolbox hosting

Server Details

Remote MCP server for 4chems hosted IUCLID, CHESAR and QSAR Toolbox: onboarding, inquiries, admin.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
4chems/mcp
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

32 tools
accept_invitationAccept InvitationInspect

Accept 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
emailYes
levelYes
statusYes
tenant_idYes
created_atYes
expires_atYes
invited_byYes
accepted_atNo
billing_contactNo
add_tenant_serviceAdd Tenant ServiceInspect

Request 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

approve_access_requestApprove Access Request EndpointInspect

Approve 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 accepts via accept_invitation. 409 access_request.not_pending unless the request is pending.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationYes
access_request_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
tokenYes
statusYes
tenant_idYes
created_atYes
updated_atYes
invitation_idYes
complete_billingComplete Billing
Idempotent
Inspect

Complete 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 the worker; a failed operation with billing.vat_check_unavailable can be retried by submitting again. Returns 202 with an operation to poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo`complete_billing` body. `vat_id` is checked against the tenant's country in the service.
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeYes
errorNo
resultNo
statusYes
target_idNo
created_atYes
finished_atNo
target_typeNo
operation_idYes
create_access_requestCreate Access Request Endpoint
Idempotent
Inspect

Request access to the tenant that owns the caller's verified email domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeYes
errorNo
resultNo
statusYes
target_idNo
created_atYes
finished_atNo
target_typeNo
operation_idYes
create_invitationCreate InvitationInspect

Invite 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 accept_invitation.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
emailYes
levelYes
tokenYes
statusYes
tenant_idYes
created_atYes
expires_atYes
invited_byYes
accepted_atNo
billing_contactNo
create_self_service_tenantCreate Self Service TenantInspect

Create 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 (free-mail address), tenant.domain_exists (a live trial tenant on the domain) or trial.exists_for_domain (the domain already had its one trial; call start_inquiry). The trial lasts exactly 7 days; ttl / expires_at in the body are ignored.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body for POST /v1/onboarding/tenants (UC-052). The domain is derived from the caller's verified token email claim (NFR-006 pt 4) — it is not a request parameter. attestation must be true; the endpoint raises 422 if false (NFR-006 §8a).
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeYes
errorNo
resultNo
statusYes
target_idNo
created_atYes
finished_atNo
target_typeNo
operation_idYes
dismiss_access_requestDismiss Access Request Endpoint
Destructive
Inspect

Dismiss 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 pending.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationYes
access_request_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
statusYes
tenant_idYes
created_atYes
updated_atYes
enrich_domainEnrich Domain Endpoint
Idempotent
Inspect

Fetch the caller's domain imprint and suggest legal-entity details (UC-057).

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
countryNo
confidenceNo
source_urlNo
entity_typeNo
legal_entity_nameNo
get_billingGet Billing
Read-onlyIdempotent
Inspect

Return 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityNo
nameYes
vat_idNo
countryYes
other_labelNo
postal_codeNo
po_referenceNo
address_line1No
address_line2No
invoice_emailNo
vat_validated_atNo
billing_completedYes
legal_entity_typeYes
billing_completed_atNo
get_catalog_templatesGet Catalog Templates
Read-onlyIdempotent
Inspect

Return 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 directly or request a call.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
get_my_accessGet My Access
Read-onlyIdempotent
Inspect

Return 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
get_my_operationGet My Operation
Read-onlyIdempotent
Inspect

Return 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idYes
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeYes
errorNo
resultNo
statusYes
target_idNo
created_atYes
finished_atNo
target_typeNo
operation_idYes
get_onboarding_routeGet Onboarding Route
Read-onlyIdempotent
Inspect

Return the next onboarding step. If this doesn't answer your question, call start_inquiry to ask 4chems directly or request a call.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
next_stepNo
tenant_nameNo
subscriptionNo
registration_urlNo
registration_methodsNo
grant_assignmentGrant AssignmentInspect

Grant a role x scope assignment to a tenant member.

ParametersJSON Schema
NameRequiredDescriptionDefault
subYes
bodyNo
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
roleYes
subjectYes
scope_idYes
expires_atYes
granted_atYes
granted_byYes
scope_typeYes
subject_typeYes
list_consentsList Consents
Read-onlyIdempotent
Inspect

Return 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 list one tenant's consents only (a caller of several tenants must).

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
list_invitationsList Invitations
Read-onlyIdempotent
Inspect

List 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
list_membersList Members
Read-onlyIdempotent
Inspect

List tenant members with their effective role x scope assignments.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
membersYes
tenant_idYes
list_tenant_servicesList Tenant Services
Read-onlyIdempotent
Inspect

Return the caller's tenant's active service subscriptions. Call this before offering to add a service, to check what is already subscribed.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idNo
authorizationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
revoke_assignmentRevoke Assignment
DestructiveIdempotent
Inspect

Revoke a role x scope assignment from a tenant member.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
subYes
tenant_idNo
authorizationYes
revoke_invitationRevoke Invitation
DestructiveIdempotent
Inspect

Revoke 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idNo
authorizationYes
invitation_idYes
start_account_registrationStart Account RegistrationInspect

Start 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_registration with the returned challenge_id and code. Free-mail addresses (gmail.com, ...) are refused: use the company address, or call start_inquiry. The answer is the same whether or not the address already has an account.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body for POST /v1/onboarding/registrations/account (UC-088).
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
next_stepYes
challenge_idYes
expires_in_secondsYes
start_device_loginStart Device LoginInspect

Sign 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 verification_uri_complete) and user_code to the human, who signs in there, then call verify_device_login with challenge_id, waiting interval seconds between calls. The response never contains the Keycloak device_code or the agent client secret.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
intervalYes
user_codeYes
expires_inYes
challenge_idYes
verification_uriYes
verification_uri_completeYes
start_inquiryStart InquiryInspect

Store 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
next_stepYes
challenge_idYes
expires_in_secondsYes
start_registrationStart Registration (deprecated — use start_device_login)Inspect

DEPRECATED: use start_device_login. Deprecated — use start_device_login (same behaviour).

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
intervalYes
user_codeYes
expires_inYes
challenge_idYes
verification_uriYes
verification_uri_completeYes
verify_account_registrationVerify Account RegistrationInspect

Verify 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body for POST /v1/onboarding/registrations/account/verify (UC-089).
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
accountYes
next_stepYes
verify_device_loginVerify Device LoginInspect

Poll 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 challenge_id. On approval it returns Keycloak's token set (access_token, refresh_token, expires_in, ...) exactly once; pass the access_token as authorization ('Bearer ') to every other tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body for POST /v1/onboarding/registrations/device/verify (UC-075).
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

verify_inquiryVerify InquiryInspect

Verify the 6-digit code and deliver the inquiry to the helpdesk inbox.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
referenceYes
inquiry_idYes
verify_registrationVerify Registration (deprecated — use verify_device_login)Inspect

DEPRECATED: use verify_device_login. Deprecated — use verify_device_login (same behaviour).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body for POST /v1/onboarding/registrations/device/verify (UC-075).
authorizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

withdraw_access_requestWithdraw Access Request Endpoint
Destructive
Inspect

Withdraw 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorizationYes
access_request_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
statusYes
tenant_idYes
created_atYes
updated_atYes

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 32 tool updates
    • First observedaccept_invitation
    • First observedadd_tenant_service
    • First observedapprove_access_request
    • First observedcomplete_billing
    • First observedcreate_access_request
    • First observedcreate_invitation
    • First observedcreate_self_service_tenant
    • First observeddismiss_access_request
    • First observedenrich_domain
    • First observedget_billing
    • First observedget_catalog_templates
    • First observedget_legal_entity_types
    • First observedget_my_access
    • First observedget_my_operation
    • First observedget_onboarding_route
    • First observedgrant_assignment
    • First observedlist_consents
    • First observedlist_invitations
    • First observedlist_members
    • First observedlist_tenant_services
    • First observedrecord_consent
    • First observedrevoke_assignment
    • First observedrevoke_invitation
    • First observedstart_account_registration
    • First observedstart_device_login
    • First observedstart_inquiry
    • First observedstart_registration
    • First observedverify_account_registration
    • First observedverify_device_login
    • First observedverify_inquiry
    • First observedverify_registration
    • First observedwithdraw_access_request

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.