fecklesspleb Apify Actors について
fecklesspleb Apify Actors は、SEO、サイト情報、ニュース、求人検索向けの Apify Actor を実行する MCP サーバーです。結果をツール呼び出し内で返し、呼び出しごとに費用上限を設定できます。
主な機能
- 01SEO 監査とページメタデータ抽出
- 02サイトマップ URL の抽出
- 03Hacker News の検索
- 04リモート求人と企業求人の集約
- 05任意のクロール、スクリーンショット、リンク検査
- 06同期結果の返却と費用上限
活用シーン
- 01サイトの SEO 問題とメタデータの確認
- 02Hacker News の投稿やリモート求人の検索
- 03企業の採用サイトから求人を取得
- 04ページの Markdown 化やリンク切れの検出
MCP 対応
AI エージェント向けに 14 個のツールを提供し、10 個が既定で有効、4 個のウェブツールは任意で有効化できます。各ツールは Apify Actor を実行し、データセットの結果を直接返します。呼び出しごとに費用上限を設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y fecklesspleb-actors-mcpAPIFY_TOKENシークレットYour Apify API token. Actor runs are billed to this Apify account per result.FECKLESSPLEB_TOOLSETSComma-separated toolsets: core, jobs, web, or all. Default: core,jobs.APIFY_MAX_COST_USDDefault spending cap per tool call, in USD.APIFY_MAX_COST_CEILING_USDHighest per-call cap a tool call may request, in USD.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
10掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| startUrls | array | はい | 監査するウェブサイト。各サイトの開始ページで、通常はホームページです。例:["https://books.toscrape.com/"]。URL 文字列または {"url": "..."} オブジェクトを指定できます。http(s):// のない URL には https:// が追加されます。同一ホスト上のリンクのみをクロールし(www. と裸のドメインは同一ホストとして扱われます)、robots.txt に従います。デフォルトの ["https://www.python.org/"] はサンプル実行です。最大2ページで、15秒後に停止します。 |
| maxCostUsd | number | いいえ | この呼び出しで Apify アカウントに請求できる上限額(米ドル)。デフォルトは 0.25、最大値は 5 です。maxTotalChargeUsd として Apify に渡され、この実行で Apify が請求できる上限額になります。 |
| maxResults | integer | いいえ | データセット内の最大ページ数。すべてのサイトを通じて、実行全体でデータセットに保存される最大行数です。デフォルトは 0 = 上限なしです。無料の行(HTTP 400 以上を返したページ、または応答がなかったページ)も含まれます。上限に達するとクロールを停止します。課金対象の行1件につき $0.003 です。 |
| includeJsonLd | boolean | いいえ | JSON-LD データを含めます。true の場合、各行に jsonLd(解析済みの JSON-LD ブロック)が含まれます。email、telephone、author、creator、contributor、editor、reviewedBy のキーは削除されます。jsonLdTypes(検出された schema.org タイプ)と jsonLdErrors(解析に失敗したブロック)は常に含まれます。 |
| excludePatterns | array | いいえ | 除外する URL パターン。クロール対象外のリンクを指定する正規表現で、完全な URL の任意の位置に対して大文字と小文字を区別せず照合します。例:["/tag/", "\\?page="]。ページ内で見つかったリンクに適用されます。開始 URL は常に監査されます。デフォルト:なし。 |
| maxPagesPerSite | integer | いいえ | サイトごとの最大ページ数。開始 URL ごとに監査するページ数で、1~10,000 の範囲です。デフォルトは 10 です。失敗したページ(HTTP 400 以上、または応答なし)はカウントされます。robots.txt でブロックされたページ、HTML 以外のファイル、別ホストへのリダイレクトはカウントされません。例:小規模サイトを完全に監査する場合は 200。 |
| onlyPagesWithIssues | boolean | いいえ | 問題のあるページのみを対象にします。true の場合、問題のないページは保存も課金もされず、問題が1つ以上あるページのみが出力されます。デフォルトは false で、監査したすべてのページを出力します。 |
詳細
fecklesspleb-actors-mcp
AI エージェントに14個のツールを提供するMCP サーバーです。SEO 監査、ページメタデータ、サイトマップ、Hacker News の検索と求人情報に対応する10個のツールがデフォルトで有効になっており、Markdown のクロール、画像のダウンロード、スクリーンショット、リンク切れの確認を行う4個のウェブツールはオプトインで利用できます。各ツールは私が公開している Apify Actor のいずれかを実行し、結果をツールのレスポンスとして返します。
開示事項: 私(fecklesspleb)がこのサーバーと、サーバーから呼び出されるすべての Actor を作成し、保守しています。実行料金は、Apify Store の価格に基づいてご自身の Apify アカウントに請求され、その一部は Actor の開発者である私に支払われます。このプロジェクトは Apify、Greenhouse、Lever、Ashby、Workday、Remote OK、We Work Remotely、Jobicy、Hacker News、Y Combinator、Algolia とは提携しておらず、これらからの推奨も受けていません。
Apify 公式 MCP サーバーではなく、こちらを使う理由
必ずしもこちらを使う必要はありません。Apify の公式サーバーでも、これらの Actor を実行できます。
- ホスト型:
https://mcp.apify.com?tools=fecklesspleb/website-seo-audit,fecklesspleb/sitemap-extractor(OAuth、またはAuthorization: Bearer <APIFY_TOKEN>ヘッダー) - ローカル:
APIFY_TOKENを設定して、npx -y @apify/actors-mcp-server --tools fecklesspleb/website-seo-audit,fecklesspleb/sitemap-extractorを実行
このサーバーは、より小規模で目的を絞った選択肢です。
- ツール呼び出し時に結果が返されます。 各呼び出しでは Apify の同期
run-sync-get-dataset-itemsエンドポイントを使用するため、エージェントは実行 ID を使ってポーリングする代わりに、データセットの項目を直接取得できます。 - すべての呼び出しに料金上限があります。
maxCostUsd(デフォルトは $0.25)がmaxTotalChargeUsdとして Apify に送信されます。サーバー側の上限(デフォルトは $5)により、エージェントが指定できる金額が制限されます。 - デフォルト値は控えめです。 エージェントが指定しない場合、サーバーは求人25件、Hacker News の項目50件、サイトごとに10ページなどの上限を設定します。エージェントが要求しない限り、求人情報の詳細は含まれないため、レスポンスを短く保てます。
- 入力スキーマは常に最新です。 起動時に、サーバーは Apify の最新ビルドから各 Actor の入力スキーマを読み込み、Actor が受け付ける入力だけをツールで受け付けます。Apify に接続できない場合は、同梱のスナップショットを使用します。
ツール
価格は、この文書の作成時点での Apify Store の価格です。最新の価格は各 Actor のページをご確認ください。
core(5個のツール、デフォルトで有効)
| ツール | Actor | 返される内容 | 価格 |
|---|---|---|---|
seo_audit_website | website-seo-audit | startUrls から同一ホスト内のサイトをクロールし、ページごとに1件のレコードを返します。内容:ステータス、スコア(0~100)、問題点(タイトル、メタディスクリプション、H1、canonical、noindex、代替テキスト、薄いコンテンツ、Open Graph、JSON-LD、ページの読み込み速度) | 1ページあたり $0.003 + 実行開始ごとに $0.00005 |
extract_website_metadata | website-metadata-extractor | urls の各 URL について、タイトル、メタディスクリプション、canonical、言語、Open Graph、Twitter カード、JSON-LD、ファビコン、RSS フィード、hreflang を返します。読み取れなかった URL の行は無料です | URL あたり $0.001 + 実行開始ごとに $0.00005 |
extract_sitemap_urls | sitemap-extractor | サイトのサイトマップ内にあるすべての URL を返します(robots.txt から検出するか、指定したサイトマップ URL から取得)。lastmod、changefreq、priority を含みます。正規表現と日付でのフィルターに対応 | URL あたり $0.0002 |
search_hacker_news | hacker-news-scraper | mode: "search":キーワード、ポイント数、コメント数、日付で検索した HN のストーリーとコメント(Algolia の HN Search API を使用)。mode: "whoIsHiring":毎月の「Ask HN: Who is hiring?」スレッドから取得した求人情報 | 項目あたり $0.00015 |
search_remote_jobs | remote-jobs-aggregator | Remote OK、We Work Remotely、Jobicy のフィードから取得した、重複を除いたリモート求人の一覧。各求人に情報源を記載します。キーワード、勤務地、給与、日付でのフィルターに対応 | 求人あたり $0.001 |
jobs(5 ツール、デフォルトで有効)
企業の採用サイトから求人情報を取得します。各求人には、企業名、タイトル、勤務地、リモート勤務の有無、部署、雇用形態、給与(掲載情報に記載がある場合)、掲載日、URL が含まれます。
| ツール | Actor | companies の指定方法 | 料金 |
|---|---|---|---|
greenhouse_jobs | greenhouse-jobs-scraper | Greenhouse のスラッグ(airbnb)、ボードの URL、または採用ページを指定します。または、searchDirectory: true を設定します | 求人 1 件あたり $0.001 |
lever_jobs | lever-jobs-scraper | Lever のスラッグ(palantir)、ボードの URL、または採用ページを指定します。または、searchDirectory: true を設定します | 求人 1 件あたり $0.001 |
ashby_jobs | ashby-jobs-scraper | Ashby のスラッグ(ramp)、ボードの URL、または採用ページを指定します。または、searchDirectory: true を設定します | 求人 1 件あたり $0.001 |
workday_jobs | workday-jobs-scraper | Workday の採用サイトの完全な URL を指定します。例:https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite | 求人 1 件あたり $0.002 |
ats_jobs | ats-jobs-scraper | Greenhouse、Lever、Ashby、Workday、Workable、Recruitee、Teamtailor のボード URL または採用ページを指定します(Polymer と HireHive は URL で指定)。企業がどの ATS を使用しているかわからない場合に使用します | 求人 1 件あたり $0.002 |
web(4 ツール、オプトイン:FECKLESSPLEB_TOOLSETS=core,jobs,web または all)
| ツール | Actor | 返される内容 | 料金 |
|---|---|---|---|
crawl_website_to_markdown | website-to-markdown-crawler | サイトのページを Markdown またはテキストで返します | ページ 1 件あたり $0.0008 + 実行開始 1 回あたり $0.00005 |
download_images | bulk-image-downloader | Apify ストレージに保存された画像やファイルへのリンクと、サイズ、寸法、代替テキスト、SHA-256 を返します | ファイル 1 件あたり $0.001 + 実行開始 1 回あたり $0.00005 |
screenshot_website | website-screenshot | Apify ストレージに保存された PNG/JPEG スクリーンショット(およびオプションの PDF)へのリンクを返します | スクリーンショット 1 件あたり $0.0008 + 実行開始 1 回あたり $0.00005 |
check_broken_links | broken-link-checker | ページ、リンクテキスト、ステータスコードとともに、リンク切れや画像切れを返します | リンク切れ 1 件あたり $0.003(onlyBroken がオフの場合はチェックしたリンク 1 件あたり $0.0005)+ 実行開始 1 回あたり $0.00005 |
「実行開始」の料金は、実行ごとに 1 GB の実行メモリあたり 1 回課金されます。
すべてのツールは maxCostUsd も受け取ります。その他の引数はすべて Actor 独自の入力フィールドで、ツールの入力スキーマに記載されています。
セットアップ
Node.js 20 以降と Apify アカウントが必要です。Apify Console > Settings > API & Integrations から API トークンをコピーしてください。
mcpServers 設定を使用する Claude Desktop、Cursor などのクライアント:
{
"mcpServers": {
"fecklesspleb-actors": {
"command": "npx",
"args": ["-y", "fecklesspleb-actors-mcp"],
"env": { "APIFY_TOKEN": "<your Apify API token>" }
}
}
}
Claude Code:
claude mcp add fecklesspleb-actors --env APIFY_TOKEN=<your Apify API token> -- npx -y fecklesspleb-actors-mcp
ソースから:
git clone https://github.com/fecklesspleb/actors-mcp.git
cd actors-mcp
npm ci && npm run build
APIFY_TOKEN=<your Apify API token> node dist/index.js
Docker:
docker build -t fecklesspleb-actors-mcp .
docker run -i --rm -e APIFY_TOKEN=<your Apify API token> fecklesspleb-actors-mcp
設定
| 変数 | デフォルト | 意味 |
|---|---|---|
APIFY_TOKEN | (呼び出しに必須) | Apify API トークンです。トークンがなくてもツールは一覧表示されますが、呼び出すとエラーになります。 |
FECKLESSPLEB_TOOLSETS | core,jobs | カンマ区切りで指定します:core、jobs、web、または all。 |
APIFY_MAX_COST_USD | 0.25 | エージェントが maxCostUsd を渡さない場合の、呼び出しごとの上限です。正の数である必要があります。0、負の値、数値以外を指定すると、サーバーは起動時に停止します。上限を超える値は上限まで引き下げられます。 |
APIFY_MAX_COST_CEILING_USD | 5 | エージェントがリクエストできる maxCostUsd の最大値です。これを超える値はこの値まで引き下げられます。正の数である必要があります。 |
APIFY_RUN_TIMEOUT_SECS | 280 | Apify に送信する実行タイムアウトです。0 の場合、Actor 自身のタイムアウトが使用されます。 |
MAX_OUTPUT_CHARS | 60000 | ツールの応答の最大文字数です。これを超える結果は切り詰められ、応答には省略された項目数が記載されます。 |
FECKLESSPLEB_LIVE_SCHEMAS | 1 | ライブスキーマの取得をスキップして、バンドルされたスナップショットを使用するには 0 を設定します。 |
APIFY_API_BASE_URL | https://api.apify.com/v2 | API のベース URL です。モック API に対するテストでのみ使用します。通常は設定しないでください。https である必要があります。プレーンな http は、localhost、127.0.0.1、::1 に限り使用できます。 |
呼び出しで返される内容
{
"actor": "fecklesspleb/sitemap-extractor",
"itemCount": 2,
"maxCostUsd": 0.25,
"items": [
{ "url": "https://example.com/blog/a", "lastmod": "2026-10-01", "sitemapUrl": "https://example.com/sitemap.xml" },
{ "url": "https://example.com/blog/b", "lastmod": "2026-10-03", "sitemapUrl": "https://example.com/sitemap.xml" }
]
}
items は Actor のデータセット項目で、変更されずに返されます。各 Actor のフィールドは、Apify Store のページに記載されています。
制限事項
- Apify の同期エンドポイントが待機するのは最大 300 秒です。それより長く実行するとエラーが返されますが、Apify Console では実行が継続している場合があります。URL、ページ、または会社の数を減らしてください。
MAX_OUTPUT_CHARSを超える結果は切り詰められます。データセット全体は Apify アカウントに保存されます。- スクリーンショットとダウンロードしたファイルは、画像データではなく、Apify ストレージへのリンクとして返されます。
開発
テストのビルドと実行には、Node.js 20.19 以降(Node 22 の場合は 22.12 以降)が必要です。テストランナー(Vite 8 上の Vitest)が必要とするためです。サーバーの実行には、引き続き Node.js 20 以降のみが必要です。
npm ci
npm run build
npm test # builds, then runs unit, protocol and token-leak tests against a mocked Apify API, no network
APIFY_TOKEN=<your Apify API token> npm run e2e # one real call (Hacker News, 5 items, about $0.00075, billed to that account)
npm run snapshot-schemas # refresh the bundled input schemas from the live Actor builds
ライセンス
MIT。Copyright (c) 2026 fecklesspleb.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。