{"id":4451,"library":"awslabs-aws-documentation-mcp-server","title":"AWS Documentation Model Context Protocol (MCP) Server","description":"The AWS Documentation Model Context Protocol (MCP) Server is an open-source library from AWS Labs that provides real-time access to official AWS documentation for AI assistants and agents. It enables AI coding assistants to search, fetch, and get recommendations from up-to-date AWS documentation, reducing hallucinations and improving the accuracy of AI-generated content for cloud-native development. The MCP protocol itself is an open standard overseen by the Linux Foundation. The library is currently at version 1.1.20 and is actively maintained with a regular release cadence.","status":"active","version":"1.1.20","language":"en","source_language":"en","source_url":"https://github.com/awslabs/mcp.git","tags":["aws","mcp","documentation","server","protocol","ai","llm","assistant","developer-tools"],"install":[{"cmd":"pip install awslabs-aws-documentation-mcp-server","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"Requires Python 3.10 or newer for execution.","package":"Python","optional":false},{"reason":"Recommended tool for environment and dependency management during development and for `uvx` based client configurations, though not strictly required for `pip install`.","package":"uv","optional":true},{"reason":"Required for configuring AWS credentials, which the server uses to authenticate requests to AWS services (e.g., for search APIs).","package":"AWS CLI","optional":false}],"imports":[{"note":"This library is designed to run as a server process, typically invoked as a module from the command line or configured by an MCP client, rather than being imported directly into user-written Python code for its core server functionality.","symbol":"Server Execution","correct":"python -m awslabs.aws_documentation_mcp_server.server"}],"quickstart":{"code":"import os\nimport subprocess\nimport sys\n\n# Configure AWS credentials (replace with your actual region/profile or ensure they are set in your environment)\nos.environ['AWS_PROFILE'] = os.environ.get('AWS_PROFILE', 'default') # Use 'default' profile or env var\nos.environ['AWS_REGION'] = os.environ.get('AWS_REGION', 'us-east-1') # Use 'us-east-1' or env var\n\nprint(f\"Starting AWS Documentation MCP Server using profile: {os.environ['AWS_PROFILE']} in region: {os.environ['AWS_REGION']}\")\nprint(\"Ensure your AWS credentials are configured (e.g., via `aws configure` or environment variables).\")\nprint(\"The server will run until interrupted (Ctrl+C).\")\n\ntry:\n    # Run the MCP server as a module\n    process = subprocess.run(\n        [sys.executable, \"-m\", \"awslabs.aws_documentation_mcp_server.server\"],\n        check=True\n    )\nexcept subprocess.CalledProcessError as e:\n    print(f\"Error starting server: {e}\")\n    sys.exit(1)\nexcept KeyboardInterrupt:\n    print(\"\\nServer stopped by user.\")\n    sys.exit(0)\n","lang":"python","description":"This quickstart demonstrates how to run the AWS Documentation MCP Server as a Python module. Before running, ensure you have Python 3.10+ installed and your AWS CLI credentials are configured (e.g., `aws configure`). The server will use these credentials to interact with AWS services for documentation retrieval. Once running, it can be integrated with compatible MCP clients like Amazon Q Developer, Kiro, or Cursor."},"warnings":[{"fix":"Migrate client applications to use Streamable HTTP transport or other supported communication methods, or explicitly pin to an older major version of the server that still includes SSE support.","message":"Server-Sent Events (SSE) support was removed from all MCP servers in their latest major versions as of May 26, 2025. Applications that still rely on SSE for client-server communication must use previous major versions of the respective MCP server until they can migrate to alternative transport methods.","severity":"breaking","affected_versions":"All major versions released after 2025-05-26"},{"fix":"Ensure AWS CLI is installed and configured (`aws configure` or `aws login`). Set `AWS_PROFILE` and `AWS_REGION` environment variables as needed. If write operations are required, consult the server's documentation for enabling write access mode.","message":"The server requires AWS credentials to function, typically picked up from the default AWS CLI profile or `AWS_PROFILE` environment variable. It also runs in read-only mode by default, restricting operations to only perform read actions. Write-access (for mutating operations like `sam_deploy`) requires explicit configuration (e.g., `enable_write_access_mode`).","severity":"gotcha","affected_versions":"All versions"},{"fix":"Upgrade your Python environment to version 3.10 or higher.","message":"The library explicitly requires Python 3.10 or newer. Attempting to run it with older Python versions will result in execution errors.","severity":"gotcha","affected_versions":"< 1.0.0 (and potentially others, but confirmed for current version)"},{"fix":"Review your MCP client's configuration file (e.g., `~/.kiro/settings/mcp.json`, `~/.aws/amazonq/mcp.json`) and remove any entries for other AWS MCP servers that might overlap in functionality with the AWS Documentation MCP Server.","message":"Running multiple AWS-related MCP servers (e.g., `aws-api-mcp-server`, `aws-knowledge-mcp-server`) concurrently in the same MCP client configuration can lead to tool conflicts, ambiguous responses for AI agents, and reduced performance. It's recommended to remove conflicting server entries.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-12T00:00:00.000Z","next_check":"2026-07-11T00:00:00.000Z"}