Fetches user data and event information from the Connpass platform using the Connpass and Gemini APIs.
https://github.com/rinerebox1/deno-gemini-grounding-mcp-server
Docker を使ってクリーンアップ・ビルド・起動する。MCPサーバーが起動してそこで止まる。ただ、これだけあっても用途は良く分からない。
./start.sh
終了したあとは docker compose down する。
簡単にMCPサーバーを起動する方法(Docker を使わない):deno task start
テスト: deno task test:tokyo deno task test:google_search deno task test:google_search_simple
テストが通ったら MCPサーバーが実装できたということなので 「C:\Users\kbpsh\OneDrive\development\MCP\deno-gemini-grounding-mcp-client」の方で 「.gemini/settings.json」に追記する。 Gemini CLI から MCPサーバーを利用する。 「deno-gemini-grounding-mcp-client」の方はWSLで起動しないこと。WSLとMCPクライアントの相性が悪そうなので、MCPクライアントはWindows側にする。
https://cloud.google.com/vertex-ai/generative-ai/pricing?hl=ja
Gemini Flash 2.5 なら1日 1500 件まで無料で検索可能。Lite も一緒。だいたい1回検索で3クエリくらい消費する。
問題はCursor と MCP サーバー間の接続にある
以下でチェックできる。 echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | deno run --env-file=.env --allow-net=generativelanguage.googleapis.com --allow-env --allow-read index.ts
.env.example
を .env
にコピーして、Connpass
APIキーを設定します。cp .env.example .env
# .envファイルを編集してCONNPASS_API_KEYを設定
"deno-gemini-grounding-mcp-server": {
"command": "wsl.exe",
"args": [
"/home/smorce/.deno/bin/deno",
"--allow-net=generativelanguage.googleapis.com",
"--env-file=/home/smorce/MCP/deno-gemini-grounding-mcp-server/.env",
"--allow-read",
"--allow-env",
"/home/smorce/MCP/deno-gemini-grounding-mcp-server/index.ts"
]
}
npm ci
npm run build
"deno-gemini-grounding-mcp-server": {
"command": "wsl.exe",
"args": [
"/home/user/.local/share/mise/installs/node/22.14.0/bin/node",
"--env-file=/home/smorce/MCP/deno-gemini-grounding-mcp-server/.env",
"/home/smorce/MCP/deno-gemini-grounding-mcp-server/dist/index.js"
]
}
# .envファイルを作成し、以下の内容を設定
echo "GEMINI_API_KEY=your_gemini_api_key_here" >> .env
docker compose run vs docker compose up の違い
🔍 重要な違い
docker compose up:
docker compose run:
🔧 開発・テスト用(継続実行):
# 起動スクリプトを実行(クリーンアップ→ビルド→起動を自動実行)
./start.sh
または、手動でdocker composeコマンドを実行します。
docker compose up --build
⚡ MCP用(一回限りの実行): MCPクライアント経由で自動実行されます。手動テストする場合:
docker compose run --rm deno-gemini-grounding-mcp-server
MCPクライアントの設定ファイルでは、docker compose run
コマンドを指定します。
MCPサーバーはstdin/stdoutでの対話的通信が必要なため、設定は以下のようになります(先にビルドが必要):
{
"mcpServers": {
"deno-gemini-grounding-mcp-server": {
"command": "docker",
"args": [
"run",
"-e",
"GEMINI_API_KEY=XXXXXXXXXXXXXXXX",
"deno-gemini-grounding-mcp-server"
]
}
}
}
Dockerfileを使用してサーバーを起動することもできます。
docker build -t deno-gemini-grounding-mcp-server .
docker run -e CONNPASS_API_KEY=XXXXXXXXXXXXXXXX -e GEMINI_API_KEY=YYYYYYYYYYYYYYYY deno-gemini-grounding-mcp-server
MCPクライアントの設定ファイルでは、docker
コマンドを指定します。
"deno-gemini-grounding-mcp-server": {
"command": "docker",
"args": [
"run",
"-e",
"GEMINI_API_KEY=YYYYYYYYYYYYYYYY",
"deno-gemini-grounding-mcp-server"
]
}
npx
での起動(非推奨)このリポジトリをクローンしてDenoまたはNode.jsでMCPサーバーの起動が可能です。
"deno-gemini-grounding-mcp-server": {
"command": "wsl.exe",
"args": [
"/home/smorce/.deno/bin/deno",
"--allow-net=generativelanguage.googleapis.com",
"--env-file=/home/smorce/MCP/deno-gemini-grounding-mcp-server/.env",
"--allow-read",
"--allow-env",
"/home/smorce/MCP/deno-gemini-grounding-mcp-server/index.ts"
]
}
ただしnpx
でMCPサーバーを起動するのはサプライチェーン攻撃などのセキュリティ的な懸念があるため非推奨としています。
以下のMCPサーバーのToolsを提供しています:
get_connpass_user_list - Connpassユーザーの基本情報を取得します
nickname
(Connpassユーザー名/ニックネームの配列)get_connpass_user_group_list - Connpassユーザーが所属するグループ一覧を取得します
nickname
(Connpassユーザー名/ニックネーム)get_connpass_user_events - Connpassユーザーが参加したイベント情報を取得します
nickname
(Connpassユーザー名/ニックネーム)get_connpass_user_presenter_events - Connpassユーザーが発表者として参加したイベント情報を取得します
nickname
(Connpassユーザー名/ニックネーム)次のようなプロンプトをLLMへ渡すことが可能です:
東京の魅力プロンプトなど、Gemini API を使用したテストを実行します:
deno task test:tokyo
以下のようなアウトプットになっていれば成功。30秒の安全タイムアウトが作動しているのは正常な動作。
🔍 === レスポンス検証 ===
✅ キーワード検出: 5/5
- "東京" ✓
- "魅力" ✓
- "多様性" ✓
- "文化" ✓
- "食" ✓
🎉 テスト成功: 東京の魅力について適切にレスポンスしました!
📊 レスポンス統計:
- 文字数: 1541
- 行数: 15
✅ MCPサーバープロセス終了 (コード: 143)
⏰ タイムアウト: プロセスを終了します
テストの詳細については tests/README.md
を参照してください。
Deno と Node.js はともに実行環境のこと。
このOSSはGPT-4o Image Generationによってロゴを製作、Claude 3.7 Sonnetによって実装、ドキュメントのサンプルを提案いただきました。感謝申し上げます。
SEO analysis using the Serpstat API.
MCP server that performs whois lookup against domain, IP, ASN and TLD.
Efficiently search Obsidian vaults using the ripgrep tool.
Search, download, and extract information from YouTube music videos.
An MCP server that connects to Perplexity's Sonar API, enabling real-time web-wide research in conversational AI.
A server for travel planning and interacting with Google Maps services.
Fetch, convert, and search AWS documentation pages, with recommendations for related content.
Provides semantic search across local files by creating vector embeddings from watched directories.
An MCP agent that integrates various search tools using the SearchAPI service. Requires SearchAPI and Google API keys.
Provides web search capabilities using a self-hosted SearxNG instance, allowing AI assistants to search the web.