Ref MCP Server

公式

コーディングエージェント向けの最新ドキュメント。公開リポジトリやサイトを数千件カバー。ref.tools 提供。

ドキュメント

Documentation for your agent smithery badge Website License npm version

Ref MCP

AIコーディングツールやエージェントに、API、サービス、ライブラリなどのドキュメントへのアクセスを提供するModelContextProtocolサーバーです。エージェントを最新のドキュメントで高速かつトークン効率よく保つためのワンストップショップです。

詳細については ref.tools をご覧ください。

エージェントによる的確なコンテキスト検索

Refのツールは、モデルが検索する方法に合わせて設計されており、コンテキストの劣化を減らすために可能な限り少ないコンテキストを使用します。その目標は、コーディングエージェントが成功するために必要なコンテキストを、最小限のトークンで正確に見つけることです。

プロンプトの複雑さに応じて、Claude CodeのようなLLMコーディングエージェントは通常、1回以上の検索を行い、その後、より深く読むためのリソースをいくつか選択します。

FigmaのComment REST APIに関する簡単なクエリの場合、必要なものを正確に取得するために数回の呼び出しを行います。

SEARCH 'Figma API post comment endpoint documentation' (54 tokens)
READ https://www.figma.com/developers/api#post-comments-endpoint (385 tokens)

より複雑な状況では、LLMは結果を読みながらプロンプトを洗練させようとします。例えば:

SEARCH 'n8n merge node vs Code node multiple inputs best practices' (126)
READ https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/#merge (4961)
READ https://docs.n8n.io/flow-logic/merging/#merge-data-from-multiple-node-executions (138)
SEARCH 'n8n Code node multiple inputs best practices when to use' (107)
READ https://docs.n8n.io/code/code-node/#usage (80)
SEARCH 'n8n Code node access multiple inputs from different nodes' (370)
SEARCH 'n8n Code node $input access multiple node inputs' (372)
READ https://docs.n8n.io/code/builtin/output-other-nodes/#output-of-other-nodes (2310)

RefはMCPセッションを活用して検索の軌跡を追跡し、コンテキストの使用を最小限に抑えます。さらに多くのアイデアが進行中ですが、これまでに実装したものは次のとおりです。

1. 検索結果のフィルタリング

セッション内で同様の検索が繰り返された場合、Refは重複した結果を返しません。従来は、次の結果にページングすることで検索結果を深く掘り下げていましたが、このアプローチにより、エージェントはページングとプロンプトの調整を同時に行うことができます。

2. 重要なページ部分の取得

ドキュメントページを読む際、Refはエージェントのセッション検索履歴を使用して、関連性の低いセクションを削除し、最も関連性の高い5kトークンを返します。これにより、標準的なfetch()ウェブスクレイピングにおける大きな問題、つまり大規模なドキュメントページにヒットした場合に、20k以上のトークン(そのほとんどが無関係)をコンテキストに簡単に取り込んでしまうことを回避できます。

ドキュメントコンテキストからのトークン最小化が重要な理由

1. コンテキストが増えるとモデルは賢さを失う

2025年7月現在、より多くのトークンを投入するとモデルが賢さを失うことは十分に文書化されています。モデルが現在長いコンテキストで優れているという話を聞いたことがあるかもしれませんが、それはある程度真実ですが、全体像ではありません。いくつかの研究の簡単な入門として、Chromaのチームによるこのビデオをチェックしてください

2. トークンにはお金がかかる

Claude Opusをバックグラウンドエージェントとして使用し、最初にエージェントにドキュメントコンテキストを取り込ませ、10000トークンのコンテキスト(うち4000が関連、6000が余分なノイズ)を取り込んだとします。API価格では、その6kトークンは1ステップあたり約$0.09かかります。1つのプロンプトがOpusで11ステップかかると、理由もなく$1を費やしたことになります。

セットアップ

RefをMCPサーバーとしてセットアップするには、streamable-httpサーバー(推奨)またはローカルstdioサーバー(レガシー)の2つのオプションがあります。

このリポジトリにはレガシーstdioサーバーが含まれています。

Streamable HTTP(推奨)

Install Ref MCP in Cursor

"Ref": {
  "type": "http",
  "url": "https://api.ref.tools/mcp?apiKey=YOUR_API_KEY"
}

stdio

Install Ref MCP in Cursor (stdio)

"Ref": {
  "command": "npx",
  "args": ["ref-tools-mcp@latest"],
  "env": {
    "REF_API_KEY": <sign up to get an api key>
  }
}

ツール

Ref MCPサーバーは、エージェントのニーズに合わせたすべてのドキュメント関連ツールを提供します。

ref_search_documentation

技術ドキュメントをチェックするための強力な検索ツールです。事実やコードスニペットを見つけるのに最適です。ウェブやGitHub上の公開ドキュメント、およびリポジトリやPDFなどのプライベートリソースを検索するために使用できます。

パラメータ:

  • query(必須):関連するドキュメントを検索するためのクエリ。完全な文または質問である必要があります。

ref_read_url

URLからコンテンツを取得し、Refで簡単に読めるようにMarkdownに変換するツールです。これは、関連コンテンツのURLを返すref_search_documentationツールと組み合わせて使用すると強力です。

パラメータ:

  • url(必須):読み取るウェブページのURL。

OpenAIディープリサーチサポート

Refはディープリサーチのソースとして使用できます。OpenAIは特定のツール定義を必要とするため、OpenAIクライアントで使用する場合、Refはわずかに異なる名前で同じツールを提供します。

ref_search_documentation(query) -> search(query)
ref_read_url(url) -> fetch(id)

開発

npm install
npm run dev

Inspectorでの実行

開発およびデバッグの目的で、MCP Inspectorツールを使用できます。Inspectorは、MCPサーバーの相互作用をテストおよび監視するための視覚的なインターフェースを提供します。

詳細なセットアップ手順については、Inspectorドキュメントをご覧ください。

Inspectorでローカルにテストするには:

npm run inspect

または、ウォッチャーとInspectorの両方を実行します:

npm run dev

ローカル開発

  1. リポジトリをクローンします
  2. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします:
npm run build
  1. 自動再ビルドによる開発の場合:
npm run watch

ライセンス

MIT