Attom MCP Server
ATTOM MCPサーバーは機能が充実したモデルコンテキストプロトコルサーバーで、AIエージェントと従来のアプリケーションにATTOMの不動産データへのアクセスを提供します。HTTPとstdioの転送をサポートし、スマートなフォールバック策略、自動再試行メカニズム、厳格な型安全を備えています。
スコア : 2ポイント
ダウンロード数 : 9
🚀 ATTOMサービス連携プロジェクト
このプロジェクトは、ATTOMサービスとの相互作用を目的としています。主な機能は以下の通りです。
- MCPプロトコルのサポート
- 自動リトライアルゴリズム
- アドレスとProperty IDの2種類のバリエーションのサポート
- 高度なフィルタリング機能
- キャッシュ機構
- OpenAPIドキュメントの生成
🚀 クイックスタート
コマンド一覧
# 依存関係のインストール
npm install
# 開発サーバーの起動
npm run dev
# テストの実行
npm test
# OpenAPIドキュメントの生成
npm run build-openapi
✨ 主な機能
自動リトライアルゴリズム
- 最初に提供されたパラメータを使用してATTOMサービスを呼び出します。
- レスポンスに "無法找到物业记录" が含まれ、かつ初回試行の場合:
/property/buildingpermits
エンドポイントを使用してlivingSize
を取得します(attomid
が利用可能な場合はそれを使用)。livingSize
に基づいてsqFeetRange
を30%拡張するか、2000平方フィートをプレースホルダーとして使用します。yearBuiltRange
を40年に設定します。- 比較リクエストを再送信します。
- 最初の成功したレスポンスを返すか、元のエラーを伝播します。
このアルゴリズムにより、実際のテストでは命中率が約35%向上しました。
高度なフィルタリング機能
- 必須項目:
- アドレスバリエーション:
street
,city
,county
,state
,zip
- Property IDバリエーション:
propId
- アドレスバリエーション:
- オプションのデフォルト値:
searchType="Radius"
minComps=1
,maxComps=10
,miles=5
- 高度なフィルター:
include0SalesAmounts
(ブール値)includeFullSalesOnly
(ブール値)onlyPropertiesWithPool
(ブール値)
📦 インストール
npm install
💻 使用例
基本的な使用法
# 開発サーバーの起動
npm run dev
高度な使用法
# テストの実行
npm test
# OpenAPIドキュメントの生成
npm run build-openapi
📚 ドキュメント
プロジェクト構造
attom-mcp/
├─ src/
│ ├─ runMcpServer.ts # 伝送起動ファイル(MCPエントリー)
│ ├─ mcp/
│ │ ├─ groupedTools.ts # グループ化されたMCPツール
│ │ └─ mcpServer.ts # MCPコアブリッジと登録
│ ├─ services/
│ │ └─ attomService.ts # 高レベルのATTOMオーケストレーター
│ ├─ utils/
│ │ ├─ fetcher.ts # リトライ、ログ記録、キャッシュフック
│ │ └─ fallback.ts # attomId / geoId 派生
│ ├─ config/endpointConfig.ts# 中央エンドポイントマッピング
│ └─ mcp/mcpServer.test.ts # 基本的なVitestテスト仕様
├─ openapi/attom-api-schema.yaml
├─ .env.example
└─ tsconfig.json
テスト
- Vitestを使用しています。これは軽量のJest代替品です。
- すべてのネットワーク相互作用はモックされています (
vi.mock('../utils/fetcher.js')
)。 npm test
は1秒未満で実行されます。
テスト例
fetchMock.mockRejectedValueOnce(noCompsError) // 初回呼び出し失敗
fetchMock.mockResolvedValueOnce({ comps: [] }) // リトライ成功
const result = await service.executeSalesComparablesPropIdQuery({ propId })
expect(fetchMock).toHaveBeenCalledTimes(2)
🔧 技術詳細
開発注意事項
- ESMのみ – すべてのインポートには明示的に
.js
を使用する必要があります。 - 動的インポート – 循環依存を避けるために、できるだけ使用を制限してください。
- ログ記録 –
writeLog
は標準出力に書き込みます。他のログ記録方法に置き換えるには、ユーティリティを交換してください。 - キャッシュ機構 – Redisを使用してキャッシュしており、デフォルトのポートは6379です。
- 設定管理 –
.env
ファイルを使用して環境変数を読み込みます。
トラブルシューティング
一般的な問題
- ATTOMサービスのAPIキーが正しく設定されていることを確認してください。
- ネットワーク接続を確認し、外部サービスにアクセスできることを確認してください。
- ログを確認して、詳細なエラー情報を取得してください。
解決策
DEBUG=attom:server
環境変数を使用してデバッグモードを有効にします。- 定期的にキャッシュをクリアして、データの古さを避けます。
- OpenAPIドキュメントを更新して、最新のAPI変更を反映します。
📄 ライセンス
MIT License
Copyright (c) 2023 Your Name
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
注意事項
⚠️ 重要提示
- すべての環境変数が正しく設定されていることを確認してください。
- 本番環境ではエラー処理とモニタリングを有効にしてください。
- 重要なデータとログファイルを定期的にバックアップしてください。
厳選MCPサービス

Edgeone Pages MCP Server
EdgeOne Pages MCPは、MCPプロトコルを通じてHTMLコンテンツをEdgeOne Pagesに迅速にデプロイし、公開URLを取得するサービスです。
TypeScript
246
4.8ポイント

Gmail MCP Server
Claude Desktop用に設計されたGmail自動認証MCPサーバーで、自然言語でのやり取りによるGmailの管理をサポートし、メール送信、ラベル管理、一括操作などの完全な機能を備えています。
TypeScript
268
4.5ポイント

Context7
Context7 MCPは、AIプログラミングアシスタントにリアルタイムのバージョン固有のドキュメントとコード例を提供するサービスで、Model Context Protocolを通じてプロンプトに直接統合され、LLMが古い情報を使用する問題を解決します。
TypeScript
5.2K
4.7ポイント

Baidu Map
認証済み
百度マップMCPサーバーは国内初のMCPプロトコルに対応した地図サービスで、地理コーディング、ルート計画など10個の標準化されたAPIインターフェースを提供し、PythonとTypescriptでの迅速な接続をサポートし、エージェントに地図関連の機能を実現させます。
Python
698
4.5ポイント

Gitlab MCP Server
認証済み
GitLab MCPサーバーは、Model Context Protocolに基づくプロジェクトで、GitLabアカウントとのやり取りに必要な包括的なツールセットを提供します。コードレビュー、マージリクエスト管理、CI/CD設定などの機能が含まれます。
TypeScript
61
4.3ポイント

Unity
認証済み
UnityMCPはUnityエディターのプラグインで、モデルコンテキストプロトコル (MCP) を実装し、UnityとAIアシスタントのシームレスな統合を提供します。リアルタイムの状態監視、リモートコマンドの実行、ログ機能が含まれます。
C#
531
5ポイント

Magic MCP
Magic Component Platform (MCP) はAI駆動のUIコンポーネント生成ツールで、自然言語での記述を通じて、開発者が迅速に現代的なUIコンポーネントを作成するのを支援し、複数のIDEとの統合をサポートします。
JavaScript
1.7K
5ポイント

Sequential Thinking MCP Server
MCPプロトコルに基づく構造化思考サーバーで、思考段階を定義することで複雑な問題を分解し要約を生成するのに役立ちます。
Python
243
4.5ポイント