AWS Bedrock Logs MCP

AWS Bedrock Logs MCP

By dheerajoruganty GitHub

-

aws-bedrock logs
Overview

what is AWS Bedrock Logs MCP?

AWS Bedrock Logs MCP is a command-line interface and API designed for analyzing AWS Bedrock usage and logs through Anthropic's Model Control Protocol (MCP). It allows users to interactively query and analyze their Bedrock usage data using natural language.

how to use AWS Bedrock Logs MCP?

To use the tool, install the necessary dependencies, configure your AWS credentials, and run the server. You can then connect to the server using Claude and issue queries about your Bedrock usage.

key features of AWS Bedrock Logs MCP?

  • Detailed model usage analysis and token consumption statistics
  • User-based analytics for tracking usage patterns and costs
  • Daily usage reports to monitor trends
  • Interactive querying through natural language with Claude

use cases of AWS Bedrock Logs MCP?

  1. Analyzing AWS Bedrock model invocation logs
  2. Monitoring token consumption across different models
  3. Generating daily usage reports for cost analysis

FAQ from AWS Bedrock Logs MCP?

  • What are the requirements to use this tool?

You need Python 3.13+, AWS credentials with CloudWatch Logs access, and Anthropic API access for Claude integration.

  • How do I start the server?

Run the command python cloudwatch_mcp_server.py to start the server.

  • Can I use this tool without Claude?

The tool is designed to work with Claude for natural language queries, but you can also access the API directly.

Content

AWS Bedrock Logs MCP

A command-line interface and API for analyzing AWS Bedrock usage and logs through Anthropic's MCP (Model Control Protocol).

Overview

This tool provides a convenient way to analyze AWS Bedrock model invocation logs using Anthropic's Claude model as an interactive interface. It functions as an MCP server that exposes AWS CloudWatch Logs API functionality to Claude, allowing you to query and analyze your Bedrock usage data in natural language.

Features

  • Model Usage Analysis: View detailed statistics about Bedrock model usage and token consumption
  • User-based Analytics: Analyze usage patterns and costs by user
  • Daily Usage Reports: Track daily usage trends and model invocations
  • Token Consumption Metrics: Monitor input, completion, and total token usage
  • Interactive Interface: Use Claude to query your Bedrock usage data through natural language

Requirements

  • Python 3.13+
  • AWS credentials with CloudWatch Logs access
  • Anthropic API access (for Claude integration)

Installation

  1. Install uv:

    # On macOS and Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # On Windows
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  2. Clone this repository:

    git clone https://github.com/dheerajoruganty/aws-bedrock-logs-mcp-server.git
    cd aws-bedrock-logs-mcp-server
    
  3. Set up the Python virtual environment and install dependencies:

    uv venv && source .venv/bin/activate && uv pip sync pyproject.toml
    

    For Windows:

    uv venv && .venv\Scripts\activate && uv pip sync pyproject.toml
    
  4. Configure your AWS credentials:

    mkdir -p ~/.aws
    # Set up your credentials in ~/.aws/credentials and ~/.aws/config
    

Usage

Starting the Server

Run the server using:

python cloudwatch_mcp_server.py

By default, the server uses stdio transport for communication with MCP clients.

Claude Desktop Configuration

Configure this tool with Claude Desktop:

{
  "mcpServers": {
    "aws_bedrock_logs": {
      "command": "uv",
      "args": [
          "--directory",
          "/path/to/aws-bedrock-logs-mcp",
          "run",
          "cloudwatch_mcp_server.py"
      ]
    }
  }
}

Make sure to replace the directory path with the actual path to your repository on your system.

Available Tools

The server exposes the following tools that Claude can use:

  1. get_bedrock_logs_df: Retrieve raw Bedrock invocation logs as a pandas DataFrame
  2. get_model_usage_stats: Get usage statistics grouped by model
  3. get_user_usage_stats: Get usage statistics grouped by user
  4. get_daily_usage_stats: Get daily usage statistics and trends

Example Queries

Once connected to Claude through an MCP-enabled interface, you can ask questions like:

  • "Show me the Bedrock usage stats for the last 7 days"
  • "What's the average token consumption by model?"
  • "Who are the top users of Bedrock in terms of total tokens?"
  • "Give me a daily breakdown of model invocations"

Development

Project Structure

  • cloudwatch_mcp_server.py: Main server implementation with MCP tools
  • pyproject.toml: Project dependencies and metadata
  • Dockerfile: Container definition for deployments

Dependencies

Key dependencies include:

  • boto3: AWS SDK for Python
  • mcp[cli]: Anthropic's Model Control Protocol
  • pandas: Data manipulation and analysis
  • pydantic: Data validation using Python type annotations

License

MIT License

Acknowledgments

  • This tool uses Anthropic's MCP framework
  • Powered by AWS CloudWatch Logs API
  • Built with FastMCP for server implementation
No tools information available.
No content found.