非構造化API MCPサーバー
非構造化APIと連携するためのMCPサーバー実装。このサーバーは、ソースとワークフローを一覧表示するツールを提供します。
利用可能なツール
道具 | 説明 |
---|---|
list_sources | 非構造化 API から利用可能なソースを一覧表示します。 |
get_source_info | 特定のソース コネクタに関する詳細情報を取得します。 |
create_source_connector | ソースコネクタを作成します。 |
update_source_connector | パラメータによって既存のソース コネクタを更新します。 |
delete_source_connector | ソース ID によってソース コネクタを削除します。 |
list_destinations | 非構造化 API から利用可能な宛先を一覧表示します。 |
get_destination_info | 特定の宛先コネクタに関する詳細情報を取得する |
create_destination_connector | パラメータによって宛先コネクタを作成します。 |
update_destination_connector | 既存の宛先コネクタを宛先 ID で更新します。 |
delete_destination_connector | 宛先 ID によって宛先コネクタを削除します。 |
list_workflows | 非構造化 API からのワークフローを一覧表示します。 |
get_workflow_info | 特定のワークフローに関する詳細情報を取得します。 |
create_workflow | ソース、宛先 ID などを使用して新しいワークフローを作成します。 |
run_workflow | ワークフローIDで特定のワークフローを実行する |
update_workflow | パラメータによって既存のワークフローを更新します。 |
delete_workflow | ID で特定のワークフローを削除します。 |
list_jobs | 非構造化 API から特定のワークフローのジョブを一覧表示します。 |
get_job_info | ジョブ ID によって特定のジョブの詳細情報を取得します。 |
cancel_job | ID で特定のジョブを削除���ます。 |
以下は、 UNS-MCP
サーバーが現在サポートしているコネクタのリストです。Unstructuredプラットフォームがサポートするソースコネクタの完全なリストはこちら、宛先コネクタのリストはこちらでご確認ください。今後、コネクタをさらに追加していく予定です。
ソース | 行き先 |
---|---|
S3 | S3 |
アズール | ウィービエイト |
Googleドライブ | 松ぼっくり |
ワンドライブ | アストラDB |
セールスフォース | モンゴDB |
シェアポイント | ネオ4j |
Databricks ボリューム | |
Databricks ボリューム デルタ テーブル |
コネクタを作成/更新/削除するツールを使用するには、.env ファイルで特定のコネクタの認証情報を定義する必要があります。サポート対象のコネクタのcredentials
のリストは以下のとおりです。
資格情報名 | 説明 |
---|---|
ANTHROPIC_API_KEY | サーバーと対話するには、 minimal_client を実行する必要があります。 |
AWS_KEY 、 AWS_SECRET | uns-mcp サーバー経由でS3コネクタを作成する必要があります。方法については、ドキュメントとここを参照してください。 |
WEAVIATE_CLOUD_API_KEY | WeaviateベクターDBコネクタを作成するために必要です。ドキュメントで方法を確認してください。 |
FIRECRAWL_API_KEY | external/firecrawl.py の Firecrawl ツールを使用するには、 Firecrawlにサインアップして API キーを取得する必要があります。 |
ASTRA_DB_APPLICATION_TOKEN 、 ASTRA_DB_API_ENDPOINT | uns-mcp サーバー経由でAstradbコネクタを作成する必要があります。方法についてはドキュメントを参照してください。 |
AZURE_CONNECTION_STRING | uns-mcp サーバー経由で Azure コネクタを作成するにはオプション 1 が必要です。方法についてはドキュメントを参照してください。 |
AZURE_ACCOUNT_NAME + AZURE_ACCOUNT_KEY | uns-mcp サーバー経由で Azure コネクタを作成するにはオプション 2 が必要です。方法についてはドキュメントを参照してください。 |
AZURE_ACCOUNT_NAME + AZURE_SAS_TOKEN | uns-mcp サーバー経由で Azure コネクタを作成するにはオプション 3 が必要です。方法についてはドキュメントを参照してください。 |
NEO4J_PASSWORD | uns-mcp サーバー経由でNeo4jコネクタを作成する必要があります。方法についてはドキュメントを参照してください。 |
MONGO_DB_CONNECTION_STRING | uns-mcp サーバー経由でMongodbコネクタを作成する必要があります。方法についてはドキュメントを参照してください。 |
GOOGLEDRIVE_SERVICE_ACCOUNT_KEY | 文字列値。元のサーバーアカウントキー(ドキュメントを参照)はJSONファイルに保存されています。ターミナルでbase64 < /path/to/google_service_account_key.json を実行して文字列値を取得してください。 |
DATABRICKS_CLIENT_ID 、 DATABRICKS_CLIENT_SECRET | uns-mcp サーバー経由でDatabricksボリューム/デルタテーブルコネクタを作成する必要があります。方法についてはドキュメントとここを参照してください。 |
ONEDRIVE_CLIENT_ID 、 ONEDRIVE_CLIENT_CRED 、 ONEDRIVE_TENANT_ID | uns-mcp サーバー経由で One Drive コネクタを作成する必要があります。方法についてはドキュメントを参照してください。 |
PINECONE_API_KEY | uns-mcp サーバー経由でPineconeベクターDBコネクタを作成する必要があります。方法についてはドキュメントを参照してください。 |
SALESFORCE_CONSUMER_KEY 、 SALESFORCE_PRIVATE_KEY | uns-mcp サーバー経由で Salesforce ソース コネクタを作成する必要があります。方法についてはドキュメントを参照してください。 |
SHAREPOINT_CLIENT_ID 、 SHAREPOINT_CLIENT_CRED 、 SHAREPOINT_TENANT_ID | uns-mcp サーバー経由で One Drive コネクタを作成する必要があります。方法についてはドキュメントを参照してください。 |
LOG_LEVEL | minimal_client のログレベルを設定するために使用します。例えば、すべてを取得するには ERROR に設定します。 |
CONFIRM_TOOL_USE | trueに設定すると、 minimal_client 各ツール呼び出しの前に実行を確認できるようになります。 |
DEBUG_API_REQUESTS | uns_mcp/server.py リクエストパラメータを出力してデバッグを効率化できるように true に設定します |
ファイアクロールソース
Firecrawlは、MCP で 2 つの主な機能を提供する Web クロール API です。
- HTML コンテンツの取得:
invoke_firecrawl_crawlhtml
を使用してクロールジョブを開始し、check_crawlhtml_status
使用して監視します。 - LLM 最適化テキスト生成:
invoke_firecrawl_llmtxt
を使用してテキストを生成し、check_llmtxt_status
使用して結果を取得します。
Firecrawl の仕組み:
Web クロールのプロセス:
- 指定されたURLから開始し、それを分析してリンクを識別します
- サイトマップが利用可能な場合はそれを使用し、そうでない場合はウェブサイト上のリンクに従います
- 各リンクを再帰的に走査してすべてのサブページを検出します
- 訪問したすべてのページからコンテンツを収集し、JavaScript レンダリングとレート制限を処理します。
- 必要に応じて、
cancel_crawlhtml_job
でジョブをキャンセルできます。 - すべての情報を生の HTML に抽出する必要がある場合は、これを使用してください。Unstructured のワークフローにより、非常にきれいにクリーンアップされます :smile:
LLMテキスト生成:
- クロール後、クロールしたページからクリーンで意味のあるテキストコンテンツを抽出します
- 大規模言語モデル向けに特別にフォーマットされた最適化されたテキスト形式を生成します
- 結果は指定されたS3の場所に自動的にアップロードされます
- 注: LLMテキスト生成ジョブは、開始後はキャンセルできません。cancel_llmtxt_job関数は一貫性を
cancel_llmtxt_job
ために提供されていますが、現在Firecrawl APIではサポートされていません。
注意: これらの関数を使用するには、 FIRECRAWL_API_KEY
環境変数を設定する必要があります。
インストールと設定
このガイドでは、Python 3.12 とuv
ツールを使用して UNS_MCP サーバーをセットアップおよび構成するための手順を段階的に説明します。
前提条件
- Python 3.12以上
- 環境管理のための
uv
- UnstructuredのAPIキー。こちらからサインアップしてAPIキーを取得できます。
uv
の使用(推奨)
uvx
を使用する場合、実行はuvxが行うため、追加のインストールは必要ありません。ただし、パッケージを直接インストールしたい場合は、以下の手順に従ってください。
Claudeデスクトップの設定
Claude Desktop との統合については、 claude_desktop_config.json
に次のコンテンツを追加します。
**注:**ファイルは~/Library/Application Support/Claude/
ディレクトリにあります。
uvx
コマンドの使用:
あるいは、Python パッケージを使用する:
ソースコードの使用
- リポジトリをクローンします。
- 依存関係をインストールします:
- 非構造化APIキーを環境変数と��て設定します。ルートディレクトリに以下の内容の.envファイルを作成します。設定可能な環境変数については、
.env.template
を参照してください。
次のいずれかの方法でサーバーを実行できるようになりました。
Claude Desktop の設定を更新します。
注: パッケージをインストールした環境でuvx実行ファイルを指定することを忘れないでください
注意: Claude Desktop ではサポートされていません。
SSE プロトコルの場合、クライアントとサーバーを分離することでデバッグが簡単になります。
- 1 つのターミナルでサーバーを起動します。
- 別のターミナルでローカル クライアントを使用してサーバーをテストします。
**注:**サービスを停止するには、最初にクライアントでCtrl+C
を使用し、次にサーバーで Ctrl+C を使用します。
Claude Desktop を stdio を使用するように設定します。
あるいは、ローカル クライアントを実行します。
追加のローカルクライアント構成
環境変数を使用して最小限のクライアントを構成します。
LOG_LEVEL="ERROR"
: LLM からのデバッグ出力を抑制し、ユーザーに明確なメッセージを表示するように設定します。CONFIRM_TOOL_USE='false'
: 実行前のツール使用確認を無効にします。LLMは高負荷のワークフローを実行したり、データを削除したりする可能性があるため、特に開発中は注意して使用してください。
デバッグツール
Anthropicは、MCPサーバーのデバッグ/テストに使用できるMCP Inspector
ツールを提供しています。以下のコマンドを実行するとデバッグUIが起動します。そこから、左ペインに環境変数(ローカル環境を指す)を追加できます。環境変数には、ご自身のAPIキーを含めてください。 tools
に移動すると、MCPサーバーに追加した機能をテストできます。
UnstructuredClient
へのリクエスト呼び出しパラメータをログに記録する必要がある場合は、環境変数DEBUG_API_REQUESTS=false
を設定してください。ログはunstructured-client-{date}.log
形式のファイルに保存され、 UnstructuredClient
関数へのリクエスト呼び出しパラメータをデバッグするために使用できます。
最小限のクライアントにターミナルアクセスを追加する
@wonderwhy-er/desktop-commanderを使用して、最小限のクライアントにターミナルアクセスを追加します。これは MCP ファイルシステムサーバー上に構築されています。クライアント(LLM も)がプライベートファイルにアクセスできるようになるため、ご注意ください。
パッケージをインストールするには、次のコマンドを実行します。
次に、追加のパラメータを使用してクライアントを起動します。
ツールのサブセットを使用する
クライアントがツールのサブセットのみの使用をサポートしている場合は、次の点に注意してください。
update_workflow
ツールには、カスタム ノードの作成方法と構成方法に関する詳細な説明が含まれているため、create_workflow
ツールと一緒にコンテキストにロードする必要があります。
既知の問題
update_workflow
- ユーザーが指定するか、get_workflow_info
ツールを呼び出すことによって、更新するワークフローの構成をコンテキストに含める必要があります。このツールはpatch
適用ツールとして機能しないため、ワークフロー構成を完全に置き換えます。
変更ログ.md
新たに開発された機能/修正/拡張機能はすべて CHANGELOG.md に追加されます。安定バージョンに移行する前に、0.xx-dev プレリリース形式が推奨されます。
トラブルシューティング
Error: spawn <command> ENOENT
問題が発生した場合は、<command>
がインストールされていないか、PATH に表示されていないことを意味します。- 必ずインストールして PATH に追加してください。
- または、設定の
command
フィールドにコマンドへの絶対パスを指定します。例えば、python``/opt/miniconda3/bin/python
に置き換えます。
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
非構造化 API とのやり取りを可能にし、ソース、宛先、ワークフローを一覧表示、作成、更新、管理するためのツールを提供する MCP サーバー実装。
Related Resources
Related MCP Servers
- -securityAlicense-qualityMCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.Last updated -43TypeScriptMIT License
- AsecurityAlicenseAqualityA MCP server for managing and storing code snippets in various programming languages, allowing users to create, list, and delete snippets via a standardized interface.Last updated -34JavaScriptMIT License
- -securityAlicense-qualityMCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.Last updated -132TypeScriptMIT License
- -securityFlicense-qualityAn MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.Last updated -1Python