Skip to content

Add cross-border KYC sample (Bedrock + LangGraph + remote OpenRegistry MCP)#703

Open
sophymarine wants to merge 2 commits into
aws-samples:mainfrom
sophymarine:add-openregistry-cross-border-kyc
Open

Add cross-border KYC sample (Bedrock + LangGraph + remote OpenRegistry MCP)#703
sophymarine wants to merge 2 commits into
aws-samples:mainfrom
sophymarine:add-openregistry-cross-border-kyc

Conversation

@sophymarine

Copy link
Copy Markdown

Summary

Adds agents-and-function-calling/mcp/openregistry-cross-border-kyc/ — a notebook demonstrating a LangGraph ReAct agent on Amazon Bedrock (Anthropic Claude Sonnet 4.5) that connects to OpenRegistry, a free hosted Streamable-HTTP MCP server proxying 27 national company registries (UK Companies House, Germany Handelsregister, France Sirene+RNE, Italy InfoCamere via EU BRIS, Spain BORME, Korea OPENDART, plus 21 more) directly to AI agents.

Why this complements the existing GitHub-MCP sample

The existing bedrock_github_mcp_agent.ipynb in this directory shows MCP being used to drive stdio GitHub MCP tooling — an internal-tooling shape. This sample shows the other shape: a remote Streamable-HTTP MCP server hosted by a third party, applied to a different problem domain (cross-border KYB / UBO chain walking).

The two together cover both MCP transport modes that Bedrock customers will encounter in practice.

What the agent does

  1. Search a company in any of the 27 national registries by name or local company-number format.
  2. Pull the statutory profile, officers, and Persons with Significant Control (PSC / UBO) — every field name preserved verbatim.
  3. Walk the corporate-ownership chain across borders — when a PSC is itself a corporate entity, recurse into its home jurisdiction.
  4. Surface AML gates honestly — if an upstream returns HTTP 501 with alternative_url (CJEU C-37/20-restricted: DE/ES/IT/NL/LU/AT/MT/PT), the agent reports the statutory channel rather than substituting commercial-aggregator data.
  5. Cite every fact to the registry + identifier so the answer is auditable.

Files

  • bedrock_openregistry_kyc_agent.ipynb — 14-cell notebook, runnable end-to-end with only AWS_REGION configured.
  • README.md — prerequisites, costs (Bedrock pay-per-token; OpenRegistry free anonymous tier), what's covered (and what's not — credit scores / sanctions screening / PEP screening / US private financials are explicitly out of scope).

Notes for reviewers

  • All registry data the agent surfaces is statutorily public.
  • The system prompt explicitly teaches the agent to honour CJEU C-37/20 and surface alternative_url for restricted UBO registers — the regulatory-honesty signal that matters in compliance contexts.
  • No new dependencies beyond what the existing bedrock_github_mcp_agent.ipynb already uses (langchain-aws, langchain-mcp-adapters, langgraph, mcp, boto3, nest_asyncio).
  • I'm happy to iterate on Region default, model choice (Claude Sonnet 4.5 vs Haiku), or notebook length.

Adds agents-and-function-calling/mcp/openregistry-cross-border-kyc/, a
LangGraph ReAct agent on Amazon Bedrock that connects to the hosted
OpenRegistry MCP server (https://openregistry.sophymarine.com/mcp) to
perform live cross-border KYB / UBO chain walking across 27 national
company registries (UK Companies House, Germany Handelsregister, France
Sirene+RNE, Italy InfoCamere via EU BRIS, Spain BORME, Korea OPENDART,
plus 21 more).

Complements the existing bedrock_github_mcp_agent.ipynb in the same
directory: that one shows MCP for GitHub issue automation; this one
shows MCP for cross-border due-diligence — a different shape of agent
workflow with a remote (not stdio) MCP server.

Files:
  - bedrock_openregistry_kyc_agent.ipynb (~14 cells, runnable end-to-end)
  - README.md (setup, prerequisites, costs, what's covered/not)
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Replaces the abbreviated 'plus 21 more' summary with a complete table
listing each ISO code, native registry, and a sample entity for testing.
Flags CJEU C-37/20-restricted UBO registers (DE/ES/IT/NL) and the
paid-tier-only Cayman jurisdiction explicitly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant