← ガイドトップに戻る

Model Context Protocol (MCP)を使用して、Q CLIに外部ツールやリソースを追加する方法を説明します。

MCPとは

MCPは、アプリケーションがLLMにコンテキストを提供する標準化されたプロトコルです。ローカルで実行されるMCPサーバーを通じて、Q CLIの機能を拡張できます。

MCP管理コマンド

サーバー一覧表示

q mcp list

サーバー追加

q mcp add <server-name> <command> [--args arg1,arg2]

サーバー削除

q mcp remove <server-name>

プロンプト管理

/prompts                    # MCPプロンプト一覧表示

設定ファイル

MCPサーバーは設定ファイルで管理されます:

場所: ~/.aws/amazonq/mcp-config.json

基本設定例

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
    }
  }
}

リモートMCP接続

{
  "mcpServers": {
    "remote-server": {
      "url": "https://example.com/mcp",
      "transport": "sse"
    }
  }
}

OAuth設定

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "oauth": {
        "provider": "github",
        "scopes": ["repo", "user"]
      }
    }
  }
}

エージェントでのMCPツール使用

エージェント設定でMCPツールを指定:

{
  "description": "データベース管理エージェント",
  "tools": ["@postgres/query", "@postgres/list_tables"],
  "allowedTools": ["@postgres/query"]
}

フォーマット: @<server-name>/<tool-name>

タイムアウト設定

q settings mcp.initTimeout 30000           # 初期化タイムアウト(ミリ秒)
q settings mcp.noInteractiveTimeout 5000   # 非対話タイムアウト(ミリ秒)

使用例

ファイルシステムMCPサーバー追加

q mcp add filesystem npx --args "-y,@modelcontextprotocol/server-filesystem,/home/user/projects"

データベースMCPサーバー追加

q mcp add postgres npx --args "-y,@modelcontextprotocol/server-postgres,postgresql://localhost/mydb"

エージェントでMCPツールを使用

{
  "description": "データ分析エージェント",
  "tools": [
    "fs_read",
    "@postgres/query",
    "@postgres/list_tables"
  ],
  "allowedTools": ["@postgres/query"]
}

トラブルシューティング

サーバーが起動しない

# タイムアウトを延長
q settings mcp.initTimeout 60000

ツールが表示されない

# サーバー一覧を確認
q mcp list

# 設定ファイルを確認
cat ~/.aws/amazonq/mcp-config.json

パス展開の問題

設定ファイルでは絶対パスを使用してください。~や環境変数は展開されます。

注意事項

関連コマンド

q mcp list                              # サーバー一覧
q mcp add <name> <command>              # サーバー追加
q mcp remove <name>                     # サーバー削除
/prompts                                # MCPプロンプト管理
q settings mcp.initTimeout <ms>         # タイムアウト設定