companies-house-screening-mcp
companies-house-screening-mcp
MCPホストから英国企業をCompanies House公開レジスタでスクリーニングします。サプライヤーリストの一括スクリーニング、ワンコールの企業スナップショット、リスクスコアではなく事実に基づくシグナルを提供します。
ステータス: 全6フェーズ中フェーズ6。 11のツール、実行中のサーバーから生成されCIでゲートされるドキュメント、ツール選択評価、ライブAPIから記録されたフィクスチャ。リリースパイプラインは構築済み。まだ公開されていません。
もう一つあります。知っておくべきです
companies-house-mcp by @aicayzer は2025年7月から存在し、v4.0.0で、積極的にメンテナンスされています。同じAPIをカバーしています。このプロジェクトは最初ではなく、そう主張もしません。
この2つは形が異なるため、どちらが適しているかは何をしているかによります。
幅広さを求めるなら彼らのものを使いましょう。 より多くのAPIを公開しています — 登録簿、免除、英国の事業所、役員の資格喪失 — そして重要なことに、提出された書類そのものをダウンロードできます。こちらは意図的にそうしていません: Companies Houseの文書APIはここでは対象外です。
閲覧ではなくスクリーニングを行うならこちらを使いましょう。 重要な違い:
一括スクリーニング |
|
企業番号を推測しない | 取得ツールは、リクエストの前に企業名を完全に拒否します。名前が与えられると、モデルは正しく見える番号を生成し、もっともらしい間違った番号は、下流で何もフラグを立てない別の実在の企業を返します。ADR 5。 |
スコアではなくシグナル | 各観察の背後にある日付または名前とともにレジスタから読み取られた事実、そして意図的に評価なし。ADR 7 にその議論があります。 |
静かに何も落とさない | 部分的な結果にはラベルが付けられます。短く返ってきたスクリーニングテーブルは常にその理由を述べます。ADR 8。 |
古くならないドキュメント | ツールリファレンスは実行中のサーバーから生成され、すべての例が実行されます。どちらかがずれた場合、CIは失敗します。ADR 9。 |
ツール選択評価 | 実際のモデルにどのツールに手を伸ばすかを尋ね、不安定さで失敗します。ADR 10。 |
11の決定がdocs/adrに文書化されています。明白な方法では進まなかったものも含めて。
インストール
npx -y companies-house-screening-mcpホスト設定:
{
"mcpServers": {
"companies-house": {
"command": "npx",
"args": ["-y", "companies-house-screening-mcp"],
"env": { "COMPANIES_HOUSE_API_KEY": "your_key" }
}
}
}またはDockerで — -i があり -t がないことに注意してください。TTYはJSON-RPCフレーミングを破壊するためです:
docker run --rm -i -e COMPANIES_HOUSE_API_KEY=your_key ghcr.io/OWNER/companies-house-screening-mcp無料のAPIキーをdeveloper.company-information.service.gov.ukで取得してください: 登録し、Live環境に対してアプリケーションを作成し、RESTタイプのキーを作成します(ストリームキーも同じ方法で認証されますが、別のサービス用です)。
なぜ別のAPIラッパーなのか
これを構築する明白な方法は、エンドポイントごとに1つのMCPツールを置くことです。22の薄いパススルー、週末の仕事、そしてそれがほとんどの公開されたMCPサーバーです。また、3つの具体的な点で悪いです:
すべてのツールスキーマは、タスクが必要とするかどうかに関係なく、毎ターンモデルのコンテキストに存在します。
オーケストレーションをモデルに押し付けます。「このサプライヤーをオンボードしても安全か」は、検索、次にプロフィール、次に役員、次にチャージ、次に破産 — 5往復と、流れを失う5つの機会になります。
Companies Houseのペイロードは、モデルが読まない構造を運びます —
links、etag、kind、アイテムごとのETag、提出トランザクション配列、9キーの住所オブジェクト。それらを整形して取り除くと、想定ではなく実際に記録された応答に対して測定して、エンドポイントに応じて36%から72%節約できます(npm run measure)。
したがって、このサーバーは質問を中心に形作られた11のツールを公開し、そのうち2つ(company_snapshot と screen_companies)はサーバー側でファンアウトを行い、1つの派生オブジェクトを返します。取得ツールは企業番号を受け入れ、企業名を拒否します。名前が与えられるとモデルが番号を推測し、もっともらしい間違った企業番号は、下流で何も間違いとしてフラグを立てない実在の企業を返すためです。
ツール
ツール | 戻り値 |
| 名前または番号のランク付けされた候補。 |
| 人物の名前の候補役員ID。任命数付き。 |
| プロフィールに加え、延滞提出、チャージ、破産、最近の設立の派生フラグ。 |
| 現任および辞任した役員。それぞれに、他の企業を調べるために必要なID付き。 |
| 何がいつ提出されたか。カテゴリでフィルタリング可能。 |
| 担保付き債務。APIが決して報告しない派生の |
| 実際に企業を支配しているのは誰か、そしてその支配がどのように保持されているか。 |
| 破産事件と任命された実務者。 |
| 役員が関与するすべての企業 — 利益相反ツール。 |
| プロフィール、役員、チャージ、破産を1回の呼び出しで、シグナル付き。 |
| 最大50社を入力、それぞれ1行を出力、静かに何も落とさない。 |
完全なリファレンス: docs/tools。実例: docs/recipes — サプライヤースクリーニング、取締役の利益相反チェック、請求書検証、債務者リスク、競合他社の提出監視。
シグナルは事実であり、評価ではありません。 このサーバーは企業をスコアリングせず、取引しても安全かどうかを教えません — レジスタで見つけたものを、各観察の背後にある日付または名前とともに報告し、判断はコンテキストを持つ人に委ねます。空のシグナルリストは、リスト上の何も見つからなかったことを意味し、企業が健全であることを意味しません。ADR 7 に完全な論拠があります。
すべてのツールは readOnlyHint: true で注釈され、出力スキーマを公開し、verbose を受け取って整形されたペイロードと一緒に未加工のペイロードを返します。
ツールの内部
構成要素 | 機能 |
| 起動時にすべての環境変数を検証し、内部フィールドではなく変数名を指定して、すべての問題を一度に報告します。 |
| ベーシック認証リクエスト、リクエストごとのタイムアウト、429および5xxでのジッター付きリトライ、条件付き再検証、失敗時の古いデータへのフォールバック。 |
| 文書化された5分あたり600に合わせたスライディングウィンドウ。安全マージンと直列化された取得付き。 |
| ディスクよりもメモリ、リソース種別ごとのTTL、アトミック書き込み、破損したエントリはミスとして扱われます。 |
| すべての失敗は、安定したコード、平易な文、次のステップを運びます。 |
Projections | 上流をフィールドごとに防御的に読み取ります。出力は公開されたスキーマに対して厳密に検証されます。 |
284のテスト、ネットワーク不要、実行にAPIキーは不要です。
設定
必要な変数は1つだけです。
変数 | デフォルト | 備考 |
| — | 必須。REST APIキーをデベロッパーポータルで作成する。ストリーミングキーではない。 |
|
| プロキシ用の上書き。 |
|
| ウィンドウあたりのリクエスト数。キーを別のプロセスと共有している場合は下げる。 |
|
| 5分。 |
|
| このプロセスが使用する予算の割合。 |
|
| |
| プラットフォームのキャッシュディレクトリ |
|
|
| リクエストごと。 |
|
| 最初の試行後のリトライ回数。 |
|
|
|
| — | サーバーが読み取る |
開発
npm install
npm test
npm run typecheck
npm run build
npm run docs:generateドキュメントは生成され、CIで検証される。 docs/tools は実際のMCPクライアントを介して実行中のサーバーからレンダリングされ、docs/recipes 内のすべての呼び出しはページのビルド時に実行される。コミットされた内容と異なる場合 npm run docs:check は失敗し、CIはテストの前にそれを実行し、テストスイートも同じ比較を実行するため、変更がまだ目の前にあるうちに失敗が発生する。ツールの説明を変更したら再生成する必要がある。そうしないとビルドが赤くなる。
テストスイートは、ライブのCompanies House APIから記録されたフィクスチャに対してオフラインで実行されるため、新規クローンは何も設定せずに動作する。npm run record-fixtures で再記録できる — どの企業から取得したか、なぜそれらが選ばれたかは tests/fixtures/README.md を参照。
キーを取得したら、.env.example を .env にコピーして記入する:
npm run test:liveすべての開発コマンドはそのファイルを読み取る。シェルにすでに設定されているものは優先される。公開サーバーは、CH_ENV_FILE がファイルを指定しない限り .env を読み取らない — ホストはホストの作業ディレクトリでサーバーを起動し、たまたまそこにある .env を拾うのは、誤った認証情報を読み込む良い方法だからだ。
そのテストはCIで毎晩実行される。その役割は合格することではなく、Companies Houseがフィールドを変更した週に大きな音を立てて失敗することだ。そうすることで、ユーザーがドリフトに気づく前にフィクスチャが更新される。
ツール選択評価
このリポジトリのすべてのテストはツールが機能するかを問う。どのテストも問えないことが一つある。それは、人が実際の質問をしたときにモデルが正しいツールに手を伸ばすかどうかだ — ツールが正しく、高速で、完全にカバーされていても、説明が曖昧だったり別のツールと重複していたりすると、選択されないことがある。これは公開されたMCPサーバーで最も一般的な実際の欠陥だ。
npm run eval -- --repeat 3OpenRouter または Anthropic API 経由で実行される — OPENROUTER_API_KEY または ANTHROPIC_API_KEY を設定する。デフォルトではOpenRouter上の z-ai/glm-5.2 を使用し、フルパスで約4ペンスかかる。なぜなら、料金が原因で誰も実行しない評価は何もしていないのと同じだからだ。ツールサポートのある任意のモデルを --model で指定して比較できる。
人が実際に使う言い回しで表現された14の質問を、最初に呼び出されたツール、禁止されたツールに触れたかどうか、引数が正しかったかどうか、そして最も重要なものとして、モデルが質問に含まれていない会社番号を捏造したかどうかで採点する。3回中2回合格したケースはフレーキーとして報告され失敗する。なぜなら、断続的な選択は2つの説明が重複していることを意味するからだ。
3つのモデル(GLM 5.2、Kimi K3、DeepSeek V4 Pro)で実行すると、93〜98%のスコアとなる。グラウンディンググループ — 会社名が与えられ番号がない場合、番号を思い出すのではなく検索する — は3つすべてで7/7合格。失敗は集中しており、そのうち3つはモデルではなく、私自身のツール説明の欠陥と、1つは評価自体の欠陥であることが判明した。
Companies Houseのキーは不要。何も実行されない。完全な比較とその結果は evals/README.md、推論は ADR 10 を参照。
設計ノート
11の決定が docs/adr に文書化されている:
スコープ
恒久的に読み取り専用。すべてのツールは readOnlyHint: true で注釈され、書き込みパスはない。企業に代わって文書を提出するCompanies Houseの提出APIは、リスクプロファイルが異なる別の製品であり、このサーバーのスコープ外である。ストリーミングAPIもスコープ外である。文書APIを通じて提出書類のPDFまたはiXBRLを取得することはフェーズ7であり、読み取り専用のままとなる。
ロードマップ
フェーズ | 内容 | ステータス |
1 | クライアント、認証、レートリミッター、キャッシュ、エラーマッピング、フィクスチャ | 完了 |
2 | Zodスキーマと整形されたプロジェクションを持つ9つのプリミティブツール | 完了 |
3 |
| 完了 |
4 | CIドリフトチェック付きの生成ツールドキュメント、5つの実践レシピ | 完了 |
5 | ツール選択評価スイート、CIでのライブスモークテスト、残りのADR | 完了 |
6 | 証明付きのnpmおよびDockerリリース | パイプライン構築済み、未公開 |
ライセンス
ソースコード: MIT。
このサーバーが返すデータは、Companies HouseがOpen Government Licence v3.0の下で公開しており、MITライセンスの対象ではない。再配布する場合は、OGLが要求する帰属表示を付けること:
政府機関の情報を含む。Open Government Licence v3.0の下でライセンスされている。
このプロジェクトはCompanies Houseとは提携しておらず、その承認も受けていない。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Companies House MCP — UK statutory company registry (BYO key)
Remote MCP server to enrich company profiles with structured B2B data and confidence scores.
Company intelligence via UK Companies House and risk screening across 386 risk data sources.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaylum54/companies-house-screening-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server