Ucc Liens

io.github.pipeworx-iov0.1.0更新于 Oct 9, 2026

UCC Liens — business-debtor UCC (Uniform Commercial Code) financing

已验证Streamable HTTP可网页运行Business & CommerceFinance

概览

AI 生成的概览

让助手查询科罗拉多、康涅狄格和俄勒冈三州的 UCC 企业债务人留置权登记,并查看近期贷款机构活动登记。

功能
通过各州州务卿公开数据提供两个工具。ucc_search 按企业债务人名称在 CO、CT 或 OR 检索登记,返回档案编号、登记类型与状态、登记与失效日期、债务人及担保权人名称与地址,以及每条登记的来源链接。ucc_new_filings 返回指定日期之后的登记,可按担保权人名称过滤,用于观察贷款机构活动。个人债务人在查询阶段即被排除,每个响应都带有 FCRA 提示。
适用场景
适合需要企业公开 UCC 融资登记信息的场景:核查某企业是否有担保留置权登记、担保权人是谁,或这三个州近期有哪些贷款机构提交了登记。不适用于消费者信用、就业、保险或住房资格决策。
运行要求
可使用网关地址的远程 streamable HTTP 端点,或用 npx 在本地以 stdio 方式运行。未声明需要账号、API 密钥或环境变量;底层各州开放数据 API 均为公开且无需认证。需要能访问网关或各州数据门户的网络。
安装前请注意
仅对公开登记做只读查询,不涉及写入、付款或凭据。覆盖范围有限:俄勒冈数据集是约 30 天的滚动窗口,较早但仍有效的留置权可能查不到;佛蒙特州不受支持,调用会始终报错。网关端点还会额外暴露该包两个工具之外的共享元工具,会增加上下文开销。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Ucc Liens,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "ucc-liens": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/ucc-liens/mcp"
    }
  }
}

README

@pipeworx/ucc-liens

Business-debtor UCC (Uniform Commercial Code) financing-statement filings — secured loans against a company's assets — for Colorado, Connecticut and Oregon, plus recent-filing lender-activity signals. Each state's own public Secretary of State open-data portal is the source; Vermont is documented as unreachable (see Data sources). Individual debtors are excluded at the query, not filtered afterward, and every response carries an FCRA notice.

Part of Pipeworx — an MCP gateway connecting AI agents to 1745+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.

Tools

  • ucc_search(debtor_name, state, limit?) — search filings by business debtor name in CO, CT or OR. Returns file number, filing type/status, filing and lapse dates, debtor name/address, secured party name/address, and a source URL per filing. state: "VT" always throws (see Data sources).
  • ucc_new_filings(state, since, secured_party?, limit?) — recent filings since a date, for lender-activity signals (who is lending to whom, and when). Same state coverage; optional substring filter on secured-party name.

Auth

Keyless. All three live sources are public, unauthenticated open-data APIs.

Data sources

  • https://data.ct.gov/resource/xfev-8smz.json — Connecticut Secretary of the State, "Uniform Commercial Code (UCC) Lien Filings." One row per lien transaction (original filing, amendment, continuation, release). Business debtors carry debtor_nm_bus; individual debtors carry debtor_nm_last/ debtor_nm_first instead and never debtor_nm_bus — the pack's $where requires debtor_nm_bus IS NOT NULL, so an individual-debtor row is never fetched. No collateral description field is published in this dataset.
  • https://data.colorado.gov/resource/wffy-3uut.json (filings), https://data.colorado.gov/resource/8upq-58vz.json (debtors), https://data.colorado.gov/resource/ap62-sav4.json (secured parties) — Colorado Secretary of State UCC, as three separate Socrata datasets joined in-memory by fileid (there is no server-side join). Debtors carry organizationname when a business, firstname/lastname when an individual — the pack queries the debtors dataset with organizationname IS NOT NULL first and only ever fetches filings/secured parties for the fileids that search returned. A fourth dataset, 4am6-w6u4 (collateral), exists but is not queried in v1 to keep response size bounded — the schema is simple to add if a caller asks for it.
  • https://data.oregon.gov/resource/snfi-f79b.json — Oregon Secretary of State, "UCC List of Filings Entered Last Month." This is a rolling ~30-day window, not the full historical index — the dataset name is literal; it is replaced monthly, not accumulated. party_type is DB (debtor) or SP (secured party); entity_type is ORG or IND. The pack requires party_type = 'DB' AND entity_type = 'ORG' for search/new-filings, then makes a second query for the matching SP row(s) by original_file_number to attach the secured party. A debtor with no filing in roughly the last month will not appear even if its lien is still active — this is a genuine coverage limit, documented in every Oregon filing's coverage_note field, not a bug. Oregon's full-history search (secure.sos.state.or.us/ucc/searchHome.action → POST /ucc/search.action) is not used in v1, but it is reachable — edge-probed live from a throwaway Cloudflare Worker on the prod account (2026-10-08): GET the search form for a CSRFToken + session cookie, then POST a debtor search, and it returns a clean "Welcome Public User" results page (verified with debtor NIKE, 2 live liens), no bot challenge, 3/3 runs. It is skipped anyway because its results LIST has no secured-party column — getting one means an extra per-filing detail-page fetch per row, which snfi-f79b gives for free in a single second query. Separately, from a plain residential/office client (not a Worker) it IS Akamai-bot-walled: three consecutive curl probes from the same laptop got clean HTML on the very first request and Akamai's obfuscated JS sensor-challenge page (window["bobcmn"] = "...") on every repeat. Don't assume "tested from my laptop" tells you anything about this host either way — it cuts both directions here (Worker: fine; repeated non-Worker client: walled) — always re-probe from a Worker before relying on either answer.
  • Vermont has no automatable source. Its only public UCC search, bizfilings.vermont.gov/uccsearch ("Lien Records Search," an Angular SPA calling api.bizfilings.vermont.gov/api), requires completing a Google reCAPTCHA before the search request is even sent — confirmed live 2026-10-08 via a real browser session: submitting the form opened a "User validation required to continue" / "I'm not a robot" dialog, and the network trace showed google.com/recaptcha/api2/anchor and /bframe calls gating the POST. No Vermont open-data mirror of UCC filings exists (checked data.vermont.gov / open data search). ucc_search/ucc_new_filings with state: "VT" always throw a descriptive error naming this wall — by design, never a silent empty result, and never attempted automatically (bypassing a CAPTCHA is out of bounds regardless of feasibility).

Compliance: every tool description and every successful response carries fcra_notice: "Not a consumer report. Not for use in credit, employment, insurance or housing eligibility decisions (FCRA)." This is a public-filing lookup, not a credit bureau product.

Quick Start

Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):

json
{  "mcpServers": {    "ucc-liens": {      "url": "https://gateway.pipeworx.io/ucc-liens/mcp"    }  }}

What this endpoint actually serves

tools/list at https://gateway.pipeworx.io/ucc-liens/mcp returns the tools in the table above plus the shared Pipeworx meta-tools — ask_pipeworx, discover_tools, search_within, remember/recall and the rest of the gateway-wide set. So the tool count you see is larger than this table: a single-pack endpoint currently lists roughly 30 shared tools alongside the pack's own. The connection's initialize response states its exact scope, and is the authoritative answer for a given day.

This is deliberate, not multiplexing by accident. The meta-tools are what let a scoped connection answer a question this pack does not cover — via ask_pipeworx, which routes across the whole catalog — without you adding a second MCP server. There is currently no way to mount a pack endpoint without them; if the extra schemas cost you more context than the routing is worth, connect to the full gateway once rather than to several pack endpoints.

Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:

json
{  "mcpServers": {    "pipeworx": {      "url": "https://gateway.pipeworx.io/mcp"    }  }}

Both URLs reach the same gateway and the same 1745+ data sources. The only difference is which pack's tools are listed directly; ask_pipeworx reaches all of them from either one.

No MCP client? Call it over HTTP

bash
curl -X POST https://gateway.pipeworx.io/v1/tools/ucc_search \  -H 'Content-Type: application/json' \  -d '{"debtor_name":"NPG Holdings","state":"CT"}'

No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/ucc_search. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.

Standalone (no gateway account)

This package also runs as a local stdio MCP server — no Pipeworx account, no gateway round-trip:

json
{  "mcpServers": {    "ucc-liens": {      "command": "npx",      "args": ["-y", "@pipeworx/mcp-ucc-liens"]    }  }}

Or run it directly to confirm it starts:

bash
npx -y @pipeworx/mcp-ucc-liens

It speaks MCP over stdin/stdout and answers initialize/tools/list/tools/call for only this pack's tools — none of the shared meta-tools the gateway connection above adds. Same source, same tools, no ask_pipeworx routing.

Using with ask_pipeworx

Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:

ask_pipeworx({ question: "your question about Ucc Liens data" })

The gateway picks the right tool and fills the arguments automatically.

More

License

MIT

来源:README.md,提交 151727a

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v0.1.0最新Oct 9, 2026