mcp-ashby について
mcp-ashbyは、チャットクライアントを指定企業の公開Ashby求人ボードに接続します。ボード名の解決、求人の検索・絞り込み、詳細取得、公開報酬の比較ができ、APIキーやアカウントは不要です。
主な機能
- 01企業名からボードを特定
- 02求人の検索と絞り込み
- 03求人票全文の取得
- 04ボード固有の絞り込み値を一覧
- 05公開報酬の比較
活用シーン
- 01指定企業のリモート職を探す
- 02勤務地、チーム、掲載時期で求人を絞る
- 03求人広告の全文を読む
- 04給与やその他の報酬項目を比較
MCP 対応
MCPサーバーは、Ashbyボードの特定、求人検索、求人詳細の取得、ボードの絞り込み値の一覧、報酬比較のツールを公開します。APIキーやアカウントなしで公開ボードにアクセスします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
5掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | はい | 会社名、または既知の Ashby ボードトークン。 |
詳細
mcp-ashby
Ashbyは採用ソフトウェアで、利用する企業にはそれぞれ公開求人ボードが付属します。各ボードには、その企業の募集中のポジションが掲載され、職種名、部署とチーム、雇用形態、勤務地、リモートワークの可否、求人の全文に加え、企業が公開を選択した場合は給与情報も記載されます。給与情報には、給与範囲、株式報酬、コミッション、ボーナスがあり、それぞれ提示期間も示されます。Ashbyは企業ごとに1つのボードを持ち、ボードを横断するインデックスは公開していません。
このサーバーはチャットクライアントを各ボードに接続します。関心のある企業名を指定すると、それぞれの名前をボードにアクセスするためのトークンに変換し、求人情報を検索します。また、部署、チーム、勤務地、国、雇用形態、リモートワークの可否、掲載時期、給与で絞り込み、求人情報を全文表示したり、各ボードで実際に使われている語句を一覧表示したり、複数の求人の給与を並べて比較したりできます。APIキーもアカウントも必要ありません。
インストール
ワンクリックでインストール
Claude Code
claude mcp add ashby -- npx -y mcp-ashby
Claude Desktop、Cursor、および標準の設定形式を使用するすべてのクライアント
{
"mcpServers": {
"ashby": {
"command": "npx",
"args": ["-y", "mcp-ashby"]
}
}
}
Node 24以降が必要です。環境変数の設定は不要です。
Dockerを使用
{
"mcpServers": {
"ashby": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-ashby:2.0.1"]
}
}
}
プロトコルのデータは標準入力を通るため、-iで標準入力を開いたままにします。TTYはストリームを書き換えるため、-tは指定しません。コンテナに必要なのはapi.ashbyhq.comへのHTTPS外向き通信だけです。ボリューム、ポート、認証情報は不要です。
npmを使わずにバンドルを使用
最新リリースからmcp-ashby-2.0.1.mcpbをダウンロードして開きます。MCPバンドルに対応したクライアントであれば、npmも設定ファイルの編集も不要で、自動的にインストールされます。バンドルには依存関係が含まれているため、インストール時に何かがダウンロードされることはありません。
質問できること
- 「Ramp は Ashby で採用を行っていますか?」
- 「Ramp と Linear のリモート勤務可能なデザイン職を探してください。」
- 「その求人広告を全文読み上げてください。」
- 「その採用ボードでは、求人をどの部署に分類していますか?」
- 「それらのエンジニア職の給与を並べて比較してください。」
Ashby では採用ボードをまたいだ検索ができないため、質問はすべて企業名から始まります。
search_jobs が指定された名前を解決するため、事前準備は不要です。
resolve_board(["Ramp"]) -> ramp, publishing
search_jobs(["Ramp"], query: "designer", is_remote: true)
get_job("ramp", "b0c8…")
ツール
| ツール | 機能 |
|---|---|
resolve_board | 企業名を Ashby のボードトークンに変換します。 |
search_jobs | 指定した企業の求人を検索します。 |
get_job | 求人広告も含め、1件の求人を全文読み込みます。 |
list_filter_values | 1つのボードで使われている語句と、それぞれに該当する求人の件数を一覧表示します。 |
compare_compensation | 複数の求人について、給与の項目を1つ選んで並べて比較します。 |
各ボードは独自の部署名とチーム名を使っているため、別のボードで使われている語彙でフィルターを指定すると、結果は0件になります。list_filter_values は、そのボードで実際に使われている語句を提示します。
resolve_board
企業名を、その企業の Ashby ボードを指定するトークンに変換します。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
name | string | はい | 企業名、またはすでに把握している Ashby ボードトークンです。 |
返される値: found は応答したボード、tried は実際に試した形式を順に示します。名前ごとに4つの形式を試すため、見つからなかったからといって、その企業が Ashby に存在しないとは限りません。
search_jobs
指定した企業の求人を検索します。Ashby はボード全体を一度に提供し、以下のすべての絞り込みは読み込んだ情報に適用されます。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
companies | 1~10 個の文字列の配列 | はい | 会社名またはボードトークンです。 |
query | 文字列 | いいえ | 検索する語句です。 |
search_in | title または title_and_description、デフォルトは title | いいえ | query を検索する対象です。 |
department | 1 つの文字列、または最大 10 個のリスト | いいえ | ボード上の表記どおりの部門です。 |
team | 1 つの文字列、または最大 10 個のリスト | いいえ | ボード上の表記どおりのチームです。 |
employment_type | 1 つの文字列、または最大 6 個のリスト | いいえ | 雇用形態です。 |
workplace_type | 1 つの文字列、または最大 4 個のリスト | いいえ | 勤務形態です。 |
is_remote | ブール値 | いいえ | リモートと表示された求人に絞り込みます。 |
country | 1 つの国名、または最大 10 個のリスト | いいえ | ボード上の表記どおりの国名です。 |
location_contains | 文字列 | いいえ | 所在地欄に含まれる文字列です。 |
published_after | ISO 8601 形式の日付 | いいえ | 求人の掲載時期を指定します。 |
has_compensation | ブール値 | いいえ | 会社が給与範囲を公開している求人に絞り込みます。 |
salary_min | 0 以上の数値 | いいえ | 給与の下限です。 |
currency | 3 文字のコード | いいえ | 下限額の通貨です。 |
salary_interval | 文字列、デフォルトは 1 YEAR | いいえ | 下限額の対象期間です。 |
sort | published_desc、published_asc、または title、デフォルトは published_desc | いいえ | 行の並び順です。 |
limit | 1~100 の整数、デフォルトは 20 | いいえ | 取得する求人の件数です。 |
offset | 0~10000 の整数、デフォルトは 0 | いいえ | スキップする求人の件数です。 |
戻り値: board と id を持つ jobs。この2つをまとめて get_job に渡します。さらに、title、department、team、employment_type、location、country、secondary_location_count、workplace_type、is_remote、Ashby が公開するオフセット付きの published_at、compensation_summary、job_url、apply_url が含まれます。各行に求人広告の本文は含まれません。上限をどれだけ大きくしても同じです。 | |||
total_on_board は読み込んだボードに掲載されている求人件数、total_matched は条件に一致した件数、returned はこの回答に含まれる件数を示します。この3つはそれぞれ異なる数値です。per_company には会社ごとの結果とその status が含まれます。filters_applied は適用されたフィルターを示します。undeclared は、フィルター対象のフィールドが未設定の求人件数を示すため、制限によってそれらが暗黙のうちに除外されることはありません。 |
get_job
求人情報を1件、全文取得します。
| 引数 | 型 | 必須 | 内容 |
|---|---|---|---|
board | string | はい | 会社名、または Ashby のボードトークンです。 |
job_id | string | はい | 検索結果の行に含まれる識別子です。 |
description | plain、html、または none、デフォルトは plain | いいえ | 求人広告の提供形式を指定します。 |
include_compensation | boolean、デフォルトは true | いいえ | 会社が公開した報酬情報を含めます。 |
求人広告の本文は数千文字に及ぶことがあり、html は会社独自のマークアップをそのまま返します。
戻り値: 検索結果の行に含まれる求人情報に、説明文、勤務地、会社が公開した報酬の内訳を加えたものです。
list_filter_values
各ボードで実際に使われている語句と、それぞれに該当する求人件数を一覧表示します。
| 引数 | 型 | 必須 | 内容 |
|---|---|---|---|
board | string | はい | 会社名、またはボードトークンです。 |
facet | departments、teams、locations、countries、employment_types、workplace_types、または all、デフォルトは all | いいえ | 取得する語彙を指定します。 |
戻り値: 各値と、それが設定されている求人件数を含む facets、およびそのファセットが未設定の求人件数を示す undeclared です。sibling_spellings には、大文字小文字またはスペースだけが異なる表記が示されます。これらはフィルターでは別々のものとして扱われます。
compare_compensation
複数の求人に含まれる給与項目を横並びで比較します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
board | string | はい | 会社名、またはボードトークンです。 |
job_ids | 最大50個の文字列を含む配列 | いいえ | 比較する求人です。 |
department | 1つの文字列、または最大10個のリスト | いいえ | 代わりに部門を比較します。 |
team | 1つの文字列、または最大10個のリスト | いいえ | 代わりにチームを比較します。 |
query | string | いいえ | タイトル内で検索する語句です。 |
component | Salary、EquityCashValue、EquityPercentage、Commission、または Bonus。デフォルトは Salary | いいえ | 比較する項目です。 |
interval | string。デフォルトは 1 YEAR | いいえ | 比較する期間です。 |
limit | 1~100の整数。デフォルトは 25 | いいえ | 比較する求人の件数です。 |
一度に比較できる項目は1つです。 株式持分と給与を足し合わせることはできません。 別の期間で提示されている求人は、換算せずに別枠で表示されます。
返却内容: 求人ごとに1つの rows。比較対象となった component と interval が含まれます。回答に含まれるすべての通貨を示す currencies_present と、企業が何も公開していない求人を列挙する not_published も含まれます。未公開は決してゼロと同じではありません。
給与額の意味
企業は公開する情報を自ら選びます。給与範囲が記載されていない求人は、ゼロではなく、値なしとして返されます。給与範囲は、Ashby に記録されている通貨と期間のまま報告され、換算や年換算は行われません。異なる期間で提示された2つの求人をどう比較するかは、比較の目的を知っている人に委ねられます。
設定
設定は不要です。サーバーは環境変数を読み込まず、上記の mcpServers ブロックだけで設定は完了します。
リクエスト間隔、タイムアウト、キャッシュはクライアントレイヤーの設定です。ライブラリとしてで、その渡し方を説明しています。ここでリクエスト間の間隔を長くすることはできますが、短くすることはできません。
エラー
各失敗には、6 種類のコードとメッセージが含まれます。また、役立つ場合は 受け入れ可能な値も示されます。
| コード | 発生したこと | 対応方法 |
|---|---|---|
not_found | Ashby から応答がありましたが、そのようなボードや求人情報はありません。 | resolve_board でトークンを確認してください。 |
invalid_input | リクエストを送信する前に引数が拒否されました。 | 引数名と受け入れ可能な値が記載されたメッセージを確認してください。 |
rate_limited | Ashby から、このクライアントに速度を落とすよう求められました。 | 待ってから、同じ引数で再度呼び出してください。求人情報は引き続きボードに掲載されています。 |
parse_failure | Ashby から、このクライアントでは読み取れない形式で応答がありました。 | イシュートラッカーで報告してください。 |
network_error | リクエストが完了しませんでした。 | 少し待ってから再試行してください。 |
timeout | リクエストが期限を超過しました。 | 企業の数を減らすか、limit を小さくしてください。 |
ライブラリとして
Ashby を読み取るレイヤーは、独自のリクエスト間隔、キャッシュ、エラー処理を備え、 プロトコルには依存しない形で単独公開されています。
import { Client } from "mcp-ashby/client";
const client = new Client({ minIntervalMs: 2000 });
const resolved = await client.resolveBoard("Ramp");
console.log(resolved.found);
ClientOptions には minIntervalMs、timeoutMs、cacheTtlMs、fetchImpl を指定します。
公開されている下限を下回る間隔は無視されるため、ここでも同じ下限が適用されます。
リクエスト間隔とクレジット表記
リクエストは一度に 1 件ずつ送信され、少なくとも 1 秒の間隔を空けます。この下限は、
クライアントの設定にかかわらず維持されます。Ashby はボード全体を 1 回の応答で
提供し、そのデータ量は数メガバイトになることがあります。そのため、特定の企業に
関する質問 1 件でリクエストは 1 回だけ発生し、このサーバーは再度問い合わせる
代わりに、応答を短時間保持します。User-Agent にはプロジェクト名と連絡可能な
アドレスが含まれ、ブラウザーを装うことはありません。
各求人情報には、Ashby の掲載ページと応募 URL が含まれています。求人情報を表示する 際は、企業名を明記し、そのページへのリンクを付けてください。
この MCP サーバーは非公式のプロジェクトであり、Ashby または求人ボードを読み取る 企業とは一切関係ありません。
プライバシー
このサーバーはユーザーに関する情報を収集せず、作者に情報を送信することもありません。
お使いのマシン上で動作し、api.ashbyhq.com のみに接続します。動作中は応答を
メモリ内に保持し、ディスクには何も書き込みません。
PRIVACY.md には、リクエストに含まれる情報と、その内容を変更する設定が
記載されています。
開発
npm install
npm run build:fixtures
npm test
npm run check
テストは生成されたフィクスチャに対して実行され、ネットワークリクエストは行いません。
ライブテストスイートの npm run test:live は、ルートごとに 1 回リクエストを行い、
サービス自体に対して毎晩実行されます。
コントリビューション
バグ、質問、アイデアは イシュートラッカーにお寄せください。 プルリクエストも歓迎します。まずイシューを作成すると、変更内容の方向性を合意しやすく なります。CONTRIBUTING.md をご覧ください。
ライセンス
MIT ライセンスです。LICENSEをご覧ください。求人情報の権利は、掲載した 企業に帰属します。
mcp-ashby(フランス語)
Ashbyは採用ソフトウェアで、利用する企業にはそれぞれ公開求人サイトが提供されます。各サイトには、その企業の募集中のポジションが掲載され、職種名、部門、チーム、雇用形態、勤務地、リモート勤務の可否、求人の全文に加え、企業が公開を選択した場合は報酬も記載されます。報酬には、給与範囲、株式報酬、コミッション、ボーナスがあり、それぞれ対象期間も示されます。Ashbyは企業ごとにサイトをホストしており、サイトを横断するインデックスは公開していません。
このサーバーは、会話型クライアントをこうしたサイトに接続します。関心のある企業名を指定すると、それぞれの名前をサイトにアクセスするためのトークンに変換し、求人を検索して、部門、チーム、勤務地、国、雇用形態、リモート勤務の可否、新しさ、報酬で絞り込み、求人の全文を読み、各サイトで実際に使われている用語を一覧表示し、複数の求人の報酬を並べて比較できます。API キーもアカウントも不要です。
インストール
ワンクリックインストール
Claude Code
claude mcp add ashby -- npx -y mcp-ashby
Claude Desktop、Cursor、その他標準設定形式に対応するクライアント
{
"mcpServers": {
"ashby": {
"command": "npx",
"args": ["-y", "mcp-ashby"]
}
}
}
Node 24 以降が必要です。設定する環境変数はありません。
Docker を使う場合
{
"mcpServers": {
"ashby": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-ashby:2.0.1"]
}
}
}
-i は、プロトコルの通信路となる標準入力を開いたままにします。TTY はストリームを書き換えるため、-t は省略します。コンテナに必要なのは、api.ashbyhq.comへの HTTPS アウトバウンドアクセスだけです。ボリューム、ポート、認証情報は不要です。
npm なしで使えるバンドル
最新リリースからmcp-ashby-2.0.1.mcpbをダウンロードして開いてください。MCP バンドルに対応するクライアントなら、npm も設定ファイルの変更も不要で、自動的にインストールされます。バンドルには依存関係が含まれているため、インストール時にダウンロードは発生しません。
できること
- 「RampはAshbyで求人を募集していますか?」
- 「RampとLinearで、リモート勤務可能なデザイン職を探してください。」
- 「この求人の全文を読んでください。」
- 「このサイトでは、求人をどの部門に分類していますか?」
- 「これらのエンジニアリング職の給与を並べて比較してください。」
Ashbyにはサイト横断検索がないため、質問はすべて企業を指定して始めます。search_jobsは指定された企業名を自動で解決するため、事前準備は不要です。
resolve_board(["Ramp"]) -> ramp, publie
search_jobs(["Ramp"], query: "designer", is_remote: true)
get_job("ramp", "b0c8…")
ツール
| ツール | 機能 |
|---|---|
resolve_board | 企業名をAshbyサイトのトークンに変換します。 |
search_jobs | 指定した企業の求人を検索します。 |
get_job | 求人の全文を読み込みます。募集要項も含まれます。 |
list_filter_values | サイトで使われている用語と、その用語が使われている求人の数を一覧表示します。 |
compare_compensation | 複数の求人の報酬項目を並べて比較します。 |
サイトごとに部門やチームが異なるため、別のサイトの用語でフィルターを指定しても、求人は絞り込まれません。list_filter_valuesを使うと、サイトで実際に使われている用語を確認できます。
resolve_board
企業名を、Ashby サイトにアクセスするためのトークンに変換します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
name | 文字列 | はい | 企業名、または既知の Ashby トークン。 |
戻り値: found、応答したサイト、および実際に送信した形式を順番に示す tried。企業名ごとに4つの形式を試すため、見つからなくても、その企業が Ashby に存在しないとは限りません。
search_jobs
指定した企業の求人を検索します。Ashby はサイト全体を一度に返し、以下の各制限は読み込んだ内容に適用されます。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
companies | 1~10 個の文字列からなる配列 | はい | 企業名またはトークン。 |
query | 文字列 | いいえ | 検索する語句。 |
search_in | title または title_and_description、デフォルトは title | いいえ | query を検索する対象。 |
department | 文字列または最大 10 個のリスト | いいえ | サイト上の表記どおりの部門。 |
team | 文字列または最大 10 個のリスト | いいえ | サイト上の表記どおりのチーム。 |
employment_type | 文字列または最大 6 個のリスト | いいえ | 雇用形態。 |
workplace_type | 文字列または最大 4 個のリスト | いいえ | 勤務形態。 |
is_remote | ブール値 | いいえ | リモート勤務の求人のみを対象にします。 |
country | 国名または最大 10 個のリスト | いいえ | サイト上の表記どおりの国名。 |
location_contains | 文字列 | いいえ | 勤務地の行に含まれる一部分。 |
published_after | ISO 8601 形式の日付 | いいえ | 求人の最大経過期間。 |
has_compensation | ブール値 | いいえ | 企業が給与レンジを掲載している求人のみを対象にします。 |
salary_min | 0 以上の数値 | いいえ | 給与部分の下限額。 |
currency | 3 文字のコード | いいえ | 下限額の通貨。 |
salary_interval | 文字列、デフォルトは 1 YEAR | いいえ | 下限額の対象期間。 |
sort | published_desc、published_asc、または title、デフォルトは published_desc | いいえ | 行の並び順。 |
limit | 整数、1~100、デフォルトは 20 | いいえ | 返す求人の件数。 |
offset | 整数、0~10000、デフォルトは 0 | いいえ | スキップする求人の件数。 |
戻り値: board と id を持つ jobs。これらをまとめて get_job に渡します。さらに、title、department、team、employment_type、location、country、secondary_location_count、workplace_type、is_remote、Ashby が公開するタイムゾーンオフセット付きの published_at、compensation_summary、job_url、apply_url が含まれます。行には上限にかかわらず求人情報そのものは含まれません。 total_on_board は読み込んだサイトに掲載されている求人の数、total_matched は条件に一致した求人の数、returned はこのレスポンスに含まれる求人の数です。これらはそれぞれ異なる数値です。per_company には各企業の status を含む結果が示され、filters_applied には適用された条件が再掲されます。undeclared は、フィルター対象の項目について何も申告していない求人の数を示すため、制限によってそのような求人が黙って除外されることはありません。 |
get_job
求人情報全体を取得します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
board | 文字列 | はい | 企業名、または Ashby トークンです。 |
job_id | 文字列 | はい | 行に含まれる識別子です。 |
description | plain、html または none、既定値は plain | いいえ | 求人情報の取得形式です。 |
include_compensation | ブール値、既定値は true | いいえ | 公開されている報酬を含めます。 |
求人情報は数千文字に及びます。html は企業が提供したマークアップであり、書き換えられません。
戻り値: 検索結果の行に含まれる求人情報と、その説明、勤務地、企業が公開した報酬の内訳です。
list_filter_values
サイトで実際に使われている語句と、それぞれに該当する求人の数を一覧表示します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
board | 文字列 | はい | 企業名、またはトークンです。 |
facet | departments、teams、locations、countries、employment_types、workplace_types または all、既定値は all | いいえ | 取得する語彙です。 |
戻り値: facets には各値と、それに該当する求人の数が含まれます。undeclared は、そのファセットについて何も申告していない求人を示します。sibling_spellings には、大文字と小文字、または空白だけが異なる表記が示されます。これらはフィルターでは別の項目として扱われます。
compare_compensation
複数の求人の報酬項目を並べて比較します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
board | 文字列 | はい | 企業名、またはトークンです。 |
job_ids | 最大50個の文字列からなる配列 | いいえ | 比較する求人です。 |
department | 文字列、または最大10個の要素からなるリスト | いいえ | 部門を比較します。 |
team | 文字列、または最大10個の要素からなるリスト | いいえ | チームを比較します。 |
query | 文字列 | いいえ | 求人タイトル内で検索する語句です。 |
component | Salary、EquityCashValue、EquityPercentage、Commission、またはBonus。既定値はSalary | いいえ | 比較する項目です。 |
interval | 文字列。既定値は1 YEAR | いいえ | 比較する期間です。 |
limit | 整数、1~100。既定値は25 | いいえ | 比較する求人の数です。 |
一度に比較できるのは1項目のみです: 株式報酬と給与を合算することはできません。異なる期間で表示された求人は、換算せずに別途一覧表示されます。
戻り値: 求人ごとのrows。各行には、比較対象のcomponentとinterval、応答に含まれる各通貨を示すcurrencies_present、および企業が何も公開していない求人を列挙するnot_publishedが含まれます。非公開は決してゼロを意味しません。
報酬額が示すもの
企業は公開する情報を自由に選べます。給与幅のない求人は何も返さず、ゼロを返すことはありません。給与幅は、Ashbyが保持する通貨と期間のまま返され、換算も年換算も行われません。異なる期間で表示された2つの求人を比較する意味を理解している人が、その比較を判断してください。
設定
設定することはありません。サーバーは環境変数を読み込まず、上記のmcpServersブロックをそのまま使用できます。
頻度、タイムアウト、キャッシュはクライアント層の設定です。ライブラリとしてでは、その渡し方を説明しています。リクエスト間隔は広げることはできますが、短くすることはできません。
エラー
各失敗には6つのコードのいずれか、メッセージ、そして役立つ場合は受け入れられる値が含まれます。
| コード | 発生したこと | 対処方法 |
|---|---|---|
not_found | Ashby は応答しましたが、このサイトもこの求人もありません。 | resolve_board でトークンを確認してください。 |
invalid_input | リクエストを送信する前に引数が拒否されました。 | メッセージを確認してください。引数の名前と受け入れられる値が示されています。 |
rate_limited | Ashby がこのクライアントに速度を落とすよう求めています。 | しばらく待ってから、同じ引数で再度呼び出してください。求人は引き続き掲載されています。 |
parse_failure | Ashby の応答形式をこのクライアントで読み取れませんでした。 | 課題トラッカーで報告してください。 |
network_error | リクエストが完了しませんでした。 | しばらくしてから再試行してください。 |
timeout | リクエストがタイムアウトしました。 | 企業の数を減らすか、limit を小さくしてください。 |
ライブラリとして
Ashby を読み取るレイヤーは、プロトコルに依存しない形で、独自のレート制限、キャッシュ、エラー処理とともに単独で公開されています。
import { Client } from "mcp-ashby/client";
const client = new Client({ minIntervalMs: 2000 });
const resolved = await client.resolveBoard("Ramp");
console.log(resolved.found);
ClientOptions は minIntervalMs、timeoutMs、cacheTtlMs、fetchImpl を受け取ります。
公開されている最小間隔より短い間隔は無視されるため、ここでも最小間隔が適用されます。
レート制限とクレジット表記
リクエストは1件ずつ送信され、間隔は少なくとも1秒空きます。この最小間隔は、クライアントの設定にかかわらず適用されます。Ashby は1つのサイト全体を1回の応答で返し、そのサイズは数メガバイトになることがあります。そのため、企業についての問い合わせは1回のリクエストで済み、このサーバーは再度問い合わせる代わりに応答を短時間キャッシュします。User-Agent にはプロジェクト名と連絡先のメールアドレスが含まれ、ブラウザーを装うことはありません。
各求人には、Ashby の求人ページと応募ページの URL が記載されています。求人を表示する際は企業名を明記し、そのページへのリンクを掲載してください。
この MCP は非公式のプロジェクトであり、Ashby や、サイトを読み取る企業とは一切関係ありません。
プライバシー
このサーバーはユーザーに関する情報を収集せず、作成者にも何も送信しません。お使いのマシン上で動作し、api.ashbyhq.com にのみ接続します。応答は実行中にメモリ上に保持され、ディスクには何も書き込みません。PRIVACY.md には、リクエストに含まれる情報と、それを変更する設定が記載されています。
開発
npm install
npm run build:fixtures
npm test
npm run check
テストは生成されたフィクスチャを使って実行され、リクエストは送信しません。
ライブテストスイートの npm run test:live は各ルートに1回リクエストを送信し、毎晩サービス自体に対して実行されます。
貢献
不具合、質問、アイデアは課題トラッカーにお寄せください。変更の提案も歓迎します。まずチケットを作成すると、変更内容について合意しやすくなります。CONTRIBUTING.mdをご覧ください。
ライセンス
MIT。LICENSEをご覧ください。求人情報は、掲載した企業に帰属します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。