什麼是AWS SNS SQS MCP伺服器?
AWS SNS SQS MCP伺服器是一個輕量級應用程式,將Amazon簡單通知服務(SNS)和簡單佇列服務(SQS)的操作作為標準化的MCP工具,讓大型語言模型(LLMs)和智能代理安全且以程式化方式管理AWS消息資源。它透過資源標籤確保嚴格的存取控制,使得MCP伺服器只能修改其創建的資源,避免意外或未經授權的變更。
如何配置
-
先決條件
- 安裝
uv
和Python (3.10) - 準備您的AWS帳戶,設置IAM角色,遵循最小權限原則(例如,為了完整功能使用
AmazonSNSFullAccess
/AmazonSQSFullAccess
,或限於操作使用只讀角色)。 - 在您的主機上設置AWS CLI配置檔以對應此角色。
- 安裝
-
安裝
- 使用
uv
或Docker在您的機器上安裝並運行awslabs.amazon-sns-sqs-mcp-server
。 - 配置您的MCP客戶端(例如,CLI或API)以包含這個伺服器。範例配置:
{ "mcpServers": { "awslabs.amazon-sns-sqs-mcp-server": { "command": "uvx", "args": ["awslabs.amazon-sns-sqs-mcp-server@latest"], "env": { "AWS_PROFILE": "your-aws-profile", "AWS_REGION": "us-east-1" } } } }
- 若使用Docker,請設置一個
.env
檔案以包含AWS憑證,並在Docker運行命令中使用該環境檔案。
- 使用
-
伺服器選項
- 預設情況下,資源創建是禁用的。通過命令行標誌
--allow-resource-creation
來啟用創建SNS主題或SQS佇列的工具。 - 此伺服器創建的所有資源都被標記,只有標記的資源能被伺服器修改或刪除,以保護您的安全。
- 預設情況下,資源創建是禁用的。通過命令行標誌
如何使用
- 啟動MCP伺服器,使用您配置的環境和存取憑證:
- 使用
uv
:uv run awslabs.amazon-sns-sqs-mcp-server --allow-resource-creation
- 使用Docker時,確保提供您的
.env
檔案以進行AWS憑證。
- 使用
- 連接您的MCP客戶端,通過
tools/list
端點列出可用的工具。 - 調用工具,如
create_topic
、create_queue
、publish
或send_message
,使用tools/call
端點並傳遞適當的參數。 - 管理資源安全: 只有由MCP伺服器創建的資源(即標記的)才可通過它進行更新或刪除。
- 在生產環境中禁用創建: 若希望防止意外更改,請在禁用資源創建的情況下運行伺服器。
主要特點
- 為LLM驅動的應用程式安全、程式化地創建和管理Amazon SNS主題和SQS佇列。
- 基於資源的存取控制:只有由此伺服器創建並標記的資源才能被修改,從而降低風險。
- 可以通過MCP動態發現和調用工具(
tools/list
、tools/call
)。 - 使用Python(
uv
)或Docker進行靈活部署。 - 通過IAM角色、配置檔和區域設置實現精細的權限控制。
- 根據不同環境和需求在運行時啟用/禁用資源創建。
- 內建的配置、錯誤處理和安全最佳實踐。
使用案例
- 自動化AWS消息資源在智能代理工作流或開發助手中的協調。
- 構建需要發布通知、管理作業或在AWS上同步分佈任務的LLM驅動的開發者工具。
- 啟用對話式UI創建、訂閱、發布或監控AWS主題和佇列,並設置清晰的安全邊界。
- 安全地將消息管理操作委派給AI代理,而不冒著意外更改不相關基礎設施的風險。
常見問題
Q1. 為什麼我不能修改或刪除我現有的SNS/SQS資源?
只有由MCP伺服器創建的資源(即帶有其版本標籤的資源)才能由此伺服器修改或刪除,以確保它不會意外干擾現有的基礎設施。
Q2. 如何啟用或禁用主題或佇列的創建?
預設情況下,資源創建是禁用的。運行伺服器時用--allow-resource-creation
標誌來允許創建工具;省略或設置--disallow-resource-creation
以隱藏這些工具並防止意外創建資源。
Q3. 如果我遇到權限錯誤該怎麼辦?
確保您的IAM角色或用戶擁有所需的權限(AmazonSNSFullAccess
、AmazonSQSFullAccess
或其只讀等價),以及在伺服器環境中正確設置了AWS配置檔。
Q4. 我可以安全地在生產環境中使用此伺服器嗎?
是的,建議使用專用的IAM配置檔並使用配置標誌限制資源創建。只有被標記的資源會受到伺服器的影響,您應遵循AWS最小權限的最佳實踐。
Q5. 使用MCP進行SNS/SQS操作的優勢是什麼?
MCP允許安全、標準化和可互操作的方式訪問各種客戶端、LLMs和基礎設施中的消息資源,允許代理和應用程式代碼的可攜性。