概要
(自分メモ)
Gemini CLIにAzure MCPを組み込みCosmosDBを操縦したい。
関連記事リンク: Azure Development
環境
- Ubuntu 24.04
- Node.js/npm 24.3.0
- az - Azure Portal 管理コマンド 2.75.0
- Azure Portal - Functions, APIM, CosmosDB for MongoAPI を設定済
- Gemini CLI 0.1.13
設定
~/.gemini/settings.json
{
"mcpServers": {
"azure-mcp": {
"command": "npx",
"args": ["-y", "@azure/mcp@latest","server","start"]
},
// Cosmos DB for MongoDB APIを操作する場合
"mongodb": {
"command": "npx",
"args": [
"-y", "mongodb-mcp-server",
"--connectionString",
"※",
"--readOnly"
]
}
}
}
※: Home > CosmonsDBリソース > 接続文字列 > PRIMARY CONNECTION STRING を採取
起動
使用例
Function操作
> リソースグループRG1のFunctionを列挙
// snip..
✦ リソースグループ RG1 に存在するAzure Functionアプリは以下の通りです。
- func1
- ....
実行中にサブスクリプションIDを聞かれる、 Home > サブスクリプション > サブスクリプションID の値を入力
APIM操作1
> func1を収容するAPIMからopenapi定義を採取
// snip..
✦ func1 Function App に対応する api の OpenAPI 定義を取得しました。
この定義には、以下のエンドポイントが含まれています。
* /account/login (POST): ログインユーザーのJWTトークンを取得します。
* /account/logout (POST): ログインユーザーのJWTトークンを無効化します。
*
APIM操作2
> '/account/login'のクエリサンプル
// snip..
1 {
2 "id": "userid",
3 "password": "secret***"
4 }
CosmosDB操作
> mongodb:db1 の collection1コレクションからtype=humanをカウント
// snip..
参照