ドキュメントが重要な理由

ドキュメントは最新で正確なコンテキストを提供する。これがないと、モデルは古いか不完全な学習データに頼っちゃう。ドキュメントがあると、モデルは次のようなことを理解できる:
  • 最新のAPIとパラメータ
  • ベストプラクティス
  • 組織の規約・慣例
  • ドメイン固有の用語
ほかにもいろいろ。ここからは、コンテキストを切り替えずにCursorの中でドキュメントを正しく使う方法を紹介するよ。

モデルの知識カットオフ

大規模言語モデルは、ある時点までのデータで学習されていて、これを「知識カットオフ」と呼ぶ。つまり:
  • 最近のライブラリ更新が反映されてないことがある
  • 新しいフレームワークやツールを知らない場合がある
  • カットオフ以降のAPI変更は追えていない
  • ベストプラクティスは学習時点から変わっているかもしれない
たとえば、モデルの知識カットオフが2024年初頭なら、たとえ人気のフレームワークでも、2024年後半にリリースされた機能は知らない。

どのツールを使えばいい?

この意思決定ツリーで、ドキュメントのニーズに最適なアプローチをすばやく判断してね:

メンタルモデル

ツールメンタルモデル
@Docs公式ドキュメントをブラウズして読むイメージ
@Webネットで解決策をググるイメージ
MCP自分たちの内部ドキュメントにアクセスするイメージ

公開ドキュメント

外部ドキュメントは、モデルの知識が限定的だったり古くなっている可能性がある一般公開情報を扱う。Cursor では、この情報にアクセスするための主要な方法を2つ用意してる。

@Docs の使い方

@Docsは、人気のツールやフレームワークの公式ドキュメントにCursorをつなぐよ。最新で信頼できる情報が必要なときに使ってね。たとえば:
  • APIリファレンス: 関数シグネチャ、パラメータ、戻り値の型
  • はじめにガイド: セットアップ、設定、基本的な使い方
  • ベストプラクティス: 公式推奨のパターン
  • フレームワーク別のデバッグ: 公式トラブルシューティングガイド
@
@Docs Next.js キャッチオールルートで動的ルーティングをどう設定する?
Agent⌘I
Auto

@Web の使い方

@Web は、最新情報、ブログ記事、コミュニティの議論をインターネット上からリアルタイムで検索するよ。こんなときに使ってね:
  • 最新のチュートリアル: コミュニティ発のコンテンツやサンプル
  • 比較: 異なる手法を比較した記事
  • 最新アップデート: 直近の更新やアナウンス
  • 複数の視点: 問題に対するさまざまなアプローチ
@
@Web latest performance optimizations for React 19
Agent⌘I
Auto

内部ドキュメント

内部ドキュメントには、AIモデルが学習で一度も見たことのない、組織特有の情報が含まれる。たとえば次のようなものがある:
  • Internal APIs: カスタムサービスやマイクロサービス
  • Company standards: コーディング規約、アーキテクチャパターン
  • Proprietary systems: カスタムツール、データベース、ワークフロー
  • Domain knowledge: ビジネスロジック、コンプライアンス要件

MCP で社内ドキュメントにアクセスする

Model Context Protocol (MCP) は、プライベートなドキュメントやシステムを Cursor に取り込むための標準的な方法を提供するよ。MCP は Cursor と社内リソースの間にある薄いレイヤーとして機能する。 MCP が重要な理由:
  • モデルは社内の慣習を推測できない
  • カスタムサービスの API ドキュメントは公開されていない
  • ビジネスロジックとドメイン知識は組織固有
  • コンプライアンスやセキュリティ要件は会社ごとに異なる

よくある MCP 連携

IntegrationAccessExamples
Confluence会社の Confluence スペースアーキテクチャドキュメント、社内サービスの API 仕様、コーディング標準やガイドライン、プロセス文書
Google Drive共有ドキュメントとフォルダ仕様書、議事録や意思決定記録、設計ドキュメントや要件、チームのナレッジベース
Notionワークスペースのデータベースとページプロジェクトドキュメント、チーム wiki、ナレッジベース、プロダクト要件、技術仕様
Custom社内システムやデータベース独自 API、レガシーなドキュメントシステム、カスタムナレッジベース、専用ツールやワークフロー

カスタムソリューション

独自のニーズがあるなら、次のことができるカスタム MCP サーバーを作れる:
  • 社内の Web サイトやポータルをスクレイピングする
  • 独自データベースに接続する
  • カスタムドキュメントシステムにアクセスする
  • 社内 wiki やナレッジベースから取得する
カスタム MCP サーバーを作るなら、Cursor からドキュメントを更新できるツールを公開することもできるよ
社内ドキュメントをスクレイピングするカスタム MCP サーバーの例:
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import TurndownService from "turndown";

// Create an MCP server for scraping internal docs
const server = new McpServer({
  name: "internal-docs",
  version: "1.0.0"
});

const turndownService = new TurndownService();

// Add tool to scrape internal documentation
server.tool("get_doc",
  { url: z.string() },
  async ({ url }) => {
    try {
      const response = await fetch(url);
      const html = await response.text();
      
      // Convert HTML to markdown
      const markdown = turndownService.turndown(html);
      
      return {
        content: [{ type: "text", text: markdown }]
      };
    } catch (error) {
      return {
        content: [{ type: "text", text: `Error scraping ${url}: ${error.message}` }]
      };
    }
  }
);

// Start receiving messages on stdin and sending messages on stdout
const transport = new StdioServerTransport();
await server.connect(transport);

ドキュメントを最新に保つ

ドキュメントはすぐに古くなりがち。Cursor は、実際のコードや開発時の会話に基づいてドキュメントを生成・更新してくれるから、常に使える最新のドキュメントを維持できるよ。

既存のコードから

Cursor を使って、コードベースから直接ドキュメントを作成しよう:
@
この Express ルーターの API ドキュメントを生成して。すべてのエンドポイント、パラメータ、レスポンス形式を含めて
Agent⌘I
Auto

チャットセッションから

Cursor との会話には、ドキュメント化できる有用な意図が詰まってる。
複雑な問題を解決したあと:
@
チームのwiki向けに、認証のセットアップについての会話をステップバイステップのガイドに要約して
Agent⌘I
Auto

重要なポイント

  • ドキュメントをコンテキストに使うと、Cursor の精度と最新性が上がる
  • 公式ドキュメントには @Docs、コミュニティの知見には @Web を使おう
  • MCP は Cursor と社内システムの橋渡しをする
  • 知識を最新に保つために、コードや会話からドキュメントを生成しよう
  • 網羅的に理解するには、外部と内部のドキュメントソースを組み合わせよう