_ registry / mcp http-sse · checked 1h ago

platform-api-customer

https://mcp.4chems.com

Registry code: 2a64d0f5a280b06a

api record

Customer-tier tools for the platform API (/v1 endpoints only). Anonymous tools — get_catalog_templates, get_legal_entity_types, get_onboarding_route, start_inquiry, verify_inquiry, start_account_registration, verify_account_registration, start_device_login, and verify_device_login — work without an 'authorization' argument: call them with no token to explore the catalog, learn the next onboarding step, register, sign in, or send 4chems an inquiry. For inquiries, call start_inquiry, ask the user for the 6-digit code from their email, then call verify_inquiry — never guess or retry codes on…

endpoint
https://mcp.4chems.com/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is platform-api-customer live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is platform-api-customer free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does platform-api-customer have?
32 tools: list_consents, dismiss_access_request, enrich_domain, verify_account_registration, start_registration, verify_registration, complete_billing, revoke_invitation, ….
Is platform-api-customer safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
139ms

last good check

priced tools
0

of 32 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 32 tools
2 open1 auth-required 29 never probed 3 of 32 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_catalog_templates open 1h ago

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 10 lines
  • get_onboarding_route open 1h ago

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

    mcp-tool

    {
      "type": "object",
      "properties": {
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 10 lines
  • get_billing auth-required 1h ago

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • list_consents unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • dismiss_access_request unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "access_request_id"
      ],
      "properties": {
        "authorization": {
          "type": "string"
        },
        "access_request_id": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • enrich_domain unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 12 lines
  • verify_account_registration unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "challenge_id",
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 32,
              "minLength": 1
            },
            "challenge_id": {
              "type": "string",
              "format": "uuid"
            }
          },
          "description": "Request body for POST /v1/onboarding/registrations/account/verify (UC-089)."
        },
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 30 lines
  • start_registration unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "properties": {
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 10 lines
  • verify_registration unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "challenge_id"
          ],
          "properties": {
            "challenge_id": {
              "type": "string",
              "format": "uuid"
            }
          },
          "description": "Request body for POST /v1/onboarding/registrations/device/verify (UC-075)."
        },
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • complete_billing unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "address_line1",
            "postal_code",
            "city",
            "invoice_email"
          ],
          "properties": {
            "city": {
              "type": "string",
              "maxLength": 100,
              "minLength": 1
            },
            "name": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200,
                  "minLength": 1
                },
                {
                  "type": "null"
                }
              ]
            },
            "vat_id": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 40
                },
                {
                  "type": "null"
                }
              ]
            },
            "other_label": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 80,
                  "minLength": 2
                },
                {
                  "type": "null"
                }
              ]
            },
            "postal_code": {
              "type": "string",
              "maxLength": 20,
              "minLength": 1
            },
            "po_reference": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 64,
                  "minLength": 1
                },
                {
                  "type": "null"
                }
              ]
            },
            "address_line1": {
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            },
            "address_line2": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "invoice_email": {
              "type": "string",
              "format": "email"
            },
            "legal_entity_type": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[A-Z]{2,3}_[A-Z0-9][A-Z0-9_]*$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "description": "`complete_billing` body. `vat_id` is checked against the tenant's country in the service."
        },
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 117 lines
  • revoke_invitation unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "invitation_id"
      ],
      "properties": {
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        },
        "invitation_id": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • list_members unknown never probed

    List tenant members with their effective role x scope assignments.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • record_consent unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "document_code",
        "document_version"
      ],
      "properties": {
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        },
        "document_code": {
          "type": "string"
        },
        "document_version": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • start_inquiry unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "name",
            "email",
            "topic",
            "message"
          ],
          "properties": {
            "name": {
              "type": "string",
              "maxLength": 120,
              "minLength": 1
            },
            "email": {
              "type": "string",
              "format": "email"
            },
            "topic": {
              "enum": [
                "migration",
                "hosting",
                "iuclid",
                "chesar",
                "qsar_toolbox",
                "other"
              ],
              "type": "string"
            },
            "company": {
              "type": "string",
              "default": "",
              "maxLength": 120
            },
            "message": {
              "type": "string",
              "maxLength": 4000,
              "minLength": 10
            },
            "website": {
              "type": "string",
              "default": ""
            }
          }
        },
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 56 lines
  • verify_inquiry unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "challenge_id",
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 6,
              "minLength": 6
            },
            "challenge_id": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 29 lines
  • accept_invitation unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "token"
      ],
      "properties": {
        "token": {
          "type": "string"
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • get_my_access unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 12 lines
  • create_access_request unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 12 lines
  • approve_access_request unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "access_request_id"
      ],
      "properties": {
        "authorization": {
          "type": "string"
        },
        "access_request_id": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • withdraw_access_request unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "access_request_id"
      ],
      "properties": {
        "authorization": {
          "type": "string"
        },
        "access_request_id": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • start_device_login unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 10 lines
  • verify_device_login unknown never probed

    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 <token>') to every other tool.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "challenge_id"
          ],
          "properties": {
            "challenge_id": {
              "type": "string",
              "format": "uuid"
            }
          },
          "description": "Request body for POST /v1/onboarding/registrations/device/verify (UC-075)."
        },
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • start_account_registration unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "email",
            "name"
          ],
          "properties": {
            "name": {
              "type": "string",
              "maxLength": 120,
              "minLength": 1
            },
            "email": {
              "type": "string"
            },
            "company": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 120
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "description": "Request body for POST /v1/onboarding/registrations/account (UC-088)."
        },
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 40 lines
  • create_self_service_tenant unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "legal_entity",
            "attestation"
          ],
          "properties": {
            "attestation": {
              "type": "boolean"
            },
            "bot_signals": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "honeypot": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "submit_timing_ms": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "description": "Advisory bot-detection signals from the onboarding wizard (UC-052).\n\nRecorded and fed to scoring; never used as a hard gate."
                },
                {
                  "type": "null"
                }
              ]
            },
            "legal_entity": {
              "type": "object",
              "required": [
                "country",
                "legal_entity_type",
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "maxLength": 200,
                  "minLength": 1
                },
                "country": {
                  "type": "string",
                  "pattern": "^[A-Z]{2}$"
                },
                "other_label": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 80,
                      "minLength": 2
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "legal_entity_type": {
                  "type": "string",
                  "pattern": "^[A-Z]{2,3}_[A-Z0-9][A-Z0-9_]*$"
                }
              },
              "description": "Composite legal-entity input validated against the country catalog.\n\nRules:\n- *country* must be a supported market (validated at field level via SupportedCountry,\n  caught in the model validator against the loaded catalog).\n- *legal_entity_type* must appear in that country's catalog file.\n- When *legal_entity_type* is ``<CC>_OTHER``, *other_label* is required (2-80 chars).\n- For any other type, *other_label* must be absent."
            }
          },
          "description": "Request body for POST /v1/onboarding/tenants (UC-052).\n\nThe domain is derived from the caller's verified token email claim\n(NFR-006 pt 4) — it is not a request parameter.\nattestation must be true; the endpoint raises 422 if false (NFR-006 §8a)."
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 95 lines
  • get_my_operation unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "operation_id"
      ],
      "properties": {
        "operation_id": {
          "type": "string"
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • get_legal_entity_types unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "country"
      ],
      "properties": {
        "country": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code"
        },
        "authorization": {
          "type": "string",
          "default": ""
        }
      },
      "additionalProperties": false
    }
    arguments 17 lines
  • list_invitations unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • create_invitation unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "email"
          ],
          "properties": {
            "email": {
              "type": "string",
              "format": "email"
            },
            "level": {
              "enum": [
                "viewer",
                "member",
                "admin",
                "owner"
              ],
              "type": "string",
              "description": "The grantable tenant access levels (ADR 0016 decision 3: role collapse).\n\nScoped department/instance roles (``team_admin``, ``env_admin``,\n``app_admin``, ``application_owner``, ``application_supervisor``,\n``application_user``) and the platform roles (``platform_admin``,\n``node_admin``) are no longer grantable; the migration\n(``uc087accesslevelscore_0001``) maps every existing row onto one of\nthese four values."
            },
            "billing_contact": {
              "type": "boolean",
              "default": false
            }
          }
        },
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 43 lines
  • grant_assignment unknown never probed

    Grant a role x scope assignment to a tenant member.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "sub"
      ],
      "properties": {
        "sub": {
          "type": "string"
        },
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "role",
            "scope_type",
            "scope_id"
          ],
          "properties": {
            "role": {
              "type": "string"
            },
            "scope_id": {
              "type": "string"
            },
            "scope_type": {
              "type": "string"
            }
          }
        },
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 40 lines
  • revoke_assignment unknown never probed

    Revoke a role x scope assignment from a tenant member.

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization",
        "sub",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "sub": {
          "type": "string"
        },
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • list_tenant_services unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • add_tenant_service unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "authorization"
      ],
      "properties": {
        "body": {
          "type": "object",
          "default": "",
          "required": [
            "service"
          ],
          "properties": {
            "service": {
              "type": "string"
            }
          }
        },
        "tenant_id": {
          "type": "string",
          "default": ""
        },
        "authorization": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 28 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 2a64d0f5a280b06a.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/2a64d0f5a280b06a/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/2a64d0f5a280b06a/badge.svg)](https://brick.blue/agent/2a64d0f5a280b06a?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.