# AWS Labs aws-msk MCP Server
An AWS Labs Model Context Protocol (MCP) server for Amazon Managed Streaming for Kafka (MSK).
## Overview
The AWS MSK MCP Server provides a set of tools for interacting with Amazon MSK through the Model Context Protocol. It enables AI assistants to manage, monitor, and optimize Amazon MSK clusters by providing structured access to MSK APIs.
## Features
- **Cluster Management**: Create, describe, and update MSK clusters (both provisioned and serverless)
- **Configuration Management**: Create and manage MSK configurations
- **VPC Connection Management**: Create, describe, and manage VPC connections
- **Monitoring and Telemetry**: Access cluster metrics, logs, and operational data
- **Security Management**: Configure authentication, encryption, and access policies
- **Best Practices**: Get recommendations for cluster sizing, configuration, and performance optimization
- **Read-Only Mode**: Server runs in write mode by default, switch to read-only to protect against accidental modifications
## Tools
### Cluster Operations
- **describe_cluster_operation**: Get information about a specific cluster operation
- **get_cluster_info**: Retrieve various types of information about MSK clusters
- **get_global_info**: Get global information about MSK resources
- **create_cluster**: Create a new MSK cluster (provisioned or serverless)
- **update_broker_storage**: Update the storage size of brokers
- **update_broker_type**: Update the broker instance type
- **update_broker_count**: Update the number of brokers in a cluster
- **update_cluster_configuration**: Update the configuration of a cluster
- **update_monitoring**: Update monitoring settings
- **update_security**: Update security settings
- **reboot_broker**: Reboot brokers in a cluster
### Configuration Operations
- **get_configuration_info**: Get information about MSK configurations
- **create_configuration**: Create a new MSK configuration
- **update_configuration**: Update an existing configuration
### VPC Operations
- **describe_vpc_connection**: Get information about a VPC connection
- **create_vpc_connection**: Create a new VPC connection
- **delete_vpc_connection**: Delete a VPC connection
- **reject_client_vpc_connection**: Reject a client VPC connection request
### Security Operations
- **put_cluster_policy**: Put a resource policy on a cluster
- **associate_scram_secret**: Associate SCRAM secrets with a cluster
- **disassociate_scram_secret**: Disassociate SCRAM secrets from a cluster
- **list_tags_for_resource**: List all tags for an MSK resource
- **tag_resource**: Add tags to an MSK resource
- **untag_resource**: Remove tags from an MSK resource
- **list_customer_iam_access**: List IAM access information for a cluster
### Monitoring and Best Practices
- **get_cluster_telemetry**: Retrieve telemetry data for MSK clusters
- **get_cluster_best_practices**: Get best practices and recommendations for MSK clusters
## Usage
This MCP server can be used by AI assistants to help users manage their Amazon MSK resources. It provides structured access to MSK APIs, making it easier for AI to understand and interact with MSK clusters.
### Installation
[](https://cursor.com/install-mcp?name=awslabs.aws-msk-mcp-server&config=JTdCJTIyY29tbWFuZCUyMiUzQSUyMnV2JTIwYXdzbGFicy5hd3MtbXNrLW1jcC1zZXJ2ZXIlMjAtLWFsbG93LXdyaXRlcyUyMiUyQyUyMmVudiUyMiUzQSU3QiUyMkZBU1RNQ1BfTE9HX0xFVkVMJTIyJTNBJTIyRVJST1IlMjIlN0QlMkMlMjJkaXNhYmxlZCUyMiUzQWZhbHNlJTJDJTIyYXV0b0FwcHJvdmUlMjIlM0ElNUIlNUQlN0Q%3D)
To use this MCP server with your MCP client, add the following configuration to your MCP client settings:
```json
"awslabs.aws-msk-mcp-server": {
"command": "uv",
"args": [
"awslabs.aws-msk-mcp-server",
"--allow-writes"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
Replace `<absolute path to your server code>` with the absolute path to the server code, for example: `/Users/myuser/mcp/src/aws-msk-mcp-server/awslabs/aws_msk_mcp_server`.
Alternatively, you can use the MCP Inspector to test the server:
```bash
npx @modelcontextprotocol/inspector \
uv \
--directory <absolute path to your server code> \
run \
server.py
```
### AWS Credentials
The server requires AWS credentials to access MSK resources. These can be provided through:
1. Environment variables (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`)
2. AWS credentials file (`~/.aws/credentials`)
3. IAM roles for Amazon EC2 or ECS tasks
### Server Configuration Options
#### `--allow-writes`
By default, the MSK MCP server runs in write mode.
To disable write operations, remove the `--allow-writes` parameter to your MCP client configuration:
```json
"args": [
"--directory",
"<absolute path to your server code>",
"run",
"server.py"
//Removed "--allow-writes"
]
```
In this mode, only read operations (tools in directories prefixed with "read_") and utility tools are available. Write operations (tools in directories prefixed with "mutate_") are disabled.
#### Region Selection
Most tools require specifying an AWS region. The server will prompt for a region if one is not provided.
## Example Use Cases
- Creating and configuring new MSK clusters
- Monitoring cluster performance and health
- Implementing best practices for MSK clusters
- Managing security and access controls
- Troubleshooting cluster issues
Raw data
{
"_id": null,
"home_page": null,
"name": "awslabs.aws-msk-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Amazon Web Services",
"author_email": "AWSLabs MCP <203918161+awslabs-mcp@users.noreply.github.com>, Ryan Song <songry@amazon.com>",
"download_url": "https://files.pythonhosted.org/packages/a3/e1/f8f603ca4ac02d7ae0034144d14827e1f1d2e2da909621d9784818625dee/awslabs_aws_msk_mcp_server-0.0.1.tar.gz",
"platform": null,
"description": "# AWS Labs aws-msk MCP Server\n\nAn AWS Labs Model Context Protocol (MCP) server for Amazon Managed Streaming for Kafka (MSK).\n\n## Overview\n\nThe AWS MSK MCP Server provides a set of tools for interacting with Amazon MSK through the Model Context Protocol. It enables AI assistants to manage, monitor, and optimize Amazon MSK clusters by providing structured access to MSK APIs.\n\n## Features\n\n- **Cluster Management**: Create, describe, and update MSK clusters (both provisioned and serverless)\n- **Configuration Management**: Create and manage MSK configurations\n- **VPC Connection Management**: Create, describe, and manage VPC connections\n- **Monitoring and Telemetry**: Access cluster metrics, logs, and operational data\n- **Security Management**: Configure authentication, encryption, and access policies\n- **Best Practices**: Get recommendations for cluster sizing, configuration, and performance optimization\n- **Read-Only Mode**: Server runs in write mode by default, switch to read-only to protect against accidental modifications\n\n## Tools\n\n### Cluster Operations\n\n- **describe_cluster_operation**: Get information about a specific cluster operation\n- **get_cluster_info**: Retrieve various types of information about MSK clusters\n- **get_global_info**: Get global information about MSK resources\n- **create_cluster**: Create a new MSK cluster (provisioned or serverless)\n- **update_broker_storage**: Update the storage size of brokers\n- **update_broker_type**: Update the broker instance type\n- **update_broker_count**: Update the number of brokers in a cluster\n- **update_cluster_configuration**: Update the configuration of a cluster\n- **update_monitoring**: Update monitoring settings\n- **update_security**: Update security settings\n- **reboot_broker**: Reboot brokers in a cluster\n\n### Configuration Operations\n\n- **get_configuration_info**: Get information about MSK configurations\n- **create_configuration**: Create a new MSK configuration\n- **update_configuration**: Update an existing configuration\n\n### VPC Operations\n\n- **describe_vpc_connection**: Get information about a VPC connection\n- **create_vpc_connection**: Create a new VPC connection\n- **delete_vpc_connection**: Delete a VPC connection\n- **reject_client_vpc_connection**: Reject a client VPC connection request\n\n### Security Operations\n\n- **put_cluster_policy**: Put a resource policy on a cluster\n- **associate_scram_secret**: Associate SCRAM secrets with a cluster\n- **disassociate_scram_secret**: Disassociate SCRAM secrets from a cluster\n- **list_tags_for_resource**: List all tags for an MSK resource\n- **tag_resource**: Add tags to an MSK resource\n- **untag_resource**: Remove tags from an MSK resource\n- **list_customer_iam_access**: List IAM access information for a cluster\n\n### Monitoring and Best Practices\n\n- **get_cluster_telemetry**: Retrieve telemetry data for MSK clusters\n- **get_cluster_best_practices**: Get best practices and recommendations for MSK clusters\n\n## Usage\n\nThis MCP server can be used by AI assistants to help users manage their Amazon MSK resources. It provides structured access to MSK APIs, making it easier for AI to understand and interact with MSK clusters.\n\n### Installation\n\n[](https://cursor.com/install-mcp?name=awslabs.aws-msk-mcp-server&config=JTdCJTIyY29tbWFuZCUyMiUzQSUyMnV2JTIwYXdzbGFicy5hd3MtbXNrLW1jcC1zZXJ2ZXIlMjAtLWFsbG93LXdyaXRlcyUyMiUyQyUyMmVudiUyMiUzQSU3QiUyMkZBU1RNQ1BfTE9HX0xFVkVMJTIyJTNBJTIyRVJST1IlMjIlN0QlMkMlMjJkaXNhYmxlZCUyMiUzQWZhbHNlJTJDJTIyYXV0b0FwcHJvdmUlMjIlM0ElNUIlNUQlN0Q%3D)\n\nTo use this MCP server with your MCP client, add the following configuration to your MCP client settings:\n\n```json\n\"awslabs.aws-msk-mcp-server\": {\n \"command\": \"uv\",\n \"args\": [\n \"awslabs.aws-msk-mcp-server\",\n \"--allow-writes\"\n ],\n \"env\": {\n \"FASTMCP_LOG_LEVEL\": \"ERROR\"\n },\n \"disabled\": false,\n \"autoApprove\": []\n}\n\nReplace `<absolute path to your server code>` with the absolute path to the server code, for example: `/Users/myuser/mcp/src/aws-msk-mcp-server/awslabs/aws_msk_mcp_server`.\n\nAlternatively, you can use the MCP Inspector to test the server:\n\n```bash\nnpx @modelcontextprotocol/inspector \\\n uv \\\n --directory <absolute path to your server code> \\\n run \\\n server.py\n```\n\n### AWS Credentials\n\nThe server requires AWS credentials to access MSK resources. These can be provided through:\n\n1. Environment variables (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`)\n2. AWS credentials file (`~/.aws/credentials`)\n3. IAM roles for Amazon EC2 or ECS tasks\n\n### Server Configuration Options\n\n#### `--allow-writes`\n\nBy default, the MSK MCP server runs in write mode.\n\nTo disable write operations, remove the `--allow-writes` parameter to your MCP client configuration:\n\n```json\n\"args\": [\n \"--directory\",\n \"<absolute path to your server code>\",\n \"run\",\n \"server.py\"\n //Removed \"--allow-writes\"\n]\n```\n\nIn this mode, only read operations (tools in directories prefixed with \"read_\") and utility tools are available. Write operations (tools in directories prefixed with \"mutate_\") are disabled.\n\n#### Region Selection\n\nMost tools require specifying an AWS region. The server will prompt for a region if one is not provided.\n\n## Example Use Cases\n\n- Creating and configuring new MSK clusters\n- Monitoring cluster performance and health\n- Implementing best practices for MSK clusters\n- Managing security and access controls\n- Troubleshooting cluster issues\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "An AWS Labs Model Context Protocol (MCP) server for aws-msk",
"version": "0.0.1",
"project_urls": {
"changelog": "https://github.com/awslabs/mcp/blob/main/src/aws-msk-mcp-server/CHANGELOG.md",
"docs": "https://awslabs.github.io/mcp/servers/aws-msk-mcp-server/",
"documentation": "https://awslabs.github.io/mcp/servers/aws-msk-mcp-server/",
"homepage": "https://awslabs.github.io/mcp/",
"repository": "https://github.com/awslabs/mcp.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "76c1d6593377f67ce6d6458cafce73c6976dc71ba59b4adf043b3af937261f9b",
"md5": "402b59e6a5d2009a7cb297bbd653b317",
"sha256": "8620f129af207ce4409a9c04146732244bf2978c1ac2d31af54274fa37d28605"
},
"downloads": -1,
"filename": "awslabs_aws_msk_mcp_server-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "402b59e6a5d2009a7cb297bbd653b317",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 93529,
"upload_time": "2025-07-11T22:07:08",
"upload_time_iso_8601": "2025-07-11T22:07:08.242496Z",
"url": "https://files.pythonhosted.org/packages/76/c1/d6593377f67ce6d6458cafce73c6976dc71ba59b4adf043b3af937261f9b/awslabs_aws_msk_mcp_server-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a3e1f8f603ca4ac02d7ae0034144d14827e1f1d2e2da909621d9784818625dee",
"md5": "9e41258ba0e37587c8eee0f940a8ff7e",
"sha256": "9c25ba1daf9e6d05227133c8a57ea1bcd43655d981de670fac2df8648eb4ac7f"
},
"downloads": -1,
"filename": "awslabs_aws_msk_mcp_server-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "9e41258ba0e37587c8eee0f940a8ff7e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 140308,
"upload_time": "2025-07-11T22:07:09",
"upload_time_iso_8601": "2025-07-11T22:07:09.320476Z",
"url": "https://files.pythonhosted.org/packages/a3/e1/f8f603ca4ac02d7ae0034144d14827e1f1d2e2da909621d9784818625dee/awslabs_aws_msk_mcp_server-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 22:07:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "awslabs",
"github_project": "mcp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "awslabs.aws-msk-mcp-server"
}