<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: OpenRegistry</title>
    <description>The latest articles on DEV Community by OpenRegistry (@openregistry).</description>
    <link>https://dev.to/openregistry</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3887433%2F5bf952c8-814a-4f0d-be42-3667f94e9592.png</url>
      <title>DEV Community: OpenRegistry</title>
      <link>https://dev.to/openregistry</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/openregistry"/>
    <language>en</language>
    <item>
      <title>Companies House data without the rate limit (27-registry alternative)</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Mon, 20 Apr 2026 01:09:27 +0000</pubDate>
      <link>https://dev.to/openregistry/companies-house-data-without-the-rate-limit-27-registry-alternative-18jg</link>
      <guid>https://dev.to/openregistry/companies-house-data-without-the-rate-limit-27-registry-alternative-18jg</guid>
      <description>&lt;p&gt;Yes: if what you need is &lt;strong&gt;Companies House data without the rate limit&lt;/strong&gt;, the cleanest answer is to stop treating the UK registry as a special case and route it through a live multi-registry layer instead.&lt;/p&gt;

&lt;p&gt;I keep seeing teams build brittle retry logic around the 600/5 min ceiling, then discover the real problem is not just throttling. They also need one way to query UK PSC data, officers, filings, and company profiles alongside other jurisdictions, without re-writing the integration every time the target moves from London to Dublin or Berlin.&lt;/p&gt;

&lt;p&gt;OpenRegistry is the version of that pattern that stays boring on purpose. It does not re-summarise or cache the government record. It sends live requests, returns upstream fields, and keeps the source link attached to each field. For a developer, that means the integration surface is closer to “query registry data” than “learn each registry’s quirks one by one”.&lt;/p&gt;

&lt;p&gt;The practical win is not only avoiding throttling. You also get a smaller decision tree:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use one search path for company lookups;&lt;/li&gt;
&lt;li&gt;use one profile path for the company record;&lt;/li&gt;
&lt;li&gt;use one officer path when you need directors or appointments;&lt;/li&gt;
&lt;li&gt;use one control path when a name check matters before onboarding.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rate limit matters most when your workflow is not a human manually checking one company. It becomes painful when a product team polls every time a merchant changes a signup field, when a due-diligence queue retries after a timeout, or when an analyst batch-checks a portfolio at the end of the day. In those cases, the cost is not just API calls. It is the glue code around the API calls.&lt;/p&gt;

&lt;p&gt;A simple way to think about it is this: if your current architecture depends on “UK Companies House, then bespoke adapters for France, Germany, Ireland, and so on”, you are already paying the hidden tax. A registry layer that can look up a UK company, then follow the same workflow across 27 registries, removes most of that adapter work.&lt;/p&gt;

&lt;p&gt;example shape: a company lookup can return the upstream company number, status, incorporation date, registered office, and source URL without inventing new fields. If you need officers, the same workflow can expand to appointments and control data where the registry publishes it. That makes it easier to keep audit trails honest, because the application can store the raw source-backed record instead of a guessed answer.&lt;/p&gt;

&lt;p&gt;There is still one honest caveat. If all you need is a narrow UK-only integration, the native Companies House API may be enough. It is the right tool for a single-registry app with low volume and a very specific workflow. OpenRegistry starts to matter when the question changes from “can I fetch this record?” to “can I build the same record flow across jurisdictions without maintaining a separate adapter per country?”&lt;/p&gt;

&lt;p&gt;For search traffic, that distinction is the point. People looking for a &lt;strong&gt;Companies House API alternative&lt;/strong&gt; are usually not asking for a prettier wrapper. They are asking for fewer operational surprises, source-linked fields, and a path out of UK-only assumptions. That is also where a live MCP-style layer helps, because the same client can ask for UK PSC data today and a German Handelsregister profile tomorrow.&lt;/p&gt;

&lt;p&gt;If you want to test the shape directly, start with the live endpoint: &lt;a href="https://openregistry.sophymarine.com/mcp" rel="noopener noreferrer"&gt;https://openregistry.sophymarine.com/mcp&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>kyb</category>
      <category>compliance</category>
      <category>programming</category>
    </item>
    <item>
      <title>I built 10 Claude skills that live-query 27 government company registries</title>
      <dc:creator>OpenRegistry</dc:creator>
      <pubDate>Sun, 19 Apr 2026 14:17:20 +0000</pubDate>
      <link>https://dev.to/openregistry/i-built-10-claude-skills-that-live-query-27-government-company-registries-59l3</link>
      <guid>https://dev.to/openregistry/i-built-10-claude-skills-that-live-query-27-government-company-registries-59l3</guid>
      <description>&lt;h1&gt;
  
  
  I built 10 Claude skills that live-query 27 government company registries
&lt;/h1&gt;

&lt;p&gt;A few months ago I was researching a counterparty across 4 jurisdictions. Three hours of clicking through UK Companies House ΓåÆ Luxembourg RCS ΓåÆ Jersey Companies Registry ΓåÆ Cayman CIMA, copy-pasting ownership percentages into a spreadsheet. By the time I'd pieced the structure together, I wasn't sure whether the first-hop data was still current.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;&lt;a href="https://openregistry.sophymarine.com" rel="noopener noreferrer"&gt;OpenRegistry&lt;/a&gt;&lt;/strong&gt; ΓÇö a free remote MCP server that gives AI agents live access to 27 national company registries ΓÇö and a skillpack of 10 Claude Agent Skills on top of it.&lt;/p&gt;

&lt;p&gt;The key design decision, and the thing that makes it different from every commercial company-data provider I could find: &lt;strong&gt;every query is a direct call to the government's own system at the moment you ask, and the response is returned byte-identical.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with commercial company data
&lt;/h2&gt;

&lt;p&gt;Every major company-data provider (Bureau van Dijk, Dun &amp;amp; Bradstreet, Refinitiv, OpenCorporates) operates the same basic pattern:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Crawl the government registries on a refresh cycle (6-24 hours, sometimes days).&lt;/li&gt;
&lt;li&gt;Ingest into a proprietary schema ΓÇö rename fields, normalize statuses, translate legal forms, merge duplicates.&lt;/li&gt;
&lt;li&gt;Enrich with derived data (D&amp;amp;B D-U-N-S numbers, industry classifications, credit scores).&lt;/li&gt;
&lt;li&gt;Sell access to the resulting snapshot.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This works well for broad market research where you want "a company dataset" to analyse in bulk. It breaks when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The data is fresh-sensitive.&lt;/strong&gt; A counterparty filed administration yesterday? The commercial snapshot doesn't know yet. If you're onboarding them as a client, that's fatal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The data is provenance-sensitive.&lt;/strong&gt; Your compliance team wants to cite the statutory record, not "Bureau van Dijk says". Without the government URL, your audit trail is weak.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You need to cross borders.&lt;/strong&gt; The commercial aggregator covers one country well, others poorly, and the joins between jurisdictions are their own opinion ΓÇö not the government's linking.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The design
&lt;/h2&gt;

&lt;p&gt;OpenRegistry is a remote MCP server (streamable HTTP, MCP spec 2025-06-18). It exposes 14+ tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;search_companies&lt;/code&gt; / &lt;code&gt;get_company_profile&lt;/code&gt; (all 27 jurisdictions)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_officers&lt;/code&gt; / &lt;code&gt;search_officers&lt;/code&gt; / &lt;code&gt;get_officer_appointments&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_persons_with_significant_control&lt;/code&gt; (beneficial ownership, where publicly published)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_shareholders&lt;/code&gt; (legal owners, different concept from UBO)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_charges&lt;/code&gt; (mortgages and security interests)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;list_filings&lt;/code&gt; / &lt;code&gt;get_document_metadata&lt;/code&gt; / &lt;code&gt;fetch_document&lt;/code&gt; (raw statutory filings)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_financials&lt;/code&gt; (native XBRL on FI and KR)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;list_jurisdictions&lt;/code&gt; / &lt;code&gt;about&lt;/code&gt; (capability matrix)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plus 10 &lt;strong&gt;MCP Prompts&lt;/strong&gt; ΓÇö named workflows that appear in Claude Desktop / Cursor / Cline's prompt picker once you connect the server. No skill install needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  The 6 design pillars
&lt;/h3&gt;

&lt;p&gt;Every feature is tuned around these six invariants:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Live&lt;/strong&gt; ΓÇö every tool call is a real-time query to the upstream government API. Pass &lt;code&gt;fresh=true&lt;/code&gt; to bypass even the short-lived performance cache.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct-to-government&lt;/strong&gt; ΓÇö no aggregator, no third-party warehouse, no nightly scrape. The AI agent talks to UK Companies House, France INSEE, German Registerportal, Korean FSS OpenDART directly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unmodified + source-linked&lt;/strong&gt; ΓÇö every field name, every status code, every raw filing byte (XHTML iXBRL / PDF / XBRL) is preserved verbatim in &lt;code&gt;jurisdiction_data&lt;/code&gt;. Identifiers resolve back to the government URL for independent verification.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-stale&lt;/strong&gt; ΓÇö no cache layer we control can go stale. You see updates the moment the government records them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stable&lt;/strong&gt; ΓÇö CF Workers' global edge + warm per-jurisdiction workers for stateful registries (Liechtenstein JSF ViewState, DE Registerportal, KY CIG SSO-gated).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-border&lt;/strong&gt; ΓÇö chain queries across 27 registries in a single prompt. Walk UK Ltd ΓåÆ LU SARL ΓåÆ KY LP ΓåÆ individual without leaving the conversation.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The 10 skills
&lt;/h2&gt;

&lt;p&gt;Each skill is a self-contained SKILL.md with YAML frontmatter and a step-by-step workflow. Drop them into &lt;code&gt;~/.claude/skills/&lt;/code&gt; (Claude Code auto-indexes) or paste into any Claude-compatible agent's system prompt.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Skill&lt;/th&gt;
&lt;th&gt;One-prompt outcome&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/kyc-cross-border-due-diligence/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;KYC &amp;amp; Cross-Border Due Diligence&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Full statutory dossier: profile, directors, UBO, shareholders, charges, latest accounts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/ubo-cross-border-chain-walker/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Cross-Border UBO Chain Walker&lt;/strong&gt;&lt;/a&gt; Γ¡É&lt;/td&gt;
&lt;td&gt;Walk the ownership chain across jurisdictions until you reach the real individual&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/director-search-pep-screening/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Director Search &amp;amp; PEP Screening&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Every company a person has directed + co-director network&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/live-company-accounts-xbrl/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Live Company Accounts &amp;amp; XBRL Financials&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Latest statutory accounts as machine-readable XBRL / iXBRL / PDF + key figures&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/corporate-filing-monitor/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Corporate Filing Monitor&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Material filings in a window, categorised and flagged&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/global-company-name-availability/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Global Company Name Availability Check&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Is a proposed name free across 10+ countries?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/industry-competitor-search/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Industry &amp;amp; Competitor Company Search&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Every company in a sector across N jurisdictions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/shell-company-detector/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Shell Company Detector&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;10-signal shell-probability scoring with citations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/phoenix-company-radar/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Phoenix Company Radar&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Detect dissolved-then-reborn fraud patterns (UK s.216/217)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sophymarine/openregistry/blob/main/skills/sector-gatekeeper-list/SKILL.md" rel="noopener noreferrer"&gt;&lt;strong&gt;Sector Gatekeeper List&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Every CIMA-authorised / regulated licensee in a sector&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Walked example: cross-border UBO in one prompt
&lt;/h2&gt;

&lt;p&gt;The flagship skill is the Cross-Border UBO Chain Walker. Here's what happens when you give Claude a hotline to 27 government registries:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Walk the full ownership chain of Revolut Ltd (UK Companies House 08804411) until you reach individuals or AML gates."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;What Claude does (live tool chain):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. get_company_profile(GB, 08804411)
   ΓåÆ confirms active, incorporation 2013, registered office in London

2. get_persons_with_significant_control(GB, 08804411)
   ΓåÆ returns 3 corporate PSCs (active PSCs hold 25-50% shares + voting rights)

3. For each corporate PSC:
   ΓåÆ resolve home jurisdiction (UK PSCs, in this case; different chains go abroad)
   ΓåÆ recurse: get_persons_with_significant_control on the parent

4. Stop at: (a) individuals, (b) listed public entities, (c) AML-gated jurisdictions

5. Render as ASCII ownership tree, cite every node with the government identifier.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each hop is a live call. No cache. If the parent registered a new PSC filing yesterday, the tree reflects it today.&lt;/p&gt;

&lt;p&gt;When the chain crosses into &lt;strong&gt;Luxembourg&lt;/strong&gt; (B-numbered SARL), &lt;strong&gt;Cayman&lt;/strong&gt; (CIMA reference + General Registry), or &lt;strong&gt;Germany&lt;/strong&gt; (HRB-numbered GmbH), the skill is explicit about the AML gate that stopped it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Example Luxembourg Holdings SARL (LU B234567)
Γö£ΓöÇ BLOCKED BY AML GATE ΓÇö LU UBO register 
Γöé  is AML-obliged-entity only post CJEU C-37/20 
Γöé  (Nov 2022). Alternative: lbr.lu with legitimate-interest 
Γöé  application for journalists / NGOs.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Transparent about what we can and can't see. Compliance-friendly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical implementation highlights
&lt;/h2&gt;

&lt;p&gt;A few pieces I'm proud of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Per-jurisdiction worker pool.&lt;/strong&gt; Registries with JSF / ViewState (Liechtenstein Handelsregister, DE gemeinsames Registerportal, KY CIG SSO) can't run in a stateless CF Worker. They need a warm Chromium context with preserved session. So the &lt;code&gt;/mcp&lt;/code&gt; endpoint is stateless Workers, but queries to those countries dispatch to a dedicated per-country worker pool we session-refresh ahead of demand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structured 501 routing.&lt;/strong&gt; Instead of a plain "this doesn't work", every 501 carries &lt;code&gt;alternative_tool&lt;/code&gt; + &lt;code&gt;alternative_args&lt;/code&gt; or &lt;code&gt;alternative_url&lt;/code&gt;. Example: calling &lt;code&gt;get_officers&lt;/code&gt; on a Czech political party returns 501 with &lt;code&gt;alternative_tool="search_specialised_records"&lt;/code&gt; and &lt;code&gt;alternative_args={source: "rpsh"}&lt;/code&gt; pre-filled. The AI doesn't have to guess the fallback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP Elicitation for multi-country search.&lt;/strong&gt; When the AI doesn't know which country a company is in, instead of silently fanning out across all 27 (burning rate limits), &lt;code&gt;search_companies({ jurisdictions: [...] })&lt;/code&gt; pops an MCP elicitation dialog in the client showing the inferred top-3 countries. The user can deselect, pick others, or confirm within their tier's fan-out cap.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Native XBRL everywhere possible.&lt;/strong&gt; FI (PRH) and KR (DART) publish XBRL; we surface it natively via &lt;code&gt;get_financials&lt;/code&gt;. GB returns XHTML iXBRL (GAAP / IFRS concept URIs embedded in &lt;code&gt;&amp;lt;ix:nonFraction&amp;gt;&lt;/code&gt; tags) which is machine-readable without re-rendering.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Transparent AML gates.&lt;/strong&gt; Post CJEU C-37/20 (Nov 2022) the UBO registers in DE, ES, IT, NL, LU, AT, MT, PT are no longer publicly queryable. Russia under 115-FZ art. 6.1 and Cayman under BOTA 2023 are also gated. The tool explicitly 501s with &lt;code&gt;alternative_url&lt;/code&gt; pointing at the statutory AML-obliged-entity portal. No silent omission.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Anonymous&lt;/strong&gt;: free, 20 req/min per IP, 3 countries / 60s fan-out. No signup, no API key.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free (signed in)&lt;/strong&gt;: 30 req/min per user.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pro&lt;/strong&gt;: $9/month, 180/min, 10-country fan-out.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Max&lt;/strong&gt;: $29/month, 900/min, 30-country fan-out.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise&lt;/strong&gt;: custom, unlimited, pre-synthesised &lt;code&gt;source_url&lt;/code&gt; / &lt;code&gt;registry_url&lt;/code&gt; / &lt;code&gt;data_license&lt;/code&gt; in every response.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All tiers receive the full unmodified upstream data. Enterprise adds pre-built source-URL fields for audit-trail convenience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Install in Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http OpenRegistry https://openregistry.sophymarine.com/mcp
npx skills add sophymarine/openregistry
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or manual:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/sophymarine/openregistry
&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; openregistry/skills/&lt;span class="k"&gt;*&lt;/span&gt; ~/.claude/skills/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Test probe:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;curl&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;-X&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;POST&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;https://openregistry.sophymarine.com/mcp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;-H&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;-H&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Accept: application/json, text/event-stream"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;-d&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"jsonrpc"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"2.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"method"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"tools/list"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"params"&lt;/span&gt;&lt;span class="p"&gt;:{}}&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or just add the endpoint to Claude Desktop / Cursor / Cline MCP config ΓÇö the 10 workflows appear as MCP Prompts in the prompt picker without any separate install.&lt;/p&gt;

&lt;p&gt;Also published on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Official MCP Registry: &lt;code&gt;io.github.sophymarine/openregistry&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mcp.so/server/openregistry" rel="noopener noreferrer"&gt;MCP.so&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sophymarine/openregistry" rel="noopener noreferrer"&gt;GitHub docs-repo (skills + docs, no source code)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you build agents that touch company data ΓÇö KYC onboarding, M&amp;amp;A research, AML checks, investigative journalism, sanctions screening ΓÇö I'd love feedback. Especially on the jurisdictional AML gates: which jurisdiction's gate matters most for your use case and what would help you work around it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;OpenRegistry is a platform by &lt;a href="https://sophymarine.com" rel="noopener noreferrer"&gt;Sophymarine&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>claude</category>
      <category>mcp</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
