# AICTIONBOT™ Werkbank (remote · www.kulicadvisory.com)

Procurement checks for SMBs: price increases vs Eurostat, sanctions, deadlines, discounts, invoices.

- Trust score: 71/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `www.kulicadvisory.com`: 71/100 (this document), [markdown](https://verifymcp.io/servers/com-kulicadvisory-aictionbot-werkbank/www.md), [page](https://verifymcp.io/servers/com-kulicadvisory-aictionbot-werkbank/www)

## Channel facts

- Endpoint: `https://www.kulicadvisory.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.3.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 62/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2840 tokens (~218/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 97/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 91% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the AICTIONBOT™ Werkbank MCP server?

AICTIONBOT™ Werkbank is a hosted endpoint at https://www.kulicadvisory.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-kulicadvisory-aictionbot-werkbank 'https://www.kulicadvisory.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-kulicadvisory-aictionbot-werkbank": {
      "url": "https://www.kulicadvisory.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-kulicadvisory-aictionbot-werkbank": {
      "type": "http",
      "url": "https://www.kulicadvisory.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-kulicadvisory-aictionbot-werkbank]
url = "https://www.kulicadvisory.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-kulicadvisory-aictionbot-werkbank": {
      "type": "remote",
      "url": "https://www.kulicadvisory.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-kulicadvisory-aictionbot-werkbank --url 'https://www.kulicadvisory.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-kulicadvisory-aictionbot-werkbank:
    url: "https://www.kulicadvisory.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-kulicadvisory-aictionbot-werkbank": {
      "Transport": "http",
      "Url": "https://www.kulicadvisory.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-kulicadvisory-aictionbot-werkbank -t streamable-http -u 'https://www.kulicadvisory.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-kulicadvisory-aictionbot-werkbank": {
      "type": "http",
      "url": "https://www.kulicadvisory.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 71, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 1682 → 2840
- [functional improvement] Tool coverage: 86% → 91%
- [functional] Server version: 1.2.0 → 1.3.0
- [functional] New tool “check_invoice”
- [functional] New tool “compare_offers”
- [functional] New tool “review_contract”
- [functional] New tool “werkbank_licence”
- [functional] New tool “write_meeting_minutes”
- [functional] New tool “write_scope_of_work”
- [cosmetic] “check_approval_matrix” reworded the description of “people”

### 2026-11-04 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 69, −1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 172 → 240
- [functional regression] Schema quality: 172 → 190
- [functional improvement] Tool coverage: 83% → 93%
- [functional] Server version: 1.1.0 → 1.2.0
- [functional] Server version: 1.0.0 → 1.1.0
- [functional] New tool “check_approval_matrix”
- [functional] New tool “check_discount_window”
- [functional] New tool “check_invoice_payment”
- [functional] New tool “calculate_notice_deadline”
- [functional] New tool “screen_sanctions”

### 2026-11-01 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 68, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-27 (score 67)

First indexed and scored.

## MCP tools (13)

### `check_price_increase` (~244 tokens)

Check a supplier price increase against official market data (Germany)

AICTIONBOT™ price increase check by KULIC Advisory. Compares a supplier's requested price increase with the official Eurostat producer price index (goods) or services producer price index plus labour cost index (services) for Germany since the last price agreement. Returns market change, gap in percentage points, a verdict (in line, slightly above, clearly above, market fell), an evidence-based counter-offer level and the source. Deterministic, no AI, no personal data. Not legal advice. Use list_categories to pick a category code.

Input parameters:

- `annual_volume_eur` (number): Optional annual spend with this supplier in EUR, to express the gap in euros.
- `category` (string, required): Category code from list_categories (e.g. C17 for paper and packaging, N81 for cleaning) or its German or English name.
- `language` (string): Language of the answer. Default de.
- `last_agreement` (string, required): Month of the last agreed price, YYYY-MM (2019-01 or later).
- `requested_increase_percent` (number, required): Increase the supplier requests, in percent (e.g. 9.5).

### `list_categories` (~42 tokens)

List goods and service categories for the price increase check

Lists the categories the AICTIONBOT™ price increase check covers (Eurostat NACE codes for Germany), with German and English names.

Input parameters:

- `language` (string)

### `screen_sanctions` (~160 tokens)

Screen a company or person against public sanctions lists

AICTIONBOT™ supplier check by KULIC Advisory. Screens a name against the consolidated public sanctions lists of the EU, the UN, the US (OFAC SDN and non-SDN) and the UK, refreshed daily. Fuzzy matching on normalised name tokens, legal forms ignored. Returns possible matches with list, type, programme and similarity, and the list dates. A similar name is no proof, no hit is no clearance; this does not replace a legal sanctions screening. Deterministic, no AI, nothing is stored.

Input parameters:

- `language` (string): Language of the answer. Default de.
- `name` (string, required): Company or person name to screen, e.g. as on the invoice or in the supplier master.

### `calculate_notice_deadline` (~221 tokens)

Calculate the last day to give notice on a contract

AICTIONBOT™ deadline guard by KULIC Advisory. From contract start, initial term, automatic renewal and notice period it calculates the current term end, the last day notice must reach the other party, the days left and what happens if the date is missed. Deterministic, no AI. Not legal advice: the wording of the contract decides.

Input parameters:

- `contract_start` (string, required): First day of the contract, YYYY-MM-DD.
- `initial_term_months` (integer, required): Initial (minimum) term in months.
- `language` (string): Language of the answer. Default de.
- `notice_period` (string, required): Notice period before the end of the term: number plus unit d (days), w (weeks) or m (months), e.g. 3m.
- `renewal_months` (integer): Automatic renewal period in months after the initial term; 0 if the contract ends without renewal. Default 12.
- `today` (string): Optional reference date, YYYY-MM-DD. Default today (Europe/Berlin).

### `check_discount_window` (~349 tokens)

Find early-payment discounts (Skonto) that expire in the next days, and which payment run still catches them

AICTIONBOT™ Skonto-Radar by KULIC Advisory. Takes an open-items list (invoices with discount terms) and optional clarification cases from other checks, and returns which discounts expire within the window, which are blocked by a payment hold or an open clarification, which are already lost, and the last payment run that still catches each one. Deterministic, no AI, nothing stored. Findings are written in German. Keys may be given in German (beleg, lieferant, bestellung, rechnungsdatum, eingang, betrag, skonto_pct, skonto_tage, netto_tage, skonto_bis, faellig, sperre) or English (document, supplier, order, invoice_date, received, amount, discount_percent, discount_days, net_days, discount_until, due, blocked).

Input parameters:

- `as_of` (string): Reference date, YYYY-MM-DD. Default today.
- `clarifications` (array): Optional open clarification cases from other checks: document, order, reason (grund), with (bei), result (ergebnis).
- `language` (string)
- `open_items` (array, required): Open invoices. Each item: document, supplier, order, invoice_date (YYYY-MM-DD or DD.MM.YYYY), received, amount (negative for credit notes), discount_percent, discount_days, net_days, discount_until,…
- `payment_run_weekdays` (array): Weekdays of the payment runs, 1 = Monday. Default [2, 5] (Tuesday, Friday).
- `window_days` (integer): Days ahead that count as 'expiring soon'. Default 10.

### `check_approval_matrix` (~323 tokens)

Check an approval matrix against the people list: who approves although they left, lack a role or have no deputy

AICTIONBOT™ Freigabematrix-Prüfer by KULIC Advisory. Checks an approval matrix (area, level, approver, limits, deputy, system) against a people list (status, leaving date, absence, system role) and optional open approvals, and returns the rows that need action: approvers who left, are absent without a cover, lack a system role, missing deputies, limit gaps and overlaps, plus open approvals stuck with those people. Deterministic, no AI, nothing stored. Findings are written in German. Keys may be German (bereich, stufe, freigeber, limit_von, limit_bis, waehrung, vertreter, system; person, status, austritt, abwesend_bis, systemrolle; beleg, bereich, betrag, wartet_bei, seit) or English (area, level, approver, limit_from, limit_to, currency, deputy, system; person, status, left_on, absent_until, system_role; document, area, amount, waiting_with, since).

Input parameters:

- `as_of` (string): Reference date, YYYY-MM-DD. Default today.
- `language` (string)
- `matrix` (array, required): Approval matrix rows.
- `open_approvals` (array): Optional open approvals: document, area, amount, waiting_with, since, system.
- `people` (array, required): People list. Each person: name, status (active, left, absent), left_on, absent_until, system_role (yes/no).

### `check_invoice_payment` (~167 tokens)

Check an invoice against the vendor master before paying: new bank account, unknown supplier, blocked vendor

AICTIONBOT™ Zahlungsschutz by KULIC Advisory. Matches the supplier on an invoice to the vendor master by VAT ID, IBAN and name similarity, validates the IBAN checksum, and flags a changed or unknown bank account, a blocked vendor, a dormant vendor and a first payment. Returns a verdict (stop, check, ok) with the next step. Deterministic, no AI, nothing stored. Findings in German.

Input parameters:

- `invoice` (object, required): supplier (name), vat_id, iban, amount, currency, date (YYYY-MM-DD).
- `language` (string)
- `vendor_master` (array, required): Vendor master rows: no (vendor number), name, vat_id, iban, country, last_payment (YYYY-MM-DD or null), blocked (bool).

### `werkbank_licence` (~85 tokens)

Show my AICTIONBOT™ Werkbank licence: plan, period and remaining AI analyses

Needs sign-in with the user's AICTIONBOT™ Werkbank licence (KULIC Advisory). Shows the plan, whether it is active, the quota of AI analyses for the current period, how many are used and how many remain. Read only: no payment data, no change to the subscription.

Input parameters:

- `language` (string): Language of the answer. Default de.

### `review_contract` (~229 tokens)

Review a contract or terms and conditions from the buyer side (AICTIONBOT™ clause radar)

Needs the user's AICTIONBOT™ Werkbank licence; each call uses one AI analysis from the licence quota. Reviews a contract or general terms and conditions the buyer is asked to sign, clause by clause (term, renewal, notice, price adjustment, payment, liability, warranty, penalties, acceptance, exclusivity, data protection, jurisdiction). Returns a summary and, per clause, the exact reference, the plain-language meaning, a rating (ok, pruefen = check, kritisch = critical), why it matters for the buyer and a counter-proposal; deadline dates only when the start date is known. Pass the full contract text (extract text from PDFs or images first). Not legal advice. The text is processed for this answer only and is not stored by KULIC Advisory.

Input parameters:

- `contract_start` (string): Optional contract start, YYYY-MM-DD, to compute notice dates.
- `contract_text` (string, required): Full text of the contract or the terms and conditions.
- `language` (string): Language of the answer: de, en, fr, es, pt or zh. Default de.

### `compare_offers` (~200 tokens)

Compare two or three supplier offers like a buyer (AICTIONBOT™ offer comparison)

Needs the user's AICTIONBOT™ Werkbank licence; each call uses one AI analysis from the licence quota. Compares 2 or 3 supplier offers for the buyer: whether they are comparable, total price as stated, what is included, what is missing or unclear, extra and hidden costs, risks, a criterion-by-criterion comparison and questions to send to each supplier before deciding. Numbers are copied exactly from the offers, never invented. Pass the text of each offer (extract text from PDFs first). The texts are processed for this answer only and are not stored by KULIC Advisory.

Input parameters:

- `language` (string): Language of the answer: de, en, fr, es, pt or zh. Default de.
- `offers` (array, required): The offer texts, one string per offer, labelled A, B, C in this order.
- `what_is_bought` (string): Optional: what is being bought, in one sentence.

### `check_invoice` (~215 tokens)

Check a supplier invoice against order and goods receipt (AICTIONBOT™ invoice check)

Needs the user's AICTIONBOT™ Werkbank licence; each call uses one AI analysis from the licence quota. Checks a supplier invoice like an accounts payable clerk doing a three-way match: line by line against the purchase order or contract and the goods receipt (price, quantity, new or missing items), totals and tax, payment term and early payment discount, and for German invoices the mandatory content under § 14 UStG. Returns the lines with status and notes, the mandatory content check and what to clarify before paying. Not tax advice. The texts are processed for this answer only and are not stored by KULIC Advisory.

Input parameters:

- `goods_receipt` (string): Optional: what was actually received, e.g. quantities per item.
- `invoice_text` (string, required): Text of the invoice.
- `language` (string): Language of the answer: de, en, fr, es, pt or zh. Default de.
- `reference_text` (string): Optional: text of the purchase order or contract to compare against.

### `write_scope_of_work` (~188 tokens)

Turn one sentence into a scope of work for a request for quotes (AICTIONBOT™ scope writer)

Needs the user's AICTIONBOT™ Werkbank licence; each call uses one AI analysis from the licence quota. Turns a short description of what a business wants to buy into a structured scope of work for a tender or request for quotes: subject, work packages with deliverables, exclusions, supplier requirements, service levels, volume assumptions, questions to bidders, award criteria with weights and points to clarify internally. Placeholders where facts are missing; nothing is invented.

Input parameters:

- `details` (string): Optional additional facts: places, quantities, dates, budget, special requirements.
- `language` (string): Language of the answer: de, en, fr, es, pt or zh. Default de.
- `request` (string, required): What is to be bought, in one or two sentences, e.g. 'Office cleaning for 2 sites in Cologne, 5 days a week, from January'.

### `write_meeting_minutes` (~176 tokens)

Write minutes and commitments from notes of a supplier meeting (AICTIONBOT™ minutes)

Needs the user's AICTIONBOT™ Werkbank licence; each call uses one AI analysis from the licence quota. Turns notes or a transcript of a procurement conversation (for example with a supplier) into minutes for the buyer: summary, decisions, commitments with who, what and by when, open points, risks and a short follow-up email to the other party. Only what was said; no invented decisions, numbers or dates. The notes are processed for this answer only and are not stored by KULIC Advisory.

Input parameters:

- `language` (string): Language of the answer: de, en, fr, es, pt or zh. Default de.
- `meeting_type` (string): Optional: type of conversation, e.g. 'annual price negotiation with packaging supplier'.
- `notes` (string, required): Notes or transcript of the conversation.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-kulicadvisory-aictionbot-werkbank/www#diagnostics

## Score history

- 2026-11-05: 71
- 2026-11-04: 70
- 2026-11-03: 69
- 2026-11-02: 69
- 2026-11-01: 70
- 2026-10-31: 69
- 2026-10-30: 69
- 2026-10-29: 68
- 2026-10-28: 68
- 2026-10-27: 67

## Common questions

### What is the AICTIONBOT™ Werkbank MCP server?

AICTIONBOT™ Werkbank is an MCP server listed in the public MCP registry as com.kulicadvisory/aictionbot-werkbank. Procurement checks for SMBs: price increases vs Eurostat, sanctions, deadlines, discounts, invoices. This page covers its hosted endpoint (https://www.kulicadvisory.com/mcp).

### Is the AICTIONBOT™ Werkbank MCP server safe to use?

AICTIONBOT™ Werkbank scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the AICTIONBOT™ Werkbank MCP server expose?

AICTIONBOT™ Werkbank exposes 13 tools: check_price_increase, list_categories, screen_sanctions, calculate_notice_deadline, check_discount_window, and 8 more. Their descriptions and schemas cost roughly 2,599 tokens of context every time the server is loaded.

### Does the AICTIONBOT™ Werkbank MCP server require authentication?

No. We connected to AICTIONBOT™ Werkbank without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the AICTIONBOT™ Werkbank MCP server still maintained?

AICTIONBOT™ Werkbank is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://www.kulicadvisory.com/mcp
- Website: https://www.kulicadvisory.com/workbench/partner/
- Changelog RSS feed: https://verifymcp.io/servers/com-kulicadvisory-aictionbot-werkbank/www.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-kulicadvisory-aictionbot-werkbank/www.json
- HTML version of this page: https://verifymcp.io/servers/com-kulicadvisory-aictionbot-werkbank/www
