mcpField
A
ap-mcp-server

ap-mcp-server

ローカル
github.com/rbonestell検索259 週間前に更新

ap-mcp-server について

ap-mcp-serverは、Associated Press Media APIのニュースをAIアプリから利用するための非公式MCPサーバーです。検索、監視、トレンド分析、コンテンツ取得に対応し、ツールとプロンプトテンプレートを備えています。

主な機能

  1. 01自然言語によるAPコンテンツ検索
  2. 02ニュースのトレンドと推薦
  3. 03コンテンツフィードと監視
  4. 04一括取得と自動ページネーション
  5. 0517種類のワークフロープロンプト

活用シーン

  1. 01特定テーマのAP報道の調査
  2. 02速報とトレンドの追跡
  3. 03ニュースチャットボットや調査ツールの構築

MCP 対応

26のツールと17種類のプロンプトテンプレートを通じて、Associated Press Media APIの検索、コンテンツ取得、フィード、監視機能をMCPクライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"rbonestell-ap": {
"command": "npx",
"args": [
"-y",
"ap-mcp-server"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
起動コマンドnpx -y ap-mcp-server
設定が必要な環境変数
YOUR_API_KEYシークレットYour API key for the service

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmap-mcp-server1.2.6

ツール

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

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

詳細

Associated Press Media API MCP サーバー

NPM バージョン ビルドステータス テスト結果 コードカバレッジ 利用可能なツール 26 個 Claude Code で作成 ライセンス

Associated Press Media API を AI に最適化されたコンテンツインテリジェンスリソースに変換する、非公式 の Model Context Protocol(MCP)サーバーです。26 個の強力なツールを備えたこの MCP サーバーにより、会話型 AI アプリケーションは自然言語インターフェースを通じて AP の包括的なニュースコンテンツにシームレスにアクセスし、分析し、操作できます。

最適な用途:会話型 AI アシスタント、ニュース分析アプリケーション、コンテンツ調査ツール、自動ジャーナリズムのワークフロー。

メモ

AP Media API の詳細については、AP の開発者向けドキュメントをご覧ください。

🔑 主な機能

🤖 会話型 AI 機能
  • 自然言語クエリ処理:会話形式のクエリを最適化された AP API 検索に変換します
  • インテリジェントなプロンプトテンプレート:一般的なワークフローやユースケース向けに、事前設定済みのプロンプトを 17 個用意しています
  • インテリジェントなコンテンツレコメンデーション:AI を活用したコンテンツの発見と関連記事の提案を行います
  • トレンド分析:トレンドトピックをリアルタイムに検出して分析します
  • スマートクエリ最適化:検索結果を改善するため、クエリを自動的に強化します
  • プランの適用:許可されたプラン項目にコンテンツを自動的に絞り込みます(AP_ENFORCE_PLAN で設定可能)
  • AI エラーリカバリー:推奨アクションや再試行の案内を含む、自己修復型のエラーヒントを提供します
  • レート制限インテリジェンス:レート制限を自動検出してバックオフし、再試行のヒントを提示します
  • クエリ候補:範囲の広い検索に対して、クエリを絞り込むための候補を提示します
📈 パフォーマンスとスケール
  • 一括操作:1 回の操作で最大 2,000 件の検索結果と 50 件の項目を処理します
  • インテリジェントキャッシュ:パフォーマンスを向上させる TTL ベースのキャッシュシステムを備えています
  • 自動ページネーション:ページネーションにより、大量の検索結果をシームレスに処理します
  • 本番環境対応:エンタープライズグレードのパフォーマンスと信頼性を備えています
📰 包括的なコンテンツインテリジェンス
  • 26 個の包括的なツール:AP Media API の機能を網羅しています
  • ライブコンテンツフィード:AP の速報ニュースや最新情報にリアルタイムでアクセスできます
  • 高度な検索:柔軟なフィルタリングと並べ替えに対応した、複数のパラメーターによる検索を行えます
  • コンテンツのモニタリング:コンテンツのアラートやモニターを作成し、自動的に管理できます
🛡️ エンタープライズグレードの基盤
  • 完全な型安全性:OpenAPI ベースの型を用いて TypeScript で完全に実装されています
  • 堅牢なエラー処理:API エラー、レート制限、ネットワークの問題を適切に処理します
  • 安全な設定:検証機能を備えた環境変数ベースの設定を使用します
  • 包括的なテスト:単体テストと統合テストにより、高いテストカバレッジを実現しています

クイックスタート

前提条件
  • Node.js 18+
  • Associated Press API キー(api.ap.orgで取得できます)
インストール
Claude Code(CLI)

Claude Code の MCP 設定に追加します。

{
	"mcpServers": {
		"ap-media": {
			"type": "stdio",
			"command": "npx",
			"args": ["-y", "ap-mcp-server@latest"],
			"env": {
				"AP_API_KEY": "your_api_key_here"
			}
		}
	}
}
Visual Studio Code など

VS Code、Windsurf、Cursor、Void、その他の VS Code ベースのエディターの場合:

ワークスペースの MCP 設定(.vscode/mcp.json)に、次のサーバー定義を追加します。

{
	"servers": {
		"ap-media": {
			"type": "stdio",
			"command": "npx",
			"args": ["-y", "ap-mcp-server@latest"],
			"env": {
				"AP_API_KEY": "your_api_key_here"
			}
		}
	}
}
汎用 MCP クライアントの設定

Claude Desktop、ChatGPT Desktop、OpenAI Codex などに適用されます。

ほとんどの MCP 対応 AI ツールでは、次の標準設定形式を使用します。

{
	"mcpServers": {
		"ap-media": {
			"command": "npx",
			"args": ["-y", "ap-mcp-server@latest"],
			"env": {
				"AP_API_KEY": "your_api_key_here"
			}
		}
	}
}

🤖 AI と LLM の連携

AP MCP サーバーは、MCP プロトコルを介して AI ツール、チャットボット、LLM アプリケーションから直接使用できるように設計されています。AI アシスタントは、自然言語を使って AP のニュースコンテンツにアクセスできます。

AI との自然言語でのやり取り
  • 「ヘルスケア分野の人工知能に関する最近の記事を検索して」
  • 「今週、テクノロジー分野で話題になっているトピックを表示して」
  • 「気候変動に関する最新の速報ニュースを取得して」
  • 「再生可能エネルギーに関するこの記事に関連する記事を検索して」

AI ツールは、これらのリクエストを適切な MCP ツール呼び出しに自動的に変換します。

スマートなコンテンツ検索
  • トレンド検出:ニュースで話題になっているものを自動的に特定します
  • コンテンツのレコメンデーション:AI が提案する関連記事やトピックを取得します
  • クエリの拡張:曖昧なクエリを、正確で最適化された検索に変換します
  • 一括分析:パターン認識のために大量のコンテンツを処理します
AI アプリケーションの種類
  • ニュースチャットボット:会話形式で AP ニュースにアクセスできる AI アシスタント
  • リサーチアシスタント:ジャーナリストや研究者向けの AI ツール
  • 分析システム:ニュースのトレンドやパターンを自動分析します
  • コンテンツキュレーション:AI を活用したコンテンツ検索・レコメンデーションエンジン

設定

環境変数
変数必須デフォルト説明
AP_API_KEY✅-AP API キー
AP_BASE_URL🚫https://api.ap.org/media/vAP API のベース URL
AP_TIMEOUT🚫30000リクエストのタイムアウト(ms)
AP_RETRIES🚫3失敗したリクエストの再試行回数
AP_ENFORCE_PLAN🚫trueすべてのコンテンツリクエストに in_my_plan=true を強制適用(AI 安全機能)
AP_DEBUG🚫falseデバッグログを有効にします
AP_LOG_LEVEL🚫infoログレベル(error、warn、info、debug)
AP_VERBOSE_LOGGING🚫falseリクエスト/レスポンスのログ記録を有効にします
AP_CACHE_ENABLED🚫trueインテリジェントキャッシュシステムを有効にします
AP_CACHE_TTL_TRENDS🚫300000トレンドトピックのキャッシュ TTL(5 分)
AP_CACHE_TTL_SEARCH🚫180000検索結果のキャッシュ TTL(3 分)

🎯 MCP プロンプト(17 種類)

AP MCP サーバーには、複雑な操作を簡素化し、API の使用を最適化するインテリジェントなプロンプトテンプレートが追加されました。これらのプロンプトは、パラメーターの複雑さを抽象化し、一般的なワークフロー向けの自然言語インターフェースを提供します。

🔍 検索と発見のプロンプト
breaking-news-search

最適化されたパラメーターで最新の速報ニュースを検索します。

  • Arguments: topic、hours_ago、location、max_results
  • Example: 「過去2時間のテクノロジー関連の速報ニュースを取得する」
topic-deep-dive

特定のトピックについて、詳細に網羅した調査を行います。

  • Arguments: topic、days_back、min_word_count、include_analysis、max_results
  • Example: 「過去1週間の気候変動に関する報道を詳しく調査する」
multimedia-search

写真、動画、グラフィック、音声コンテンツを検索します。

  • Arguments: topic、media_type、days_back、high_quality_only、max_results
  • Example: 「過去7日間のオリンピックの高品質な写真を検索する」
regional-coverage

特定の地域や場所のニュースを網羅的に取得します。

  • Arguments: location、include_national、include_local、days_back、max_results
  • Example: 「カリフォルニア州の国内ニュースと地域ニュースをすべて取得する」
smart-search

自然言語のクエリと自動拡張機能を使って、インテリジェントに検索します。

  • Arguments: query、search_mode、auto_expand
  • Example: 「再生可能エネルギーの革新についてスマート検索する」
📊 分析とインサイトのプロンプト
trend-analysis

ニュース報道におけるトレンドのトピックやパターンを分析します。

  • Arguments: category、timeframe、location_filter、include_sentiment、max_topics
  • Example: 「過去1日のテクノロジーのトレンドを分析する」
content-recommendations

トピックや過去のコンテンツに基づいて、AI を活用したコンテンツのおすすめを取得します。

  • Arguments: based_on、subjects、content_types、location_preference、max_recommendations
  • Example: 「人工知能に関するトピックに基づいておすすめを取得する」
coverage-comparison

異なる期間のニュース報道を比較します。

  • Arguments: topic、period1_days_ago、period2_days_ago、period_length_days、metrics
  • Example: 「先週と今週の選挙報道を比較する」
quick-trending

現在トレンドになっている話題をすばやく確認します。

  • Arguments: max_topics
  • Example: 「トレンド上位10件を表示する」
🔔 モニタリングとアラートのプロンプト
create-news-monitor

特定のニューストピックを自動でモニタリングするよう設定します。

  • Arguments: topic、monitor_name、email、alert_frequency、description
  • Example: 「気候変動の速報ニュースを30分ごとにモニタリングする」
breaking-alert-setup

緊急の速報ニュースアラートをすばやく設定します。

  • Arguments: topics、email、sensitivity
  • Example: 「地震と津波のニュースについて、感度の高いアラートを設定する」
list-monitors

有効なコンテンツモニターとそのステータスをすべて表示します。

  • Arguments: include_status、include_history
  • Example: 「現在のステータスとともに、有効なモニターをすべて一覧表示する」
manage-monitor

既存のモニターを更新または削除します。

  • Arguments: monitor_id、action、new_email、new_frequency
  • Example: 「気候変動モニターの確認頻度を10分ごとに更新する」
📰 ワークフローのプロンプト
daily-news-briefing

包括的な日次ニュースブリーフィングを作成します。

  • Arguments: categories、location、include_breaking、include_trending、include_recommendations
  • Example: 「テクノロジーとビジネスを中心とした日次ブリーフィングを作成する」
research-workflow

トピックを調査するための包括的なリサーチワークフローです。

  • Arguments: topic、depth、time_range_days、include_multimedia、include_analysis
  • Example: 「過去30日間の再生可能エネルギーについて詳細に調査する」
content-curation

特定の読者層や目的に合わせてコンテンツをキュレーションします。

  • Arguments: audience、topics、content_mix、total_items
  • Example: 「AI と自動化について、ビジネス層向けのコンテンツを20件キュレーションする」
story-development

背景情報と文脈を踏まえたストーリーの作成を支援します。

  • 引数:story_topic、story_type、needs
  • 例:「背景情報や専門家の情報源を用いて、都市農業に関する特集記事の作成を支援してください」

🛠️ 利用可能なツール(合計 26 個)

🔍 コア検索・コンテンツツール
search_content

柔軟な絞り込みや並べ替えオプションを備えた高度なコンテンツ検索です。

パラメーター:

  • query(string):検索クエリ
  • sort(string):並べ替え基準(デフォルト:_score:desc)
  • page(number):ページ番号(1 から開始)
  • page_size(number):1 ページあたりの項目数(最大 100)
  • include/exclude(配列):フィールドの絞り込み
  • pricing(boolean):価格情報を含めるかどうか
  • in_my_plan(boolean):プランに含まれる項目のみを返すかどうか

AI の使用例: AI ツールが「AI と医療に関する記事を探して」といったリクエストを受け取ると、クエリ語句、並べ替え、フィールド選択など、適切な検索パラメーターに自動的に変換します。

search_content_all

大量の検索結果を対象にした、自動ページネーション付きの検索です(最大 2,000 件)。

パラメーター:

  • search_content と同じですが、ページネーションを自動的に処理します
  • max_items(number):取得する項目の最大数(デフォルト:1000、最大:2000)

**最適な用途:**一括分析、トレンド検出、包括的な調査。

get_content_item

ID を指定して特定のコンテンツ項目を取得します。

パラメーター:

  • item_id(string、必須):AP 項目 ID
  • include/exclude(配列):フィールドの絞り込み
  • pricing(boolean):価格情報を含めるかどうか
get_content_bulk

複数のコンテンツ項目を効率よく取得します(最大 50 件)。

パラメーター:

  • item_ids(配列、必須):AP 項目 ID の配列(最大 50 件)
  • include/exclude(配列):フィールドの絞り込み
  • pricing(boolean):価格情報を含めるかどうか

**最適な用途:**コンテンツの一括取得、関連記事の取得。

get_content_feed

リアルタイムニュースを確認するため、AP のライブコンテンツフィードにアクセスします。

パラメーター:

  • query(string):絞り込みクエリ
  • page_size(number):返す項目数
  • include/exclude(配列):フィールドの絞り込み
get_rss_feeds & get_rss_feed

アカウントの RSS フィードを一覧表示し、アクセスします。

get_rss_feed のパラメーター:

  • rss_id(number、必須):RSS フィード ID
  • page_size(number):1 ページあたりの項目数
  • include/exclude(配列):フィールドの絞り込み
get_ondemand_content

組織の OnDemand キューにアクセスします。

パラメーター:

  • consumer_id(string):コンシューマー識別子
  • queue(string):キュー ID
  • page_size(number):1 ページあたりの項目数
🤖 AI 搭載インテリジェンスツール
optimize_search_query

NLP を使用して、自然言語のクエリを最適化された AP API 検索に変換します。

パラメーター:

  • natural_query(string、必須):自然言語のクエリ
  • context(object):最適化に関する追加コンテキスト

AI の使用例: AI が「医療分野における AI に関する最近の記事を探して」と受け取ると、このツールは適切なキーワード、日付フィルター、コンテンツタイプの指定を含む最適化された AP API クエリに自動変換します。

analyze_content_trends

ニュースコンテンツのトレンドトピックやパターンを分析します。

パラメーター:

  • query(string):トレンド分析の基となるクエリ
  • time_range(string):分析する期間("24h"、"7d"、"30d")
  • trend_type(string):トレンド分析の種類("topics"、"entities"、"sentiment")

**最適な用途:**ニュースの傾向の把握、注目を集めつつあるストーリーの特定。

get_content_recommendations

参照項目に基づいて、AI によるコンテンツのおすすめを取得します。

パラメーター:

  • reference_item_id(string):おすすめの基準とする項目 ID
  • recommendation_type(string):"related"、"similar"、または "trending"
  • max_results(number):おすすめの最大数(デフォルト:10)

**最適な用途:**コンテンツの発見、関連記事の提案。

get_trending_subjects

キャッシュを活用して、現在トレンドになっているトピックをすばやく見つけます。

パラメーター:

  • time_window (string):トレンドの対象期間("1h"、"6h"、"24h")
  • category (string):任意のカテゴリーフィルター
  • min_mentions (number):最低メンション数のしきい値

最適な用途: リアルタイムのトレンド監視、コンテンツの企画。

📊 アカウント管理ツール
get_account_info

アカウントの基本情報と利用可能なエンドポイントを取得します。

get_account_plans

アカウントプラン、利用権限、使用量メーターを取得します。

get_account_downloads

ダウンロード履歴と使用状況を追跡します。

パラメーター:

  • min_date (string):開始日(YYYY-MM-DD または ISO-8601)
  • max_date (string):終了日(YYYY-MM-DD または ISO-8601)
  • format (string):レスポンス形式(json または csv)
get_account_quotas

現在の API クォータと使用制限を取得します。

get_followed_topics

フォローしているトピックの一覧を取得します。

🔔 高度な監視ツール
create_monitor

自動アラート用のコンテンツモニターを作成します。

パラメーター:

  • name (string, required):モニター名
  • description (string):説明
  • conditions (array):監視条件
  • notify (array):通知設定
list_monitors

既存のモニターをすべて一覧表示します。

get_monitor

特定のモニターの詳細情報を取得します。

パラメーター:

  • monitor_id (string, required):モニター ID
update_monitor

既存のモニター設定を更新します。

パラメーター:

  • monitor_id (string, required):モニター ID
  • updates (object):更新するフィールド
delete_monitor

モニターを削除します。

パラメーター:

  • monitor_id (string, required):モニター ID
get_monitor_status

モニターのステータスを確認します。

パラメーター:

  • monitor_id (string, required):モニター ID
get_monitor_history

モニターの履歴データを取得します。

パラメーター:

  • monitor_id (string, required):モニター ID
  • start_date (string):履歴の開始日
  • end_date (string):履歴の終了日
🔧 ユーティリティツール
build_search_query

検証機能を備えた構造化検索クエリを作成します。

パラメーター:

  • keywords (array):検索するキーワード
  • operators (array):検索演算子(AND、OR、NOT)
  • date_range (object):日付範囲フィルター
  • content_types (array):コンテンツタイプのフィルター
get_content_rendition

href URL を使ってレンディションを取得し、記事やメディアの全文を取得します。

パラメーター:

  • href (string, required):コンテンツアイテムのレンディションまたはリンクに含まれる href URL
  • format (string):任意の Accept ヘッダー。希望する形式を指定します
  • encoding (string):テキストコンテンツに使用する任意のエンコーディング設定

ユースケース: 以前の検索結果から NITF テキスト全文、画像、動画、音声ファイルを取得します。 最適な用途: 記事全文へのアクセス、メディアファイルのダウンロード、分析用の全文取得。

📈 API の完全なカバレッジ

この MCP サーバーは、AP Media API を完全にカバーし、インテリジェントな機能強化を提供します。

コンテンツエンドポイント
  • ✅ /content/search - コンテンツ検索(自動ページネーションと一括操作で機能強化)
  • ✅ /content/{item_id} - 単一アイテムの検索(一括取得で機能強化)
  • ✅ /content/feed - ライブコンテンツフィード
  • ✅ /content/rss - RSS フィード一覧
  • ✅ /content/rss/{rss_id} - 特定の RSS フィード
  • ✅ /content/ondemand - OnDemand キュー
アカウントエンドポイント
  • ✅ /account - アカウント情報
  • ✅ /account/plans - プランと利用権限
  • ✅ /account/downloads - ダウンロード履歴
  • ✅ /account/quotas - API クォータと使用制限
  • ✅ /account/followedtopics - フォロー中のトピックの管理
監視エンドポイント(完全実装)
  • ✅ /account/monitors/create - コンテンツ監視を作成
  • ✅ /account/monitors - すべての監視を一覧表示
  • ✅ /account/monitors/{id} - 特定の監視の詳細を取得
  • ✅ /account/monitors/{id}/update - 監視設定を更新
  • ✅ /account/monitors/{id}/delete - 監視を削除
  • ✅ /account/monitors/{id}/status - 監視のステータスと状態
  • ✅ /account/monitors/{id}/history - 監視の履歴データ
🚀 AI とパフォーマンスの強化
  • NLP クエリ処理:自然言語を AP API クエリに変換
  • インテリジェントキャッシュ:TTL ベースのキャッシュによるパフォーマンス向上
  • 一括操作:1 回の操作で最大 2,000 件を処理
  • トレンド分析:トレンドトピックをリアルタイムで検出・分析
  • コンテンツのおすすめ:AI を活用したコンテンツの発見
  • 自動ページネーション:大量の結果セットをシームレスに処理
📊 パフォーマンスベンチマーク
  • 応答時間:キャッシュ済みクエリで < 200ms
  • 一括処理:バッチリクエストあたり最大 50 件
  • 自動ページネーション:最大 2,000 件の結果を自動的に処理
  • キャッシュヒット率:トレンドトピックや頻繁な検索で約 85%
  • 同時リクエスト:高スループットのアプリケーション向けに最適化
マイプランの適用

この MCP サーバーには、AI エージェントが許可された AP プランの範囲外のコンテンツにアクセスできないようにする、自動プラン適用機能が含まれています。安全のため、デフォルトで有効になっています。

設定:

  • AP_ENFORCE_PLAN=true(デフォルト)に設定すると、すべてのコンテンツリクエストにプラン制限が適用されます
  • AP_ENFORCE_PLAN=false に設定すると、コンテンツへのアクセス制限が解除されます(注意して使用してください)

有効にすると、関連するすべてのコンテンツリクエストに in_my_plan=true が自動的に含まれ、AI エージェントは許可されたコンテンツにのみアクセスできます。これにより、次の事態を防ぎます。

  • プランに含まれていないプレミアムコンテンツへの誤ったアクセス
  • プラン対象外のコンテンツによる予期しない API コスト
  • コンテンツライセンスに関するコンプライアンス上の問題

💡 AI の活用パターン

一括操作のワークフロー

AI ツールを使って、大量のニュースコンテンツを効率的に処理できます。

  1. トレンドトピックの発見:get_trending_subjects を使用して、現在トレンドになっているトピックを特定します
  2. 包括的な検索:search_content_all を使用して、トレンドトピックに関する幅広い結果を取得します(最大 2,000 件)
  3. 詳細な分析:get_content_bulk を使用して、最も関連性の高い記事の全コンテンツを取得します(最大 50 件)
AI を活用したコンテンツの発見

AI アシスタントは複数のツールを活用し、インテリジェントにコンテンツを発見します。

  1. クエリの最適化:optimize_search_query は自然言語を正確な検索パラメーターに変換します
  2. トレンド分析:analyze_content_trends は、コンテンツの傾向や新たに注目されるニュースに関する分析情報を提供します
  3. コンテンツのおすすめ:get_content_recommendations は、参照コンテンツに基づいて関連記事を提案します
AI アプリケーション向けの監視設定

AI システムでは、自動コンテンツ監視を設定できます。

  1. 監視の作成:特定のトピック、キーワード、速報に対するコンテンツアラートを設定します
  2. パフォーマンスの追跡:ステータスを監視し、履歴データを取得してコンテンツの傾向を把握します
  3. 自動アラート:条件に一致するコンテンツが公開されたときに通知を受け取ります
キャッシュとパフォーマンスの最適化

このサーバーは、パフォーマンスを最適化するためにインテリジェントキャッシュを実装しています。

キャッシュの種類と TTL
  • トレンドトピック:5 分(頻繁に変化するデータ)
  • 検索結果:3 分(鮮度とパフォーマンスのバランス)
  • アカウント情報:15 分(比較的静的なデータ)
  • 監視データ:10 分(中程度の更新頻度)
キャッシュの設定
# Customize cache behavior
AP_CACHE_ENABLED=true
AP_CACHE_TTL_TRENDS=300000    # 5 minutes in milliseconds
AP_CACHE_TTL_SEARCH=180000    # 3 minutes in milliseconds
パフォーマンスに関するヒント
  1. 複数の項目を処理するには、一括操作を使用します
  2. 繰り返し実行するクエリでは、キャッシュを有効にします
  3. リアルタイムアプリケーションでは、トレンドトピックのキャッシュを活用します
  4. API 呼び出しを最小限に抑えるため、関連するリクエストをまとめて送信します
  5. 大規模なデータセットでは、手動ページネーションの代わりに自動ページネーションを使用します

開発

エラー処理

サーバーは、AI に適した包括的なエラー処理を実装しています。

  • APAPIError:ステータスコードと復旧のヒントを含む、AP API 固有のエラーです
  • APConfigurationError:修正方法を含む、設定およびセットアップのエラーです
  • APNetworkError:再試行のガイダンスを含む、ネットワークおよび接続の問題です
  • レート制限:指数バックオフと retry-after のヒントを用いた自動再試行です
  • 検証:明確なエラーメッセージと提案を伴う入力検証です
  • AI の復旧ヒント:すべてのエラーに suggested_action、can_retry、alternative_tool プロパティが含まれており、AI が自動で問題を解決できるようにします
テスト

テストスイートを実行します。

npm test

セキュリティ

  • API キーは環境変数経由でのみ渡されます
  • 機密データはログに記録したり保存したりしません
  • すべてのリクエストで HTTPS を使用します
  • 入力検証によりインジェクション攻撃を防ぎます
  • レート制限により API の不正使用を防ぎます

⚠️ 制限事項と考慮事項

AP API の制約
  • 適切な権限を持つ有効な AP API キーが必要です
  • AP API によるレート制限が適用されます(プランによって異なり、再試行ロジックで自動的に処理されます)
  • ダウンロード履歴は直近 365 日分に限られます
  • 日付範囲のクエリは最大 60 日間に制限されています
  • 高度なモニタリング機能には、プレミアム AP API プランが必要な場合があります
パフォーマンスに関する考慮事項
  • 一括操作では AP API のレート制限が守られます(スロットリングが自動で適用されます)
  • キャッシュ TTLは、鮮度とパフォーマンスのニーズに応じてカスタマイズできます
  • 大規模な結果セット(>1000 件)は、自動ページネーションにより処理に時間がかかる場合があります
  • AI を活用した機能では、複雑な自然言語処理によりわずかな遅延が生じる場合があります
インテリジェントな制限
  • search_content_all:最大 2,000 件(設定可能)
  • get_content_bulk:リクエストあたり最大 50 件
  • キャッシュシステムは TTL の期限切れを利用してメモリ使用量を自動管理します
  • 最適なパフォーマンスを保つため、AI による推奨はリクエストあたり最大 50 件です

トラブルシューティング

よくある問題
  1. 「AP_API_KEY is required」

    • .env ファイルに AP_API_KEY=your_key_here が含まれていることを確認します
    • キーが有効で、現在使用可能であることを確認します
  2. 「401 Unauthorized」

    • API キーが正しいことを確認します
    • キーに必要な権限があることを確認します
  3. 「Rate limit exceeded」

    • サーバーはバックオフを行い、自動的に再試行します
    • リクエストの頻度を下げることを検討してください
  4. 「Network timeout」

    • 環境変数の AP_TIMEOUT を大きくします
    • ネットワーク接続を確認します
デバッグモード

デバッグログを有効にします。

export AP_DEBUG=true
export AP_LOG_LEVEL=debug
npm start

ライセンス

MIT License。詳細については LICENSE ファイルを参照してください。

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 該当する場合はテストを追加します
  5. プルリクエストを送信します

サポート

次の項目に関する問題については:

  • この MCP サーバー:GitHub で issue を作成してください
  • AP API:api.ap.org で AP サポートにお問い合わせください
  • MCP プロトコル:Model Context Protocol のドキュメントを参照してください

コメント

MCP は初めてですか?

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

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