Creditsafe MCP - beta test report

publicv1
1h ago
1 views0 comments0 reviews24 min read
raw .md ↗

[!NOTE] Thank you for the beta access. This report describes what we tested, how, and what we observed, with suggestions meant to help make the MCP server even better for AI agents. Findings are observations from one tester's point of view, not judgements.

Date2026-10-22 09:10
Servercreditsafe-mcp 1022346
Tools18 exposed, 16 called at least once
Test cases98 (95 executed, 3 skipped)
Result🟢 PASS 55   🟠 WARN 37   🔴 FAIL 3

🟢 PASS = behaves as expected  |  🟠 WARN = works, worth improving (clarity, size, speed, wording)  |  🔴 FAIL = wrong, missing, or unusable by an agent

[!IMPORTANT] The server is reachable and usable: 55 of 95 executed scenarios behave as expected, 37 work but can be improved and 3 fail. Most opportunities concern being LLM-agent friendly, in order of impact:

  • 🔴 Functional behaviour differing from expectations (3)
  • 🔴 Responses too large for an LLM context window (3)
  • 🟠 Errors returned as successful results (26)
  • 🟠 Tool and parameter documentation gaps (21)
  • 🟠 Missing MCP metadata (annotations, outputSchema) (18)

Two complementary angles, applied to every tool:

  1. Functional: does each tool return correct, complete data for realistic requests (search by name / SIREN / VAT / safe number, France, United Kingdom, Germany with legal reason_code, directors, group structure, beneficial owners, events, adverse information, financials, payment behaviour)?
  2. MCP / LLM-agent oriented: is the server pleasant for an AI agent? Size of results versus context window, error contract (isError), actionable error messages, quality of tool definitions (descriptions, parameter docs, annotations, output schema), latency, noise in payloads, behaviour on invalid or hostile input.
CategoryCases🟢 PASS🟠 WARN🔴 FAIL⚪ SKIP
Account and metadata118210
Company search1916300
Company reports - France2213720
Company reports - United Kingdom1510500
Company reports - Germany (reason_code)71600
Directors85300
Robustness and error handling1321100
Paid calls (--paid)30003
  • Black-box: a Python client speaks the real MCP protocol (Streamable HTTP) to the beta endpoint, exactly like an agent would. No access to server internals.
  • Sequence mimics a human tester: discovery (list_tools), then searches, then every company tool on FR / GB / DE, directors, then edge cases (empty, very long, special characters, wrong types, unknown tool, invalid country / reason_code).
  • Test company without stake: BearingPoint France (SIREN 443021241); UK and DE examples taken from Creditsafe's own tool descriptions.
  • Each case opens a fresh session so a transport failure only affects that case.
  • Each response is evaluated automatically against: expected outcome (success / error / not found), isError flag, presence of an actionable hint, size in characters and estimated tokens, share of empty fields, duration, JSON validity, raw technical text leaks.
  • Credit-consuming calls (refresh=True, PDF, director report) are skipped unless explicitly enabled.
  • Full requests/responses are kept in verbose.log and raw.jsonl; the API key is redacted everywhere.

#What works well

<details><summary>🟢 PASS <b>Account and metadata</b> (8)</summary>
  • 1.01 Account access and entitlements
  • 1.02 Supported countries
  • 1.03 Search fields for France
  • 1.04 Search fields for several countries
  • 1.06 Report languages, France
  • 1.07 Report languages, UK
  • 1.08 Report schema, France (summary)
  • 1.09 Report schema, UK (summary)
</details> <details><summary>🟢 PASS <b>Company search</b> (16)</summary>
  • 2.01 Search by name, France
  • 2.02 Search by registration number (SIREN)
  • 2.03 Search by VAT number
  • 2.04 Search by safe number, UK
  • 2.05 Search by name, UK large company
  • 2.06 Search, exact match
  • 2.07 Search, multi-country
  • 2.08 Search, city filter
  • 2.09 Search, postcode filter
  • 2.10 Search, status filter
  • 2.11 Search, page_size=1
  • 2.12 Search, page 2
  • 2.14 Search with typo
  • 2.15 Search with accents
  • 2.18 Search, lowercase country
  • 2.19 Search, unknown company
</details> <details><summary>🟢 PASS <b>Company reports - France</b> (13)</summary>
  • 3.01 get_company_overview, French company
  • 3.02 get_company_financials, French company
  • 3.03 get_company_payment_behaviour, French company
  • 3.05 get_company_adverse_information, French company
  • 3.06 get_company_group_structure, French company
  • 3.07 get_company_beneficial_owners, French company
  • 3.08 get_company_directors, French company
  • 3.13 Overview without country
  • 3.14 Overview repeated (cache check)
  • 3.15 Financials, years=1
  • 3.16 Financials, years=5
  • 3.17 Financials, global basis
  • 3.18 Financials, English
</details> <details><summary>🟢 PASS <b>Company reports - United Kingdom</b> (10)</summary>
  • 4.01 get_company_overview, UK company
  • 4.02 get_company_financials, UK company
  • 4.03 get_company_payment_behaviour, UK company
  • 4.04 get_company_events, UK company
  • 4.05 get_company_adverse_information, UK company
  • 4.06 get_company_group_structure, UK company
  • 4.08 get_company_directors, UK company
  • 4.09 get_company_directorships, UK company
  • 4.12 Overview by registration number
  • 4.13 Financials with global basis
</details> <details><summary>🟢 PASS <b>Company reports - Germany (reason_code)</b> (1)</summary>
  • 5.06 FR overview with reason_code (should be ignored)
</details> <details><summary>🟢 PASS <b>Directors</b> (5)</summary>
  • 6.01 Search directors, UK
  • 6.02 Search directors, France
  • 6.03 Search directors, multi-country
  • 6.04 Search directors with date of birth
  • 6.05 Search directors, malformed date
</details> <details><summary>🟢 PASS <b>Robustness and error handling</b> (2)</summary>
  • 7.10 Unknown extra argument
  • 7.11 Unknown tool
</details>

#🔴 Functional behaviour differing from expectations

Why it matters: The tool does not return what a user would expect for a valid request.

[!TIP] Suggestion: See each case below.

<details><summary>Observed in 3 place(s)</summary>
  • 🔴 FAIL - 3.11 get_company_overview: Unexpected error: { "error": { "code": "ambiguous", "message": "Multiple companies match '443021241'.", "hint": "Use the Creditsafe ID, safe number, registration number, VAT, or add postcode/city.", "candidates": [ { "
  • 🔴 FAIL - 3.12 get_company_overview: Unexpected error: { "error": { "code": "not_found", "message": "No company found for 'FR96443021241'.", "hint": "Try safe number, registration number, VAT number, or name plus postcode." } }
  • 🟠 WARN - 5.01 get_company_overview: Expected 'reason' in the response
</details>

#🔴 Responses too large for an LLM context window

Why it matters: An agent pastes every tool result into its context. Huge payloads crowd out the conversation, cost money on every following turn, or exceed the window entirely.

[!TIP] Suggestion: Return a compact view by default; add a fields/sections parameter and pagination; announce truncation explicitly; keep raw payloads behind a separate opt-in tool.

<details><summary>Observed in 3 place(s)</summary>
  • 🔴 FAIL - 1.11 get_company_report_schema: Response of 870,747 chars (~248,785 tokens) exceeds typical LLM context windows (100,000 tokens): the tool is unusable by an agent in this mode
  • 🟠 WARN - 3.04 get_company_events: Very large response (83,199 chars, ~23,771 tokens): consumes a large share of an LLM context
  • 🟠 WARN - definition of (all tools): Tool definitions alone weigh ~11,122 tokens, paid on every LLM turn
</details>

#🟠 Errors returned as successful results

Why it matters: MCP clients and agent frameworks rely on isError=true to trigger retry/repair logic. An error body inside a normal result looks like a success.

[!TIP] Suggestion: Set isError=true on every failure, keeping the structured error body.

<details><summary>Observed in 26 place(s)</summary>
  • 🟠 WARN - 1.05 get_company_search_fields: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 1.10 get_company_report_schema: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 2.16 search_companies: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 2.17 search_companies: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 3.09 get_company_directorships: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 3.10 get_company_overview: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 3.11 get_company_overview: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 3.12 get_company_overview: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 3.22 get_company_directorships: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 4.07 get_company_beneficial_owners: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 4.10 get_company_overview: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • 🟠 WARN - 4.11 get_company_overview: Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag
  • ... and 14 more (see appendix / results.xlsx)
</details>

#🟠 Tool and parameter documentation gaps

Why it matters: The LLM chooses tools and fills arguments only from names and descriptions. Missing descriptions or valid values cause wrong calls.

[!TIP] Suggestion: Describe every parameter (format, example, allowed values), use enums/patterns in the JSON schema.

<details><summary>Observed in 21 place(s)</summary>
  • 🟠 WARN - 3.09 get_company_directorships: Product not available for this country: the refusal is clear and free of charge (good), but this is only discoverable by calling the tool; expose per-country availability in the tool description or in the supported-countries tool
  • 🟠 WARN - 3.22 get_company_directorships: Product not available for this country: the refusal is clear and free of charge (good), but this is only discoverable by calling the tool; expose per-country availability in the tool description or in the supported-countries tool
  • 🟠 WARN - 4.07 get_company_beneficial_owners: Product not available for this country: the refusal is clear and free of charge (good), but this is only discoverable by calling the tool; expose per-country availability in the tool description or in the supported-countries tool
  • 🟠 WARN - definition of get_company_search_fields: Parameter 'countries' is a free string without enum/pattern: valid values are only discoverable by trial and error
  • 🟠 WARN - definition of get_report_languages: Parameter 'country' is a free string without enum/pattern: valid values are only discoverable by trial and error
  • 🟠 WARN - definition of get_company_report_schema: Parameter 'country' is a free string without enum/pattern: valid values are only discoverable by trial and error
  • 🟠 WARN - definition of get_company_overview: Parameter 'language' has no description
  • 🟠 WARN - definition of get_company_financials: Parameter 'years' has no description
  • 🟠 WARN - definition of get_company_financials: Parameter 'language' has no description
  • 🟠 WARN - definition of get_company_payment_behaviour: Parameter 'language' has no description
  • 🟠 WARN - definition of get_company_events: Parameter 'language' has no description
  • 🟠 WARN - definition of get_company_adverse_information: Parameter 'language' has no description
  • ... and 9 more (see appendix / results.xlsx)
</details>

#🟠 Missing MCP metadata (annotations, outputSchema)

Why it matters: Annotations let clients auto-approve read-only calls and warn on costly ones; outputSchema helps downstream parsing.

[!TIP] Suggestion: Declare readOnlyHint / idempotentHint, flag credit-consuming tools, publish outputSchema.

<details><summary>Observed in 18 place(s)</summary>
  • 🟠 WARN - definition of get_my_creditsafe_access: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_supported_countries: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_company_search_fields: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_report_languages: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_company_report_schema: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of search_companies: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_company_overview: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_company_financials: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_company_payment_behaviour: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_company_events: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_company_adverse_information: No outputSchema: the shape of the result is undocumented
  • 🟠 WARN - definition of get_company_group_structure: No outputSchema: the shape of the result is undocumented
  • ... and 6 more (see appendix / results.xlsx)
</details>

#🟠 Raw framework / validation errors exposed

Why it matters: Stack-like or pydantic texts are noisy, hard for a model to act on, and leak implementation details.

[!TIP] Suggestion: Map validation failures to short, friendly messages naming the field and the allowed range.

<details><summary>Observed in 9 place(s)</summary>
  • 🟠 WARN - 2.13 search_companies: Message exposes raw technical details (framework validation text / traceback / 5xx)
  • 🟠 WARN - 3.19 get_company_financials: Message exposes raw technical details (framework validation text / traceback / 5xx)
  • 🟠 WARN - 3.20 get_company_financials: Message exposes raw technical details (framework validation text / traceback / 5xx)
  • 🟠 WARN - 3.21 get_company_financials: Message exposes raw technical details (framework validation text / traceback / 5xx)
  • 🟠 WARN - 5.04 get_company_overview: Message exposes raw technical details (framework validation text / traceback / 5xx)
  • 🟠 WARN - 5.05 get_company_overview: Message exposes raw technical details (framework validation text / traceback / 5xx)
  • 🟠 WARN - 6.07 search_directors: Message exposes raw technical details (framework validation text / traceback / 5xx)
  • 🟠 WARN - 7.08 get_company_overview: Message exposes raw technical details (framework validation text / traceback / 5xx)
  • 🟠 WARN - 7.09 get_company_financials: Message exposes raw technical details (framework validation text / traceback / 5xx)
</details>

#🟠 Errors that do not tell the model how to recover

Why it matters: A good MCP error says what was wrong and what to do next, so the LLM can self-correct without a human.

[!TIP] Suggestion: Always return code + message + hint (valid values, expected format, next tool to call).

<details><summary>Observed in 3 place(s)</summary>
  • 🟠 WARN - 2.16 search_companies: Error has no 'hint': an LLM cannot tell how to retry
  • 🟠 WARN - 2.17 search_companies: Error has no 'hint': an LLM cannot tell how to retry
  • 🟠 WARN - 6.08 search_directors: No explicit 'not found' message for an unknown entity
</details>

#🟠 Calls rejected or failing at transport level

Why it matters: The client gets an HTTP/protocol exception instead of a tool result and cannot show a useful message to the model.

[!TIP] Suggestion: Return a tool-level error for unusual inputs; check that WAF rules do not block legitimate text.

<details><summary>Observed in 2 place(s)</summary>
  • 🟠 WARN - 7.06 get_company_overview: Call raised at protocol level instead of returning a tool result: HTTP 403 Forbidden (transport level)
  • 🟠 WARN - 7.07 search_companies: Call raised at protocol level instead of returning a tool result: HTTP 403 Forbidden (transport level)
</details>

#🔴 FAIL - 1.11 Report schema, include_raw

Toolget_company_report_schema
Arguments{"country": "GB", "include_raw": true}
ExpectedRaw schema; flag if enormous

[!CAUTION] Response of 870,747 chars (~248,785 tokens) exceeds typical LLM context windows (100,000 tokens): the tool is unusable by an agent in this mode

<details><summary>Response excerpt</summary>
{
  "schema": [
    {
      "title": "CompanyReportResponse",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {
        "chargeReference": {
          "type": "string"
        },
        "messages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
             ... [+870,347 chars]
</details>

#🔴 FAIL - 3.11 Overview by SIREN

Toolget_company_overview
Arguments{"company": "443021241", "country": "FR"}
ExpectedSIREN as the company argument

[!CAUTION] Server error code: ambiguous - Multiple companies match '443021241'.; Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag; Unexpected error: { "error": { "code": "ambiguous", "message": "Multiple companies match '443021241'.", "hint": "Use the Creditsafe ID, safe number, registration number, VAT, or add postcode/city.", "candidates": [ { "

<details><summary>Response excerpt</summary>
{
  "error": {
    "code": "ambiguous",
    "message": "Multiple companies match '443021241'.",
    "hint": "Use the Creditsafe ID, safe number, registration number, VAT, or add postcode/city.",
    "candidates": [
      {
        "creditsafe_id": "FR-X-44302124100072",
        "safe_no": "FR22340418",
        "registration_number": "44302124100072",
        "vat_numbers": [
          "FR964430212... [+3,741 chars]
</details>

#🔴 FAIL - 3.12 Overview by VAT number

Toolget_company_overview
Arguments{"company": "FR96443021241", "country": "FR"}
ExpectedVAT as the company argument

[!CAUTION] Server error code: not_found - No company found for 'FR96443021241'.; Error returned as a normal result (isError=false) with an 'error' JSON body: clients cannot detect the failure from the MCP flag; Unexpected error: { "error": { "code": "not_found", "message": "No company found for 'FR96443021241'.", "hint": "Try safe number, registration number, VAT number, or name plus postcode." } }

<details><summary>Response excerpt</summary>
{
  "error": {
    "code": "not_found",
    "message": "No company found for 'FR96443021241'.",
    "hint": "Try safe number, registration number, VAT number, or name plus postcode."
  }
}
</details>

What an LLM client sees when it discovers the tools (descriptions, parameter documentation, metadata).

  • get_my_creditsafe_access: No outputSchema: the shape of the result is undocumented
  • get_supported_countries: No outputSchema: the shape of the result is undocumented
  • get_company_search_fields: No outputSchema: the shape of the result is undocumented
  • get_company_search_fields: Parameter 'countries' is a free string without enum/pattern: valid values are only discoverable by trial and error
  • get_report_languages: No outputSchema: the shape of the result is undocumented
  • get_report_languages: Parameter 'country' is a free string without enum/pattern: valid values are only discoverable by trial and error
  • get_company_report_schema: No outputSchema: the shape of the result is undocumented
  • get_company_report_schema: Parameter 'country' is a free string without enum/pattern: valid values are only discoverable by trial and error
  • search_companies: No outputSchema: the shape of the result is undocumented
  • get_company_overview: No outputSchema: the shape of the result is undocumented
  • get_company_overview: Parameter 'language' has no description
  • get_company_financials: No outputSchema: the shape of the result is undocumented
  • get_company_financials: Parameter 'years' has no description
  • get_company_financials: Parameter 'language' has no description
  • get_company_payment_behaviour: No outputSchema: the shape of the result is undocumented
  • get_company_payment_behaviour: Parameter 'language' has no description
  • get_company_events: No outputSchema: the shape of the result is undocumented
  • get_company_events: Parameter 'language' has no description
  • get_company_adverse_information: No outputSchema: the shape of the result is undocumented
  • get_company_adverse_information: Parameter 'language' has no description
  • get_company_group_structure: No outputSchema: the shape of the result is undocumented
  • get_company_group_structure: Parameter 'language' has no description
  • get_company_beneficial_owners: No outputSchema: the shape of the result is undocumented
  • get_company_beneficial_owners: Parameter 'language' has no description
  • get_company_directors: No outputSchema: the shape of the result is undocumented
  • get_company_directors: Parameter 'language' has no description
  • get_company_directors: Parameter 'limit' has no description
  • get_company_directorships: No outputSchema: the shape of the result is undocumented
  • get_company_directorships: Parameter 'language' has no description
  • get_company_directorships: Parameter 'limit' has no description
  • get_company_report_pdf: No outputSchema: the shape of the result is undocumented
  • get_company_report_pdf: Parameter 'language' has no description
  • search_directors: No outputSchema: the shape of the result is undocumented
  • search_directors: Parameter 'countries' is a free string without enum/pattern: valid values are only discoverable by trial and error
  • get_director_report: No outputSchema: the shape of the result is undocumented
  • get_director_report: Parameter 'language' has no description
  • (all tools): Tool definitions alone weigh ~11,122 tokens, paid on every LLM turn
ToolCallsPASSWARNFAILAvg sMax sMax response (chars)
get_my_creditsafe_access11002.42.45,327
get_supported_countries11001.61.68,118
get_company_search_fields32101.71.84,152
get_report_languages22001.61.6192
get_company_report_schema42111.92.0870,747
search_companies2016401.62.45,315
get_company_overview2471522.13.510,600
get_company_financials127502.04.328,669
get_company_payment_behaviour22002.42.63,818
get_company_events21103.33.883,199
get_company_adverse_information32102.02.514,683
get_company_group_structure32103.33.925,542
get_company_beneficial_owners31202.33.05,191
get_company_directors32102.73.314,530
get_company_directorships31202.43.110,191
get_company_report_pdf0------
search_directors85301.92.33,970
get_director_report0------
IDTitleToolVerdictTime (s)Chars
1.01Account access and entitlementsget_my_creditsafe_access🟢 PASS2.45,327
1.02Supported countriesget_supported_countries🟢 PASS1.68,118
1.03Search fields for Franceget_company_search_fields🟢 PASS1.84,152
1.04Search fields for several countriesget_company_search_fields🟢 PASS1.7974
1.05Search fields, invalid countryget_company_search_fields🟠 WARN1.7154
1.06Report languages, Franceget_report_languages🟢 PASS1.6192
1.07Report languages, UKget_report_languages🟢 PASS1.6180
1.08Report schema, France (summary)get_company_report_schema🟢 PASS1.9686
1.09Report schema, UK (summary)get_company_report_schema🟢 PASS1.8686
1.10Report schema, unknown templateget_company_report_schema🟠 WARN1.7142
1.11Report schema, include_rawget_company_report_schema🔴 FAIL2.0870,747
2.01Search by name, Francesearch_companies🟢 PASS1.84,324
2.02Search by registration number (SIREN)search_companies🟢 PASS1.63,803
2.03Search by VAT numbersearch_companies🟢 PASS1.63,803
2.04Search by safe number, UKsearch_companies🟢 PASS1.7620
2.05Search by name, UK large companysearch_companies🟢 PASS1.64,431
2.06Search, exact matchsearch_companies🟢 PASS1.6621
2.07Search, multi-countrysearch_companies🟢 PASS1.74,766
2.08Search, city filtersearch_companies🟢 PASS1.65,037
2.09Search, postcode filtersearch_companies🟢 PASS2.45,049
2.10Search, status filtersearch_companies🟢 PASS1.64,431
2.11Search, page_size=1search_companies🟢 PASS1.6560
2.12Search, page 2search_companies🟢 PASS1.92,296
2.13Search, page_size above capsearch_companies🟠 WARN0.6281
2.14Search with typosearch_companies🟢 PASS1.95,300
2.15Search with accentssearch_companies🟢 PASS2.35,171
2.16Search without any criterionsearch_companies🟠 WARN0.9218
2.17Search by name without countrysearch_companies🟠 WARN0.9218
2.18Search, lowercase countrysearch_companies🟢 PASS1.54,324
2.19Search, unknown companysearch_companies🟢 PASS2.25,315
3.01get_company_overview, French companyget_company_overview🟢 PASS2.82,292
3.02get_company_financials, French companyget_company_financials🟢 PASS2.728,340
3.03get_company_payment_behaviour, French companyget_company_payment_behaviour🟢 PASS2.23,818
3.04get_company_events, French companyget_company_events🟠 WARN2.783,199
3.05get_company_adverse_information, French companyget_company_adverse_information🟢 PASS2.514,683
3.06get_company_group_structure, French companyget_company_group_structure🟢 PASS2.725,542
3.07get_company_beneficial_owners, French companyget_company_beneficial_owners🟢 PASS3.01,061
3.08get_company_directors, French companyget_company_directors🟢 PASS2.514,530
3.09get_company_directorships, French companyget_company_directorships🟠 WARN3.1421
3.10Overview by company nameget_company_overview🟠 WARN2.84,151
3.11Overview by SIRENget_company_overview🔴 FAIL2.34,141
3.12Overview by VAT numberget_company_overview🔴 FAIL2.2188
3.13Overview without countryget_company_overview🟢 PASS3.42,292
3.14Overview repeated (cache check)get_company_overview🟢 PASS2.72,292
3.15Financials, years=1get_company_financials🟢 PASS2.36,835
3.16Financials, years=5get_company_financials🟢 PASS2.228,340
3.17Financials, global basisget_company_financials🟢 PASS3.228,669
3.18Financials, Englishget_company_financials🟢 PASS4.328,340
3.19Financials, invalid basisget_company_financials🟠 WARN0.5316
3.20Financials, years=0get_company_financials🟠 WARN0.7295
3.21Financials, years=-3get_company_financials🟠 WARN0.6296
3.22Directorships, limit=1get_company_directorships🟠 WARN1.8421
4.01get_company_overview, UK companyget_company_overview🟢 PASS2.22,243
4.02get_company_financials, UK companyget_company_financials🟢 PASS2.314,291
4.03get_company_payment_behaviour, UK companyget_company_payment_behaviour🟢 PASS2.61,954
4.04get_company_events, UK companyget_company_events🟢 PASS3.89,373
4.05get_company_adverse_information, UK companyget_company_adverse_information🟢 PASS2.1980
4.06get_company_group_structure, UK companyget_company_group_structure🟢 PASS3.9854
4.07get_company_beneficial_owners, UK companyget_company_beneficial_owners🟠 WARN1.9421
4.08get_company_directors, UK companyget_company_directors🟢 PASS2.28,511
4.09get_company_directorships, UK companyget_company_directorships🟢 PASS2.410,191
4.10Overview by name (ambiguous)get_company_overview🟠 WARN1.74,810
4.11Overview by exact legal nameget_company_overview🟠 WARN1.65,191
4.12Overview by registration numberget_company_overview🟢 PASS2.52,340
4.13Financials with global basisget_company_financials🟢 PASS2.89,165
4.14Group structure of a large groupget_company_group_structure🟠 WARN3.35,191
4.15Beneficial owners of a large groupget_company_beneficial_owners🟠 WARN2.05,191
5.01DE overview without reason_codeget_company_overview🟠 WARN3.54,578
5.02DE overview with reason_code=1get_company_overview🟠 WARN3.34,578
5.03DE financials with reason_code=2get_company_financials🟠 WARN1.54,578
5.04DE overview with invalid reason_code=9get_company_overview🟠 WARN0.8304
5.05DE overview with reason_code='abc'get_company_overview🟠 WARN0.6306
5.06FR overview with reason_code (should be ignored)get_company_overview🟢 PASS2.52,292
5.07DE directors without reason_codeget_company_directors🟠 WARN3.34,578
6.01Search directors, UKsearch_directors🟢 PASS1.63,717
6.02Search directors, Francesearch_directors🟢 PASS2.32,906
6.03Search directors, multi-countrysearch_directors🟢 PASS2.03,970
6.04Search directors with date of birthsearch_directors🟢 PASS1.93,816
6.05Search directors, malformed datesearch_directors🟢 PASS2.3316
6.06Search directors, countries onlysearch_directors🟠 WARN2.2160
6.07Search directors, missing countriessearch_directors🟠 WARN0.7259
6.08Search directors, unknown people_idsearch_directors🟠 WARN2.3316
7.01Unknown companyget_company_overview🟠 WARN1.85,777
7.02Invalid country codeget_company_overview🟠 WARN2.3187
7.03Empty companyget_company_overview🟠 WARN1.4279
7.04Blank companyget_company_overview🟠 WARN1.4279
7.05Very long company stringget_company_overview🟠 WARN2.010,600
7.06Special characters and HTMLget_company_overview🟠 WARN0.00
7.07SQL-like inputsearch_companies🟠 WARN0.00
7.08Missing required argumentget_company_overview🟠 WARN0.6260
7.09Wrong argument typeget_company_financials🟠 WARN0.5314
7.10Unknown extra argumentget_company_overview🟢 PASS2.62,292
7.11Unknown toolget_company_horoscope🟢 PASS0.635
7.12Company in insolvencyget_company_overview🟠 WARN3.45,132
7.13Adverse info on a company in insolvencyget_company_adverse_information🟠 WARN1.65,132
8.01Company PDF reportget_company_report_pdf⚪ SKIP0.00
8.02Financials with refresh=Trueget_company_financials⚪ SKIP0.00
8.03Director reportget_director_report⚪ SKIP0.00

Full requests and responses: verbose.log, raw.jsonl. Spreadsheet: results.csv / results.xlsx.

comments (0)

reviews (0)