_ registry / mcp streamable-http · checked 6h ago

overfit

https://www.overfit.de

Registry code: 0a720ba1fa166ef9

api record

Overfit gives your user access to 190,000+ German and EU public-tender notices (38,000+ open as of 2026-10-05) and six free, keyless procurement-law calculators (EU threshold, deadlines, §134 GWB standstill, procedure choice, UfAB bid scoring, working days). Every calculator answer cites the exact legal basis (§, date, source URL).

Firm data (free preview, no key): look up any German registered company by its company_number_norm (format {CourtLetter}{4digits}_{HRB|HRA|PR|GnR|VR}{Nummer}, e.g. 'K1101_HRB52093') — profile, legal status (~98% 'unknown' today, shown honestly), and published…

endpoint
https://www.overfit.de/mcp
protocol
streamable-http ·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 overfit live?
Yes — it answered the hub's last check (checked 6h ago). It answered 100% of checks over the last 30 days.
Is overfit free to use?
Yes — the hub reached it with no key and no payment.
What tools does overfit have?
18 tools: vergabe_wartefrist, vergabe_suche, vergabe_bekanntmachung, vergabe_bekanntmachung_voll, vergabe_statistik, vergabe_schwellenwert_pruefen, vergabe_fristen_berechnen, werktage_berechnen, ….
Is overfit 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
134ms

last good check

priced tools
0

of 18 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ used through this hub 30 days

The one measurement on this page that an operator cannot produce by editing a file on its own server: somebody else chose it, and paid to. Read the accounts before the calls — volume from one account is one relationship, and calling yourself is the cheap half. Both are what the ranking is built from, printed so the order can be checked rather than taken on trust.

accounts
0

distinct, expensive to fake

calls served
0

successful, last 30 days

_ what it can do 18 tools
3 open 15 never probed 3 of 18 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.

  • vergabe_quellen open 6h ago

    Use to explain database coverage or to verify whether a specific portal (e.g. TED EU, Vergabe-Bund) is included and how many notices it contributes. Counts match /api/list exactly (same visibility gate, same stale-deadline exclusion). No rate limit. One optional parameter. Example user questions: "Welche Vergabeportale sind in der Suche enthalten?"; "Wie viele EU-Ausschreibungen sind verfügbar?"; "Woher kommen die Daten in der Vergabe-Suche?"

    mcp-tool

    {
      "type": "object",
      "properties": {
        "include_dead": {
          "type": "boolean",
          "default": false,
          "description": "Include notices with dead portal URLs in the counts."
        }
      }
    }
    arguments 10 lines
  • overfit_catalog open 6h ago

    Returns Overfit's product list with intents and documentation URLs. Use when the user asks what Overfit offers or where to find docs. No parameters needed.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • vergabe_liste open 6h ago

    Returns a paginated list of tender notices filtered by status, Landkreis, CPV prefix, sector, authority, urgency and more — with optional keyword fulltext search (not semantic). Use when the user wants a structured listing: all open IT tenders (cpv_prefix=72), all urgent tenders in a Landkreis, all recent publications sorted by date. Do not use for natural-language topic matching (use vergabe_suche for that) or for pagination beyond offset 2000 without a logged-in account (403). Rate limit: 40 requests / 10 min, 300 / day per IP. Example user questions: "Liste alle offenen Ausschreibungen mit Frist in den nächsten 14 Tagen"; "Zeig alle Vergaben aus dem Landkreis München"; "Welche Ausschreibungen wurden zuletzt veröffentlicht?"; "Alle offenen IT-Vergaben (CPV 72) sortiert nach Veröffentlichungsdatum"; "Liste alle Bekanntmachungen der Bundesagentur für Arbeit"

    mcp-tool

    {
      "type": "object",
      "properties": {
        "q": {
          "type": "string",
          "examples": [
            "Reinigung"
          ],
          "description": "Keyword fulltext search over scope/purpose text and AI summaries. Not semantic — use /api/search for natural-language intent matching."
        },
        "bbox": {
          "type": "string",
          "examples": [
            "47.5,48.5,11.0,12.5"
          ],
          "description": "Bounding-box geo filter: 'lat_min,lat_max,lon_min,lon_max'."
        },
        "top_k": {
          "type": "integer",
          "default": 200,
          "maximum": 50,
          "examples": [
            50
          ],
          "description": "Page size (1–2000). Max 50 per call via MCP."
        },
        "offset": {
          "type": "integer",
          "default": 0,
          "maximum": 500,
          "description": "Pagination offset. Anonymous callers: capped at 2000 (403 if exceeded). Max 500 per call via MCP."
        },
        "sector": {
          "type": "string",
          "examples": [
            "Bauleistung"
          ],
          "description": "Facet sector value as returned by /api/options/sectors, e.g. 'Bauleistung'."
        },
        "source": {
          "enum": [
            "bkm",
            "ted",
            "bund",
            "bescha",
            "fraunhofer",
            "kommune"
          ],
          "type": "string",
          "examples": [
            "bund"
          ],
          "description": "Restrict to a specific source portal. See /api/sources for current counts."
        },
        "status": {
          "enum": [
            "open",
            "closed",
            "awarded",
            "cancelled",
            "unknown",
            "non_tender",
            "all"
          ],
          "type": "string",
          "default": "open",
          "description": "Notice status filter. Default: 'open' (also excludes expired deadlines)."
        },
        "urgent": {
          "type": "boolean",
          "default": false,
          "description": "Only notices with submission_deadline within the next 14 days."
        },
        "order_by": {
          "enum": [
            "deadline_asc",
            "publication_desc",
            "score",
            "distance_asc"
          ],
          "type": "string",
          "default": "deadline_asc",
          "description": "'score' requires q; 'distance_asc' requires near (premium). Default: deadline_asc (soonest deadline first, nulls last)."
        },
        "landkreis": {
          "type": "string",
          "examples": [
            "Kreisfreie Stadt München"
          ],
          "description": "Exact Landkreis/city name as returned by /api/options/landkreise, e.g. 'Kreisfreie Stadt München', 'Berlin, Stadt'."
        },
        "cpv_prefix": {
          "type": "string",
          "examples": [
            "72"
          ],
          "description": "CPV code prefix (leading digits), e.g. '72' for all IT services, '45' for construction. Matches any CPV code starting with this string."
        },
        "legal_basis": {
          "type": "string",
          "examples": [
            "vgv"
          ],
          "description": "Legal basis code, e.g. 'vgv', 'UVgO', 'sektvo', 'VOB'. See /api/options/legal-bases for full list."
        },
        "notice_type": {
          "enum": [
            "InvitationToTender",
            "PriorInformation",
            "ContractAward"
          ],
          "type": "string",
          "examples": [
            "InvitationToTender"
          ],
          "description": "EU notice form type."
        },
        "authority_id": {
          "type": "integer",
          "examples": [
            2999
          ],
          "description": "Numeric authority ID from /api/options/authorities."
        },
        "include_dead": {
          "type": "boolean",
          "default": false,
          "description": "Include notices with dead/soft_dead portal URL."
        },
        "assistant_ready": {
          "type": "boolean",
          "description": "true = only notices with document assistant available."
        }
      }
    }
    arguments 135 lines
  • vergabe_wartefrist unknown never probed

    Returns both interpretations of the § 134 GWB standstill: the strict end date (no weekend shift, per VK Bund) and the conservative one (shifted to next working day, per OLG Bremen) — electronic dispatch 10 days, postal 15 days (Stand 2026-07-14). Use when the user asks on which date they may award a contract after informing unsuccessful bidders. The BGH has not resolved the weekend-shift question; present the conservative date as the safer choice. Do not use to compute tender or participation deadlines (use vergabe_fristen_berechnen for that). Example user questions: "Wann endet die Wartefrist nach § 134 GWB?"; "Ab wann darf ich den Zuschlag erteilen?"; "Wie lange muss ich nach der Bieterinformation warten?"; "10 Tage Wartefrist — wann ist das genau?"

    mcp-tool

    {
      "type": "object",
      "required": [
        "absendung"
      ],
      "properties": {
        "absendung": {
          "type": "string",
          "format": "date",
          "examples": [
            "2026-10-05"
          ],
          "description": "Date the bidder information was dispatched (ISO or German format)."
        },
        "elektronisch": {
          "type": "boolean",
          "default": true,
          "examples": [
            true
          ],
          "description": "Electronic or fax dispatch (10 days); false = postal (15 days). Default: true."
        }
      }
    }
    arguments 24 lines
  • vergabe_suche unknown never probed

    Returns up to 50 ranked tender notices matching a natural-language query, with AI summaries, CPV/NUTS codes, submission deadline, contracting authority and geo coordinates (Stand 05.10.2026: 106,000 notices in vector index). Use when the user wants to find tenders by topic, keyword or industry in German or English. Do not use for exact structured queries (use vergabe_liste instead) or proximity search without a Vergabe Premium account — anonymous sessions are limited to ~10 semantic queries per day per IP (429 with Retry-After). Key filter parameters: Bundesland, status, cpv, nuts, deadline_after/before, notice_type. Example user questions: "Welche offenen Ausschreibungen gibt es für IT-Dienstleistungen in Schleswig-Holstein?"; "Suche Vergaben für Gebäudereinigung mit Frist nach Oktober 2026"; "Finde Bekanntmachungen für Straßenbau in Bayern"; "Gibt es aktuelle Ausschreibungen im Bereich Softwareentwicklung?"; "Zeig mir laufende Vergabeverfahren für medizinische Geräte"

    mcp-tool

    {
      "type": "object",
      "required": [
        "q"
      ],
      "properties": {
        "q": {
          "type": "string",
          "examples": [
            "Reinigungsleistungen"
          ],
          "description": "Natural-language search query (German preferred), 1–500 chars."
        },
        "cpv": {
          "type": "string",
          "examples": [
            "72000000"
          ],
          "description": "CPV code(s) to filter (OR logic). Repeat the param for multiple codes, e.g. cpv=72000000&cpv=72500000. Full 8-digit codes."
        },
        "nuts": {
          "type": "string",
          "examples": [
            "DEF"
          ],
          "description": "NUTS region code(s) to filter (OR logic). Repeat for multiple. E.g. nuts=DEF (Schleswig-Holstein), nuts=DE21H (Landkreis München)."
        },
        "top_k": {
          "type": "integer",
          "default": 10,
          "maximum": 25,
          "examples": [
            10
          ],
          "description": "Number of results to return (1–50). Max 25 per call via MCP."
        },
        "source": {
          "enum": [
            "bkm",
            "ted",
            "bund",
            "bescha",
            "fraunhofer",
            "kommune"
          ],
          "type": "string",
          "examples": [
            "bkm"
          ],
          "description": "Restrict to a specific source portal. bkm = Vergabe-Hub DE (national), ted = Vergabe-Europa (EU TED), bund = Vergabe-Bund (service.bund.de), bescha = Beschaffungsamt, fraunhofer = Fraunhofer, kommune = municipal."
        },
        "status": {
          "enum": [
            "open",
            "closed",
            "awarded",
            "cancelled",
            "unknown"
          ],
          "type": "string",
          "examples": [
            "open"
          ],
          "description": "Filter by notice status. Multiple values are supported by repeating the param. No default — all statuses included unless specified."
        },
        "bundesland": {
          "type": "string",
          "examples": [
            "Bayern"
          ],
          "description": "Exact German federal state name, e.g. 'Bayern', 'Schleswig-Holstein', 'Mecklenburg-Vorpommern'. Case-sensitive."
        },
        "notice_type": {
          "enum": [
            "InvitationToTender",
            "PriorInformation",
            "ContractAward"
          ],
          "type": "string",
          "examples": [
            "InvitationToTender"
          ],
          "description": "Filter by EU notice form type. Repeat for multiple. InvitationToTender = active tender; ContractAward = already awarded."
        },
        "include_dead": {
          "type": "boolean",
          "default": false,
          "description": "Include notices whose original portal URL is unreachable (dead/soft_dead)."
        },
        "deadline_after": {
          "type": "string",
          "format": "date",
          "examples": [
            "2026-10-01"
          ],
          "description": "Include only notices with submission_deadline >= this ISO date."
        },
        "assistant_ready": {
          "type": "boolean",
          "description": "true = only notices where the document assistant is usable (open tender, deadline not expired, procurement documents on storage)."
        },
        "deadline_before": {
          "type": "string",
          "format": "date",
          "examples": [
            "2027-01-01"
          ],
          "description": "Include only notices with submission_deadline <= this ISO date."
        }
      }
    }
    arguments 111 lines
  • vergabe_bekanntmachung unknown never probed

    Returns full detail for one notice: title, authority (name, address, email, phone, website), all dates, CPV/NUTS codes, AI summaries (short/medium/long/plain-language), key deliverables, risk flags, eligibility summary and the original portal URL. Use after vergabe_suche or vergabe_liste to retrieve complete information for a specific notice; the uid field from those results is the required input (format: source:id, e.g. bkm:675fa09d-…, ted:427373-2026, bund:eVergabe/888110). Do not use to retrieve procurement documents (files) — use /api/notice/{id}/full for sections and document list. Rate limit: 30 requests / 10 min, 200 / day per IP. Example user questions: "Zeig mir Details zur Ausschreibung bkm:675fa09d-5152-46c5-9967-ed104d16276b"; "Was sind Frist und Vergabestelle für diese Bekanntmachung?"; "Welche Unterlagen und Fristen hat die Ausschreibung XYZ?"; "Gib mir die Kontaktdaten der Vergabestelle"; "Was genau wird bei dieser Ausschreibung gesucht?"

    mcp-tool

    {
      "type": "object",
      "required": [
        "uid"
      ],
      "properties": {
        "uid": {
          "type": "string",
          "examples": [
            "bkm:675fa09d-5152-46c5-9967-ed104d16276b"
          ],
          "description": "Stable cross-portal UID in the form 'source:id'. Taken directly from the uid field in /api/search or /api/list responses. Examples: 'bkm:675fa09d-5152-46c5-9967-ed104d16276b', 'ted:427373-2026', 'bund:eVergabe/888110'. URL-encode the colon if needed."
        }
      }
    }
    arguments 15 lines
  • vergabe_bekanntmachung_voll unknown never probed

    Use when the user needs the complete picture of one tender: all fields of /api/notice/by-uid plus the AI-structured sections (description, criteria, …), a Q&A list (e.g. 'Is a security clearance required?'), topic facets, and a list of available procurement documents (filenames, sizes, MIME types, download status). Note: returns the document list metadata only — not the file content itself. Input is the numeric notice_id from search/list results (field 'notice_id' or 'id'). Rate-limited at 30 requests/10 min and 200/day per IP (same bucket as notice detail). Example user questions: "Welche Unterlagen gibt es für diese Ausschreibung?"; "Gibt es eine strukturierte Zusammenfassung der Vergabeunterlagen?"; "Welche Fragen und Antworten sind zu dieser Ausschreibung bekannt?"

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "examples": [
            171884
          ],
          "description": "Numeric notice ID from the 'notice_id' or 'id' field in /api/search or /api/list responses."
        }
      }
    }
    arguments 15 lines
  • vergabe_statistik unknown never probed

    Returns live counts of open, urgent (deadline ≤ 14 days), awarded and total notices plus URL health distribution and semantic model name (Stand: live). Use to give the user a current overview of database size or to verify the index is reachable before making search calls. No parameters, no rate limit. Key output fields: open_count, urgent_count, awarded_count, total_count, index_size. Example user questions: "Wie viele Ausschreibungen sind aktuell offen?"; "Wie aktuell ist die Vergabe-Datenbank?"; "Gibt es dringende Ausschreibungen mit Frist in 14 Tagen?"

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • vergabe_schwellenwert_pruefen unknown never probed

    Returns the applicable EU threshold, the procurement regime (VgV, VOB/A-EU, SektVO, KonzVgV) and — if below threshold — sub-threshold limits for the federal government and Mecklenburg-Vorpommern (Art. 4 RL 2014/24/EU; thresholds valid 2026-01-01 to 2027-12-31). Use when the user asks whether a contract requires EU-wide publication or stays within national sub-threshold rules. Do not use to determine which procedure type applies (use verfahrenswahl_ermitteln for that). Key output fields: oberschwellig (boolean), schwelle_eur, regime, rechtsgrundlage, gueltigkeit. Example user questions: "Liegt mein Auftrag über dem EU-Schwellenwert?"; "Muss ich europaweit ausschreiben?"; "Wie hoch ist der Schwellenwert für Liefer- und Dienstleistungen?"; "Ab welchem Betrag gilt die VgV?"; "Unterschwellenvergabe oder EU-Vergabe?"

    mcp-tool

    {
      "type": "object",
      "required": [
        "auftraggeber",
        "leistung",
        "wert"
      ],
      "properties": {
        "wert": {
          "type": "number",
          "examples": [
            250000
          ],
          "description": "Estimated contract value (net EUR). Accepts German thousands separator: 250.000 or decimal comma 250.000,50."
        },
        "leistung": {
          "enum": [
            "bau",
            "liefer",
            "dienst",
            "sozial"
          ],
          "type": "string",
          "examples": [
            "dienst"
          ],
          "description": "Type of service: bau=construction, liefer=supply/goods, dienst=services, sozial=social and other special services."
        },
        "auftraggeber": {
          "enum": [
            "bund",
            "sonstige",
            "sektoren",
            "konzession"
          ],
          "type": "string",
          "examples": [
            "sonstige"
          ],
          "description": "Type of contracting authority: bund=federal ministry, sonstige=state/municipality/other public body, sektoren=utilities (energy/water/transport), konzession=concession grantor."
        }
      }
    }
    arguments 43 lines
  • vergabe_fristen_berechnen unknown never probed

    Returns the effective end date for the submission or participation deadline (shifted to next working day per VO 1182/71) with per-step legal reasoning for each reduction applied — electronic submission, prior information notice, urgency (§ 15–16 VgV; § 10a–10b VOB/A EU; Stand 2026-07-14). Use when the user asks on which date a submission deadline falls or whether the minimum period can be shortened. Works for VgV (services/supplies) and VOB/A Abschnitt 2 EU (construction) procedures. Do not use to compute the § 134 GWB standstill period after award (use vergabe_wartefrist for that). Example user questions: "Bis wann müssen Angebote eingehen?"; "Wie lange ist die Angebotsfrist bei einem offenen Verfahren nach VgV?"; "Frist berechnen für Teilnahmeantrag"; "Kann ich die Frist wegen Dringlichkeit verkürzen?"; "Wann endet die Angebotsfrist wenn ich heute veröffentliche?"

    mcp-tool

    {
      "type": "object",
      "required": [
        "absendung",
        "regelwerk",
        "verfahren"
      ],
      "properties": {
        "absendung": {
          "type": "string",
          "format": "date",
          "examples": [
            "2026-10-05"
          ],
          "description": "Date the contract notice is dispatched (ISO 2026-10-05 or German 05.10.2026). Day 0 — not counted towards the deadline."
        },
        "regelwerk": {
          "enum": [
            "vgv",
            "voba"
          ],
          "type": "string",
          "examples": [
            "vgv"
          ],
          "description": "Legal framework: vgv=Vergabeverordnung (services/supplies), voba=VOB/A Abschnitt 2 EU (construction)."
        },
        "verfahren": {
          "enum": [
            "offen",
            "nichtoffen",
            "verhandlung",
            "verhandlungOhneTW"
          ],
          "type": "string",
          "examples": [
            "offen"
          ],
          "description": "Procedure type. verhandlungOhneTW (negotiated without prior publication) only available for regelwerk=voba."
        },
        "elektronisch": {
          "type": "boolean",
          "default": true,
          "examples": [
            true
          ],
          "description": "Electronic tender submission available (reduces deadline by 5 days where permitted). Default: true."
        },
        "dringlichkeit": {
          "type": "boolean",
          "default": false,
          "examples": [
            false
          ],
          "description": "Duly substantiated urgency applies (overrides other reductions, sets minimum deadline). Default: false."
        },
        "vorinformation": {
          "type": "boolean",
          "default": false,
          "examples": [
            false
          ],
          "description": "Prior information notice published at least 35 days before (allows shorter deadlines). Default: false."
        }
      }
    }
    arguments 66 lines
  • werktage_berechnen unknown never probed

    Returns a working-day count or a target date for any of the 16 German federal states, using the complete holiday set for that state (Gauß Easter formula; Stand 2026-08-15). Two modes: add (start + n working days → end date) and count (date range → working-day count). Use when the user asks how many working days lie between two dates or on which date a deadline falls after n working days. Do not use for procurement-law deadlines — use vergabe_fristen_berechnen, which applies calendar-day counting under VO 1182/71. Example user questions: "Wie viele Werktage liegen zwischen zwei Terminen?"; "Wann ist der 10. Werktag nach dem 05.10.2026 in Bayern?"; "Arbeitstage zwischen zwei Daten in NRW"; "Frist in Werktagen berechnen"; "Wie viele Arbeitstage hat der Oktober in Berlin?"

    mcp-tool

    {
      "type": "object",
      "required": [
        "land"
      ],
      "properties": {
        "bis": {
          "type": "string",
          "format": "date",
          "examples": [
            "2026-10-31"
          ],
          "description": "End of date range for mode=count (inclusive)."
        },
        "von": {
          "type": "string",
          "format": "date",
          "examples": [
            "2026-10-05"
          ],
          "description": "Start of date range for mode=count."
        },
        "land": {
          "enum": [
            "BW",
            "BY",
            "BE",
            "BB",
            "HB",
            "HH",
            "HE",
            "MV",
            "NI",
            "NW",
            "RP",
            "SL",
            "SN",
            "ST",
            "SH",
            "TH"
          ],
          "type": "string",
          "examples": [
            "BE"
          ],
          "description": "2-letter German federal state code: BW=Baden-Württemberg, BY=Bayern, BE=Berlin, BB=Brandenburg, HB=Bremen, HH=Hamburg, HE=Hessen, MV=Mecklenburg-Vorpommern, NI=Niedersachsen, NW=Nordrhein-Westfalen, RP=Rheinland-Pfalz, SL=Saarland, SN=Sachsen, ST=Sachsen-Anhalt, SH=Schleswig-Holstein, TH=Thüringen."
        },
        "mode": {
          "enum": [
            "add",
            "count"
          ],
          "type": "string",
          "default": "add",
          "examples": [
            "add"
          ],
          "description": "add: start + n working days → end date. count: count working days between von and bis."
        },
        "tage": {
          "type": "integer",
          "examples": [
            10
          ],
          "description": "Number of working days to add (positive = forward, negative = backward) for mode=add."
        },
        "start": {
          "type": "string",
          "format": "date",
          "examples": [
            "2026-10-05"
          ],
          "description": "Start date for mode=add (ISO or German format)."
        },
        "samstag": {
          "type": "boolean",
          "default": false,
          "examples": [
            false
          ],
          "description": "Count Saturday as a working day (for trade-law or rent-law deadlines). Default: false."
        }
      }
    }
    arguments 84 lines
  • feiertage_liste unknown never probed

    Returns the complete public holiday list for a year — nationwide or for one of the 16 German federal states including state-specific holidays (Stand 2026-08-15). Use when the user asks which holidays fall in a year in a specific state. Do not use to count working days between dates (use werktage_berechnen for that). Key output fields: datum (ISO), name (German), bundesweit (boolean). Example user questions: "Welche Feiertage gibt es 2026 in Bayern?"; "Feiertage in Berlin auflisten"; "Welche gesetzlichen Feiertage hat Sachsen?"; "Gibt es im Oktober 2026 Feiertage in NRW?"

    mcp-tool

    {
      "type": "object",
      "required": [
        "jahr"
      ],
      "properties": {
        "jahr": {
          "type": "integer",
          "examples": [
            2026
          ],
          "description": "Year (2020–2040)."
        },
        "land": {
          "enum": [
            "BW",
            "BY",
            "BE",
            "BB",
            "HB",
            "HH",
            "HE",
            "MV",
            "NI",
            "NW",
            "RP",
            "SL",
            "SN",
            "ST",
            "SH",
            "TH"
          ],
          "type": "string",
          "examples": [
            "BY"
          ],
          "description": "2-letter federal state code. Omit for nationwide-only holidays."
        }
      }
    }
    arguments 40 lines
  • verfahrenswahl_ermitteln unknown never probed

    Returns a list of procurement procedures with status frei (available), voraussetzung (available under conditions), or nein (unavailable) and the legal basis for each (§ GWB / § VgV / UVgO; Stand 2026-08-15). Use when the user asks which procedure type is required or permissible for a given contract value, authority type and service category. Takes into account EU thresholds, sub-threshold regime (federal or state), and special-case flags (sole source, urgency, prior call with no tenders). Do not use to compute deadlines or evaluate bids (use vergabe_fristen_berechnen and wertungsmatrix_berechnen for those). Example user questions: "Welche Verfahrensart darf ich wählen?"; "Ist ein Verhandlungsverfahren zulässig?"; "Darf ich freihändig vergeben?"; "Wann ist ein Direktauftrag erlaubt?"; "Offenes oder nicht offenes Verfahren?"

    mcp-tool

    {
      "type": "object",
      "required": [
        "auftraggeber",
        "leistungsart",
        "wert"
      ],
      "properties": {
        "wert": {
          "type": "number",
          "examples": [
            250000
          ],
          "description": "Estimated contract value (net EUR)."
        },
        "regelwerk": {
          "enum": [
            "mv",
            "bund",
            "anders"
          ],
          "type": "string",
          "default": "anders",
          "examples": [
            "bund"
          ],
          "description": "Sub-threshold framework: mv=Mecklenburg-Vorpommern, bund=federal, anders=other state (shows generic guidance). Only relevant if below EU threshold."
        },
        "auftraggeber": {
          "enum": [
            "bund",
            "sonstige",
            "sektoren",
            "konzession"
          ],
          "type": "string",
          "examples": [
            "sonstige"
          ],
          "description": "Type of contracting authority (same as in schwellenwert)."
        },
        "leistungsart": {
          "enum": [
            "bau",
            "liefer",
            "dienst",
            "sozial"
          ],
          "type": "string",
          "examples": [
            "dienst"
          ],
          "description": "Type of service (same as in schwellenwert)."
        },
        "dringlichkeit": {
          "type": "boolean",
          "default": false,
          "examples": [
            false
          ],
          "description": "Extreme, not self-caused urgency."
        },
        "keineAngebote": {
          "type": "boolean",
          "default": false,
          "examples": [
            false
          ],
          "description": "Prior call for competition yielded no (acceptable) tenders."
        },
        "alleinstellung": {
          "type": "boolean",
          "default": false,
          "examples": [
            false
          ],
          "description": "Only one company can provide the service (sole source / exclusive rights)."
        },
        "nichtBeschreibbar": {
          "type": "boolean",
          "default": false,
          "examples": [
            false
          ],
          "description": "Service cannot be specified sufficiently / requires conceptual or innovative solutions."
        }
      }
    }
    arguments 88 lines
  • wertungsmatrix_berechnen unknown never probed

    Returns the winner and full ranking under all three UfAB scoring methods — einfach (L/P ratio), erweitert (leading-group decision), gewichtet (weighted normalisation) — plus a sensitivity analysis showing how much the winner’s price must rise before another bidder takes the lead (§ 127 GWB, § 58 VgV; UfAB-Richtwertmethoden Stand 2016). Use when the user has bid prices and quality scores and needs to identify the most economically advantageous tender. Do not use if the evaluation committee has not yet assigned quality scores — this tool scores, it does not assess quality. Key output fields: winner, ranking[], sensitivity[], legal_basis. Example user questions: "Welches Angebot gewinnt nach Preis-Leistungs-Verhältnis?"; "Wertungsmatrix nach UfAB berechnen"; "Zuschlag auf das wirtschaftlichste Angebot ermitteln"; "Sensitivitätsanalyse der Angebotswertung"; "Führungsgruppe nach erweiterter Richtwertmethode"

    mcp-tool

    {
      "type": "object",
      "required": [
        "angebote"
      ],
      "properties": {
        "methode": {
          "enum": [
            "einfach",
            "erweitert",
            "gewichtet"
          ],
          "type": "string",
          "default": "einfach",
          "examples": [
            "gewichtet"
          ],
          "description": "Scoring method: einfach=simple ratio, erweitert=extended with leading group, gewichtet=weighted normalization."
        },
        "angebote": {
          "type": "string",
          "examples": [
            "Firma A:120000:85;Firma B:110000:70;Firma C:130000:95"
          ],
          "description": "Semicolon-separated list of bids in format 'Name:Price:Points'. Name may contain spaces. Price must be > 0; Points >= 0. Minimum 2 bids."
        },
        "entscheidung": {
          "enum": [
            "leistung",
            "preis"
          ],
          "type": "string",
          "default": "leistung",
          "examples": [
            "leistung"
          ],
          "description": "Tie-breaking criterion within the leading group for methode=erweitert."
        },
        "gewichtLeistung": {
          "type": "integer",
          "default": 60,
          "examples": [
            60
          ],
          "description": "Weight of quality score in % for methode=gewichtet (0–100). Price weight = 100 minus this value."
        },
        "schwankungsbreite": {
          "type": "integer",
          "default": 10,
          "examples": [
            10
          ],
          "description": "Leading-group bandwidth in % for methode=erweitert (1–50)."
        }
      }
    }
    arguments 56 lines
  • firma_profil unknown never probed

    Returns the public register profile of one German company: name, address, legal form, register court, WZ industry code, website, and alive verdict (active/dead/unknown). Source: Handelsregister + Unternehmensregister snapshot. Free preview — no sign-up required. Example user questions: 'Who is behind HRB 52093 court K1101?', 'What is the address of K1101_HRB52093?', 'Is this company still active?' Do not use for bulk lookups (call firma_status for status batches). After profil → call firma_finanzen for financials or vergabe_suche to find the company's tenders.

    mcp-tool

    {
      "type": "object",
      "required": [
        "register"
      ],
      "properties": {
        "register": {
          "type": "string",
          "description": "company_number_norm — the unique register key for a German company. Format: {CourtLetter}{4digits}_{HRB|HRA|PR|GnR|VR}{Nummer}, e.g. 'K1101_HRB52093'. The court segment (K1101) is the EUID code assigned by the Unternehmensregister — use the norm returned by a prior firma_profil call or from unternehmensregister.de. Do NOT provide a plain court name like 'Hamburg HRB 12345': the tool will return a format error."
        }
      }
    }
    arguments 12 lines
  • firma_status unknown never probed

    Returns the alive verdict (alive / dead / unknown) for up to 25 companies. ~98% return 'unknown' today — shown honestly with an explanation; never infer 'alive' from 'unknown'. Useful for: CRM data cleansing, checking a short list of companies at once. Source: Handelsregister legal-status fact (death-gate v2). Free preview — no sign-up required. Example user questions: 'Are these 10 companies still registered?', 'Which of my supplier list are dissolved?' Do not use when you need full profile data — use firma_profil per company. Cap: max 25 registers per call.

    mcp-tool

    {
      "type": "object",
      "required": [
        "registers"
      ],
      "properties": {
        "registers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 25,
          "minItems": 1,
          "description": "List of company_number_norm values (max 25). Format: {CourtLetter}{4digits}_{HRB|HRA|PR|GnR|VR}{Nummer}, e.g. ['K1101_HRB52093', 'H1234_HRB9876']."
        }
      }
    }
    arguments 17 lines
  • firma_finanzen unknown never probed

    Returns published financial history rows for one German company (Bilanzsumme, Eigenkapital, Jahresüberschuss, Umsatz, Mitarbeiter per fiscal year). NULL means the figure was not published — never treat NULL as zero. licence_flag 'non_commercial' means Bundesanzeiger-sourced rows; paid/commercial use is NOT cleared for those rows. Source: Bundesanzeiger + Unternehmensregister (Jahresabschlüsse). Free preview — no sign-up required. Example user questions: 'What were the revenues of K1101_HRB52093 in 2022?', 'Show me the equity history of this company'. Do not use when you only need the status — use firma_status instead.

    mcp-tool

    {
      "type": "object",
      "required": [
        "register"
      ],
      "properties": {
        "to_year": {
          "type": "integer",
          "maximum": 2100,
          "minimum": 1990,
          "description": "Most recent fiscal year to include (e.g. 2023). Optional."
        },
        "register": {
          "type": "string",
          "description": "company_number_norm — the unique register key for a German company. Format: {CourtLetter}{4digits}_{HRB|HRA|PR|GnR|VR}{Nummer}, e.g. 'K1101_HRB52093'. The court segment (K1101) is the EUID code assigned by the Unternehmensregister — use the norm returned by a prior firma_profil call or from unternehmensregister.de. Do NOT provide a plain court name like 'Hamburg HRB 12345': the tool will return a format error."
        },
        "from_year": {
          "type": "integer",
          "maximum": 2100,
          "minimum": 1990,
          "description": "Oldest fiscal year to include (e.g. 2018). Optional."
        }
      }
    }
    arguments 24 lines
  • overfit_contact_request unknown never probed

    Generates a prefilled contact URL and mailto link for the user to send to Overfit. Use for: custom AI projects, company data packages, or anything not covered by other tools. IMPORTANT: this tool does NOT send anything — it only returns a URL/mailto. The human must review and click the link themselves.

    mcp-tool

    {
      "type": "object",
      "required": [
        "topic",
        "summary"
      ],
      "properties": {
        "topic": {
          "enum": [
            "ki_projekt",
            "firmendaten",
            "sonstiges"
          ],
          "type": "string",
          "description": "Topic category for the inquiry."
        },
        "company": {
          "type": "string",
          "description": "Company or organisation name (optional)."
        },
        "summary": {
          "type": "string",
          "description": "Brief description of what the user needs (1–3 sentences)."
        },
        "callback": {
          "type": "string",
          "description": "Phone number or preferred callback time (optional)."
        }
      }
    }
    arguments 30 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 0a720ba1fa166ef9.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/0a720ba1fa166ef9/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/0a720ba1fa166ef9/badge.svg)](https://brick.blue/agent/0a720ba1fa166ef9?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.