mcpField
M
MCP Server Example for Indonesian Customs Tariff & Hascode API

MCP Server Example for Indonesian Customs Tariff & Hascode API

ローカル
github.com/TehBotolBayu開発ツール073 週間前に更新

MCP Server Example for Indonesian Customs Tariff & Hascode API について

この教育用サンプルは、Hascode APIを使ってインドネシアの関税とHSコードのデータを扱うMCPサーバーの構築方法を示します。AIクライアントに通関情報を提供する方法を学ぶ開発者向けです。

主な機能

  1. 01Hascode API連携の例
  2. 02関税とHSコード情報の取得
  3. 03MCPのリソース、ツール、プロンプトの例
  4. 04通関データをAIクライアントに接続

活用シーン

  1. 01特定分野のMCPサーバー構築を学ぶ
  2. 02インドネシアの関税検索を試作する
  3. 03HSコードデータをAIクライアントに提供する

MCP 対応

関税表とHSコードデータをMCPのリソースやツールとして公開し、一般的な通関質問向けのプロンプトを用意する例です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

インドネシアの関税・Hascode API 向け MCP サーバーの例

このリポジトリでは、インドネシアの関税データとHascode API の統合を題材に、教育目的に合わせてカスタマイズした**Model Context Protocol(MCP)**サーバーの実装例を紹介しています。このプロジェクトでは、Hascode などの API に接続し、AI モデル向けに関税や HS コードの情報を取得する機能的な MCP サーバーの構築方法を説明します。

MCP とは?

MCP(Model Context Protocol)は、大規模言語モデル(LLM)に構造化されたコンテキストを提供するために設計されたオープン標準です。MCP は AI 用の USB-C ポートのようなものと考えることができます。関税 API、HS コード検索、物流データベースなど、さまざまな外部データソースにモデルを接続するための標準化された方法を提供します。

主なメリット
  • リアルタイムの HS コードや関税率情報を提供するHascode APIなどのサービス向けに、事前構築された統合機能を利用できます
  • さまざまな LLM プロバイダー(OpenAI、Anthropic など)に対応できる柔軟性があります
  • 輸入・輸出関税体系などの規制対象データに安全にアクセスするための、明確な抽象化レイヤーを備えています

アーキテクチャの概要

MCP は、複数のデータアクセスポイントに対応するクライアント・サーバーアーキテクチャを採用しています。

  • MCP ホスト:構造化された関税データを要求する Claude Desktop などの AI ツールや、企業向けアシスタントです
  • MCP クライアント:サーバーとの 1 対 1 の通信を処理するプロトコル仲介役です
  • MCP サーバー:API 経由でインドネシアの関税を取得するなど、データや機能を提供する軽量なコンポーネントです
  • データソース:ローカルファイル(例:PDF の関税表)や、Hascode などのリモート API、税関データベースが含まれます

MCP の主な概念

MCP サーバーは通常、次の 3 種類の機能を提供します。

  • リソース:HS コードのデータセット、関税表、API レスポンス(例:特定の製品に対する関税率)です
  • ツール:LLM が最新の税関情報を取得するために呼び出せる API 関数です
  • プロンプト:事前設定済みのテンプレートです(例:「インドネシアで HS コード 8703.23.91.00 に適用される輸入関税はいくらですか?」)

システム要件

  • Python 3.10 以降
  • MCP SDK 1.2.0 以降
  • uv パッケージマネージャー

はじめに

uv パッケージマネージャーのインストール

MacOS/Linux の場合:

curl -LsSf https://astral.sh/uv/install.sh | sh

その後、ターミナルを再起動して uv コマンドを有効にします。

プロジェクトのセットアップ
  1. MCP プロジェクトを初期化します:
uv init mcp-server
cd mcp-server

uv venv
source .venv/bin/activate  # Use .venv\Scripts\activate on Windows

uv add "mcp[cli]" httpx
  1. メインのサーバーファイルを作成します:
touch main.py
例:Hascode API との統合

main.py では、Hascode を使って関税データを取得するリソースを定義できます:

import httpx
from mcp import Resource

class HsCodeTariffResource(Resource):
    def read(self, hs_code: str):
        response = httpx.get(f"https://api.hascode.id/tariff?code={hs_code}")
        return response.json()
サーバーの実行

サーバーを起動します:

uv run main.py

Claude Desktop への接続

  1. Claude Desktop をインストールします
  2. 次の場所にある設定ファイルを編集します: ~/Library/Application Support/Claude/claude_desktop_config.json
{
    "mcpServers": {
        "mcp-server": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/YOUR/mcp-server",
                "run",
                "main.py"
            ]
        }
    }
}
  1. Claude Desktop を再起動します

トラブルシューティング

Claude Desktop がサーバーを検出できない場合:

  1. 設定ファイルのパスと構文を確認します
  2. すべてのディレクトリに絶対パスを使用します
  3. uv がインストールされ、正常に動作していることを確認します
  4. Claude のログで接続に関する問題を確認します

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細については、LICENSE ファイルを参照してください。


コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。