用于与 AWS Kinesis 数据流交互的 MCP 服务器。
该综合服务器提供了操作 Kinesis 数据流管理功能,包含超过 30 种工具,用于管理数据流、分片、记录、消费者等。
create_stream - 在 PROVISIONED 或 ON_DEMAND 模式下创建一个 Kinesis 数据流delete_stream - 删除一个 Kinesis 数据流及其所有分片和数据describe_stream - 返回关于数据流的详细信息,包括分片、状态和配置describe_stream_summary - 返回数据流的概要信息,不包括分片详情list_streams - 返回账户中的 Kinesis 数据流列表update_shard_count - 更新 PROVISIONED 模式下数据流的分片数量update_stream_mode - 更新数据流的容量模式(PROVISION-ED/ON_DEMAND)list_shards - 返回 Kinesis 数据流中的分片列表merge_shards - 合并两个相邻的分片(仅适用于 PROVISIONED 流)split_shard - 将一个分片拆分为两个新的分片(仅适用于 PROVISIONED 流)put_record - 将单个数据记录写入 Kinesis 数据流put_records - 在一次调用中将多个数据记录写入流get_shard_iterator - 获取用于从特定分片读取记录的分片迭代器get_records - 使用分片迭代器从分片中检索记录register_stream_consumer - 注册一个消费者以使用增强型扇出功能deregister_stream_consumer - 注销一个消费者describe_stream_consumer - 返回已注册消费者的详细信息list_stream_consumers - 列出已注册到流的消费者enable_enhanced_monitoring - 启用增强监控以获取详细的 CloudWatch 指标disable_enhanced_monitoring - 禁用增强监控start_stream_encryption - 使用 AWS KMS 启用服务器端加密stop_stream_encryption - 禁用服务器端加密add_tags_to_stream - 添加或更新数据流的标签remove_tags_from_stream - 从数据流中移除标签list_tags_for_stream - 列出数据流的标签increase_stream_retention_period - 增加存储期(24-8760 小时)decrease_stream_retention_period - 减少存储期(24-8760 小时)与 AWS Kinesis 数据流交互的官方 MCP 服务器提供了一整套工具,用于管理和处理实时数据。
要使用这些工具,请确保您已配置了具有适当权限的 AWS 凭据,以便进行 Kinesis 操作。服务器将自动使用来自环境变量(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN)或其他标准 AWS 凭据来源的凭据。
所有工具都支持可选的 region_name 参数,用于指定操作所在的 AWS 区域。如果没有提供,则会使用 AWS_REGION 环境变量或默认为 'us-west-2'。
数据流模式:
数据编码:
增强型扇出:
uvuv python install 3.10 安装 Python将 MCP 添加到您喜欢的代理工具中:
{
"mcpServers": {
"awslabs.kinesis-mcp-server": {
"command": "uvx",
"args": ["awslabs.kinesis-mcp-server@latest"],
"env": {
"KINESIS-MCP-READONLY": "true",
"AWS_PROFILE": "default",
"AWS_REGION": "us-west-2",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
KINESIS-MCP-READONLY:设置为 "true" 以防止任何修改操作AWS_PROFILE:用于身份验证的 AWS 配置文件AWS_REGION:使用的 AWS 区域(默认为 us-west-2)FASTMCP_LOG_LEVEL:日志级别(ERROR, INFO, DEBUG)# 创建一个具有 2 个分片的预置数据流
create_stream(
stream_name="my-stream",
shard_count=2,
stream_mode_details={"StreamMode": "PROVISIONED"}
)
# 创建一个按需数据流
create_stream(
stream_name="my-on-demand-stream",
stream_mode_details={"StreamMode": "ON_DEMAND"}
)
# 写入单个记录
put_record(
stream_name="my-stream",
data="Hello, Kinesis!",
partition_key="user123"
)
# 写入多个记录
put_records(
stream_name="my-stream",
records=[
{"Data": "Record 1", "PartitionKey": "key1"},
{"Data": "Record 2", "PartitionKey": "key2"}
]
)
# 获取分片迭代器
iterator_response = get_shard_iterator(
stream_name="my-stream",
shard_id="shardId-000000000000",
shard_iterator_type="LATEST"
)
# 获取记录
records_response = get_records(
shard_iterator=iterator_response["ShardIterator"],
limit=100
)
本项目根据 Apache License 2.0 授权 - 详情见 LICENSE 文件。