search-mcp
服务介绍
Search MCP Server
複数MCP統合AI消費75%削減MCP
Search MCP ServerModel Context Protocol (MCP) 理念基複数MCP1集約Claude DesktopCursorWindsurf等AI消費約75%削減
** Bun最適化**: 高速Bun実装Node.js比較3-4倍高速動作
問題解決策
現在課題
Claude Desktop
filesystem MCP (50 tools)
brave-search MCP (20 tools)
database MCP (30 tools)
slack MCP (15 tools)
115 tools 平均200 = 23,000消費
各MCP個別接続初期読込時消費
Search MCP解決策
Claude Desktop
Search MCP ()
filesystem MCP
brave-search MCP
database MCP
slack MCP
軽量: 約5,750 (75%削減!)
Search MCP複数MCP束開示必要情報段階的提供
主特徴
- MCP: 複数MCP1統合
- 削減: 初期読込75%削減23,000 6,000
- 簡単移行: 既存Claude Desktop設定
- 開示: 必要情報段階的取得
- MCP標準準拠: stdio + JSON-RPC 2.0標準
- 高速: Bun3-4倍高速起動12msNode.js50ms
- ****: 1配布可能
- ****: Bun推奨 + Node.js互換
1.
A: Bun 使用推奨
# Bun
curl -fsSL https://bun.sh/install | bash
#
git clone https://github.com/krtw00/search-mcp.git
cd search-mcp
# 依存関係
bun install
B: Node.js 使用
#
git clone https://github.com/krtw00/search-mcp.git
cd search-mcp
# 依存関係
npm install
2. 設定作成
既存Claude Desktop設定mcpServers
mkdir -p config
vi config/mcp-servers.json
config/mcp-servers.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "${BRAVE_API_KEY}"
}
}
}
}
****: Claude Desktop設定全同形式
3. Search MCP起動
開発:
# Bun起動推奨
bun run dev
# Node.js起動
npm run dev:node
** & 起動**:
# Bun
bun run build
bun start
# Node.js
npm run build:node
npm run start:node
# Bun
bun run build:binary
./search-mcp
4. Claude Desktop設定更新
変更前 (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"filesystem": { ... },
"brave-search": { ... },
"database": { ... }
}
}
変更後Bun使用:
{
"mcpServers": {
"search-mcp": {
"command": "bun",
"args": ["run", "/path/to/search-mcp/src/index.ts"],
"env": {
"MCP_CONFIG_PATH": "/path/to/search-mcp/config/mcp-servers.json"
}
}
}
}
変更後使用:
{
"mcpServers": {
"search-mcp": {
"command": "/path/to/search-mcp/search-mcp",
"args": [],
"env": {
"MCP_CONFIG_PATH": "/path/to/search-mcp/config/mcp-servers.json"
}
}
}
}
変更後Node.js使用:
{
"mcpServers": {
"search-mcp": {
"command": "node",
"args": ["/path/to/search-mcp/dist/index.js"],
"env": {
"MCP_CONFIG_PATH": "/path/to/search-mcp/config/mcp-servers.json"
}
}
}
}
5. Claude Desktop再起動
完了Search MCP経由使消費大幅削減
削減仕組
段階的情報取得
-
初期読込軽量
- 名名返
- 115 tools 50 = 5,750
-
詳細取得必要時
- 詳細情報返
- 1 tool 200 = 200
-
実行
- 実行結果返
合計: 約6,000 (従来23,00075%削減)
構成
search-mcp/
src/
mcp/
mcp-client-manager.ts # MCP統合管理
mcp-client.ts # 個別MCP接続
index.ts # MCP実装
tool-registry.ts # 集約
types.ts # 型定義
config/
mcp-servers.json # MCP設定
docs/
design/ # 詳細設計
07-simplified-setup.md
08-mcp-aggregator.md
architecture.md
mcp-concepts.md
package.json
MCP対応
Search MCPModel Context Protocol標準仕様準拠
- stdio通信: 標準入出力使用通信
- 発見:
tools/list - 実行:
tools/call - 初期化:
initialize - SSE (Server-Sent Events): 今後対応予定
- 管理: 今後対応予定
対応MCP
以下含標準MCP準拠対応
- @modelcontextprotocol/server-filesystem
- @modelcontextprotocol/server-brave-search
- @modelcontextprotocol/server-postgres
- @modelcontextprotocol/server-github
- @modelcontextprotocol/server-slack
- 他MCP実装
向
- - 詳細手順
- MCP概念 - MCP基本概念
開発者向
- Phase 1: MCP基本実装
- Phase 2: 検索機能強化
- Phase 3: 機能認証制限
- Phase 4: 動的MCP登録
- Phase 5: Web管理UI
詳細 docs/design/00-overview.md 参照
技術
- ****: Bun 1.0+ 推奨/ Node.js 18+ 互換
- 言語: TypeScript 5.9+
- ****: MCP (Model Context Protocol)
- 通信: stdio + JSON-RPC 2.0
- 管理: child_process.spawn
- 依存関係: @modelcontextprotocol/sdk
Bun
- 3-4倍高速: Node.js比較圧倒的
- 30%軽量: 使用量少20-30MB vs 30-50MB
- 起動速: 12msNode.js50ms
- ****: 不要配布可能
- TypeScript標準: 不要直接実行
- Claude Code採用: AnthropicBunMCP実装互換性保証
詳細 docs/design/tech-stack-bun-deep-dive.md 参照
開発
開発
# Bun開発推奨
bun run dev
# Node.js開発
npm run dev:node
# Bun
bun test
# Node.js
npm run test:node
# Bun
bun run build
# 作成
bun run build:binary
# Node.js
npm run build:node
詳細実装 IMPLEMENTATION.md 参照
MCP接続
# 詳細有効化
LOG_LEVEL=debug npm start
# 設定確認
cat config/mcp-servers.json
環境変数読込
# 環境変数設定
export BRAVE_API_KEY="your-api-key"
# .env使用
echo "BRAVE_API_KEY=your-api-key" > .env
MIT
貢献
歓迎大変更場合issue開変更内容議論