Claude Codeに正しい情報を収集してもらうには

に公開

Claude Codeが間違った情報を持ってくるのがストレス

Claude Codeを使っているとき、Web フロントエンドの文脈の開発を任せたときに
TailwindCSSの v4 を導入しているのに、なぜか v3 の設定ファイルを生成してくるときがあります。

これは未だによくあります。正直なかなかストレスです。
Claude Codeを使う上で、なるべくストレスなく円滑に開発するためには
正確な情報を一回で持ってきてもらえる方が助かります。

そのためにどうするか

ライブラリ・パッケージに関する情報

公式が提供している MCP を使うのが正直ベストなのですが、
なければ、Context7MCP を使用しましょう。以下の流れになります。

  1. 特定のライブラリのサイトをSiteMCPで MCP 化して、ライブラリの情報を正しく得られるようにする
  2. それでも情報が足りなければ、Context7MCP で情報の調査をさせる

流れをどう伝えておくか

そこで、この記事の内容を参考にします。

https://zenn.dev/izumin_0401/articles/claude-codemd

CLAUDE.md
・・・

## 情報参照フロー
1. 指定されたライブラリのドキュメントサイトのMCPが設定されているかを、`.mcp.json`で調べる
    1. されていたら、そのMCPを通して情報を調査して、3に移る
    2. されていなければ、2へ移る
2. `Context7`MCP で情報の調査を行う
3. 調査結果を、`任意のMarkdownファイルのパス`に記録する
4. 開発(実装)に戻る

・・・

どうやって MCP を設定するか(例)

.mcp.json
{
	"mcpServers": {
		"file-system": {
			"command": "npx",
			"args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspaces"]
		},
		"Context7": {
			"command": "npx",
			"args": ["-y", "@upstash/context7-mcp"]
		},
		"loco-cite": {
			"command": "npx",
			"args": [
				"-y",
				"sitemcp@latest",
				"https://loco.rs",
				"-m",
				"/**"
			]
		},
		"Shuttle": {
			"command": "shuttle",
			"args": ["mcp", "start"]
		},
		"tailwindcss": {
			"command": "npx",
			"args": [
				"-y",
				"sitemcp@latest",
				"https://tailwindcss.com",
				"-m",
				"/**"
			]
		},
		"shadcn-ui": {
			"command": "npx",
			"args": [
				"-y",
				"sitemcp@latest",
				"https://ui.shadcn.com/docs",
				"-m",
				"/**"
			]
		}
	}
}

上記以外

SiteMCPを利用し、特定の情報源となるページを MCP 化した上で、
情報が足りなければ、FirecrawlMCP で情報の調査をさせるという方法をとるようにすることにしています。

つまり、

  1. 特定の分野のサイトをSiteMCPで MCP 化して、情報を正しく得られるようにする
  2. それでも情報が足りなければ、FirecrawlMCP で情報の調査をさせる

という流れをClaude Codeに伝えておけば、正しい情報を取得し、
活用してもらえるはずです。

流れをどう伝えておくか

CLAUDE.md
・・・

## 情報参照フロー
1. 指定された分野に関するサイトのMCPが設定されているかを、`.mcp.json`で調べる
    1. されていたら、そのMCPを通して情報を調査して、3に移る
    2. されていなければ、2へ移る
2. `Firecrawl`MCP で情報の調査を行う
3. 調査結果を、`任意のMarkdownファイルのパス`に記録する
4. 開発(実装)に戻る

・・・

どうやって MCP を設定するか(例)

.mcp.json
{
	"mcpServers": {
		"file-system": {
			"command": "npx",
			"args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspaces"]
		},
		"firecrawl-mcp": {
			"command": "npx",
			"args": ["-y", "firecrawl-mcp"],
			"env": {
				"FIRECRAWL_API_KEY": "$FIRECRAWL_API_KEY",
				"FIRECRAWL_RETRY_MAX_ATTEMPTS": "5",
				"FIRECRAWL_RETRY_INITIAL_DELAY": "2000",
				"FIRECRAWL_RETRY_MAX_DELAY": "30000",
				"FIRECRAWL_RETRY_BACKOFF_FACTOR": "3",
				"FIRECRAWL_CREDIT_WARNING_THRESHOLD": "2000",
				"FIRECRAWL_CREDIT_CRITICAL_THRESHOLD": "500"
			}
		},
		"loco-cite": {
			"command": "npx",
			"args": [
				"-y",
				"sitemcp@latest",
				"https://loco.rs",
				"-m",
				"/**"
			]
		},
		"Shuttle": {
			"command": "shuttle",
			"args": ["mcp", "start"]
		},
		"tailwindcss": {
			"command": "npx",
			"args": [
				"-y",
				"sitemcp@latest",
				"https://tailwindcss.com",
				"-m",
				"/**"
			]
		},
		"shadcn-ui": {
			"command": "npx",
			"args": [
				"-y",
				"sitemcp@latest",
				"https://ui.shadcn.com/docs",
				"-m",
				"/**"
			]
		}
	}
}

まとめ

今回は、2つの方法を書きましたが、

  • ライブラリの最新情報が欲しいならContext7MCP
  • ライブラリ以外の情報をガンガン集めたい時にFirecrawlMCP

使うというのが良いと思います。

GitHubで編集を提案

Discussion