uidwatch

Swiss bankruptcy, liquidation and register alerts for a UID list. Source: SHAB. Webhook, API, email.

使うべきか

品質と安全性

B
説明の品質
100%
スキーマの完全性
74%
命名の品質
80%
ポイズニングのリスク
80%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainuidwatch_signup 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,743トークン数(ツール定義)
~663 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.36%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "uidwatch": {
      "url": "https://uidwatch.tollwyn.com/mcp"
    }
  }
}

リモートエンドポイント

https://uidwatch.tollwyn.com/mcpstreamable-http

できること

ツール一覧

ツール(12)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟡uidwatch_signup(email, via, accept_terms)

Create a UIDWatch account and get its API key. The key is shown only in this answer: keep it and send it as "Authorization: Bearer <key>" in the configuration of the MCP client, which every other tool needs. accept_terms must be true: it accepts the terms of service (https://uidwatch.tollwyn.com/terms?via=mcp-registry), including the data processing terms in section 8, on behalf of the business that signs up. The trial lasts 30 days and watches 20 entries until a person confirms the email address from the mail UIDWatch sends, then 2500. via is an optional partner id; without one the account counts as signed up through MCP.

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 254
    },
    "via": {
      "type": "string",
      "description": "Optional partner id: lower-case words joined by hyphens"
    },
    "accept_terms": {
      "type": "boolean",
      "const": true,
      "description": "Accepts the terms at https://uidwatch.tollwyn.com/terms?via=mcp-registry, including the data processing terms in section 8, on behalf of the business that signs up."
    }
  },
  "required": [
    "email",
    "accept_terms"
  ]
}
🔴watchlist_replace(items)

Replace the whole watchlist with these entries, e.g. to sync it from an ERP every night: entries missing from items are removed, entries that stay keep their date. UIDs are accepted as CHE-123.456.789, CHE123456789 or with MWST/TVA/IVA; the check digit must match. Each entry may carry your reference (e.g. a customer number) and a group (e.g. the client a debtor belongs to). All or nothing: one invalid UID rejects the call with every problem listed. New entries get an initial check of the history in the gazette.

入力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "maxItems": 25000,
      "items": {
        "type": "object",
        "required": [
          "uid"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "maxLength": 40,
            "example": "CHE-110.090.028 MWST"
          },
          "group": {
            "type": "string",
            "maxLength": 100
          },
          "reference": {
            "type": "string",
            "maxLength": 200
          }
        }
      }
    }
  },
  "required": [
    "items"
  ]
}
🟡watchlist_add(items)

Add entries to the watchlist, or change the reference of entries already on it. UIDs are accepted as CHE-123.456.789, CHE123456789 or with MWST/TVA/IVA; the check digit must match. Each entry may carry your reference (e.g. a customer number) and a group (e.g. the client a debtor belongs to). All or nothing: one invalid UID rejects the call with every problem listed. New entries get an initial check of the history in the gazette.

入力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "maxItems": 25000,
      "items": {
        "type": "object",
        "required": [
          "uid"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "maxLength": 40,
            "example": "CHE-110.090.028 MWST"
          },
          "group": {
            "type": "string",
            "maxLength": 100
          },
          "reference": {
            "type": "string",
            "maxLength": 200
          }
        }
      }
    }
  },
  "required": [
    "items"
  ]
}
🟢watchlist_list(limit, offset, group)

A page of the watchlist, oldest entry first, optionally of one group. Each entry tells whether its initial check is done (checked_at) and whether it is within the limit of the plan (monitored).

入力スキーマ

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "default": 100
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "group": {
      "type": "string",
      "maxLength": 100
    }
  }
}
🔴watchlist_remove(uid, group)

Remove one entry from the watchlist; name its group if it has one.

入力スキーマ

{
  "type": "object",
  "properties": {
    "uid": {
      "type": "string",
      "maxLength": 40,
      "example": "CHE-110.090.028"
    },
    "group": {
      "type": "string",
      "maxLength": 100,
      "default": ""
    }
  },
  "required": [
    "uid"
  ]
}
🟢events_list(cursor, limit, kind, historical, uid, ...)

Events for the watchlist after a cursor, oldest first: bankruptcies, compositions, debt enforcement, liquidations, deletions, register deficiencies and changes, and new entries published in the Swiss Official Gazette of Commerce (SHAB), each with a link to the notice and its signed PDF. Keep next_cursor and pass it as cursor next time: every event comes exactly once. historical "true" filters the findings of the initial check, published before the entry was added.

入力スキーマ

{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string",
      "pattern": "^\\d{1,18}$",
      "default": "0"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "default": 100
    },
    "kind": {
      "type": "string",
      "enum": [
        "bankruptcy",
        "composition",
        "debt_enforcement",
        "liquidation",
        "deletion",
        "deficiency",
        "change",
        "new_entry"
      ]
    },
    "historical": {
      "type": "string",
      "enum": [
        "true",
        "false"
      ]
    },
    "uid": {
      "type": "string",
      "maxLength": 40
    },
    "group": {
      "type": "string",
      "maxLength": 100
    }
  }
}
🟡webhook_create(url, kinds)

Add a webhook endpoint (https on a public address, at most 5): every new event of the chosen kinds (default: all) is posted to it as JSON, signed with HMAC-SHA256 in the UIDWatch-Signature header. The signing secret is returned only in this answer.

入力スキーマ

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2000,
      "description": "https on a public address"
    },
    "kinds": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "enum": [
          "bankruptcy",
          "composition",
          "debt_enforcement",
          "liquidation",
          "deletion",
          "deficiency",
          "change",
          "new_entry"
        ]
      },
      "description": "Default: all kinds"
    }
  },
  "required": [
    "url"
  ]
}
🟢webhook_list

The webhook endpoints of the account with their kinds.

入力スキーマ

{
  "type": "object",
  "properties": {}
}
🔴webhook_delete(id)

Delete a webhook endpoint; no more events are posted to it.

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "id"
  ]
}
🟡webhook_test(id)

Post a sample event marked "test": true to a webhook endpoint now and tell how it answered (10 per minute).

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "id"
  ]
}
🟢account_status

The account: plan (trial, monitor or paused), whether the list is monitored, the limit and usage in entries, the end of the trial, whether the email address is confirmed, and last_scan_at, the last successful check of the gazette.

入力スキーマ

{
  "type": "object",
  "properties": {}
}
🔴billing_checkout(blocks)

A Stripe Checkout link for the subscription: CHF 33 per month per package of 2500 entries, 1 to 10 packages, cancel monthly. A person, or an agent with its own payment method, opens the link and pays there.

入力スキーマ

{
  "type": "object",
  "properties": {
    "blocks": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 1,
      "description": "Packages to start with; adjustable in Checkout"
    }
  }
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 12 件