A Model Context Protocol server that provides access to the connpass users API v2, utilizing Gemini for grounding.
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によって実装、ドキュメントのサンプルを提案いただきました。感謝申し上げます。
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.
Model Kontext Protocol Server for Kubernetes that allows LLM-powered applications to interact with Kubernetes clusters through native Go implementation with direct API integration and comprehensive resource management.
A unified framework for integrating various language models and embedding providers to generate text completions and embeddings.
Interact with Alchemy's blockchain APIs to query data without writing code.
Advanced code search and transformation powered by ugrep and ast-grep for modern development workflows.
Explore and analyze OpenAPI specifications from local files or remote URLs.
connects QGIS Desktop to Claude AI through the MCP. This integration enables prompt-assisted project creation, layer loading, code execution, and more.
An MCP server that allows AI assistants to interact with Ansible Automation Platform (AAP) and Event-Driven Ansible (EDA) infrastructure.
A Binary Ninja plugin, MCP server, and bridge that seamlessly integrates Binary Ninja with your favorite MCP client.
Provides call graph analysis for LLMs using the nuanced library.