# AWS Labs Amazon Q Business anonymous mode MCP Server
An AWS Labs Model Context Protocol (MCP) server for Amazon Q Business anonymous mode application. This is a simple MCP server for Amazon Q Business, and it supports Amazon Q Business application created using [anonymous mode access](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-anonymous-application.html). Use this MCP server to query the Amazon Q Business application created using anonymous mode to get responses based on the content you have ingested in it.
## Features
- [x] You can use this MCP server from your local machine
- [x] Query Amazon Q Business application created using anonymous mode to get responses based on the content you have ingested in it.
## Prerequisites
1. [Sign up for an AWS account](https://aws.amazon.com/free/?trk=78b916d7-7c94-4cab-98d9-0ce5e648dd5f&sc_channel=ps&ef_id=Cj0KCQjwxJvBBhDuARIsAGUgNfjOZq8r2bH2OfcYfYTht5v5I1Bn0lBKiI2Ii71A8Gk39ZU5cwMLPkcaAo_CEALw_wcB:G:s&s_kwcid=AL!4422!3!432339156162!e!!g!!aws%20sign%20up!9572385111!102212379327&gad_campaignid=9572385111&gbraid=0AAAAADjHtp99c5A9DUyUaUQVhVEoi8of3&gclid=Cj0KCQjwxJvBBhDuARIsAGUgNfjOZq8r2bH2OfcYfYTht5v5I1Bn0lBKiI2Ii71A8Gk39ZU5cwMLPkcaAo_CEALw_wcB)
2. [Create an Amazon Q Business application using anonynmous mode](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-anonymous-application.html)
3. Install `uv` from [Astral](https://docs.astral.sh/uv/getting-started/installation/) or the [GitHub README](https://github.com/astral-sh/uv#installation)
4. Install Python using `uv python install 3.10`
## Tools
#### QBusinessQueryTool
- The QBusinessQueryTool takes the query specified by the user and queries the Amazon Q Business application to get a response.
- Required parameter: query(str)
- Example:
* `Can you get me the details of the ACME project? Use the QBusinessQueryTool to get the context.`. Note that in this case the details of the ACME are required to be ingested to the underlying Amazon Q Business application created using anonymous mode.
## Setup
### IAM Configuration
1. Provision a user in your AWS account IAM
2. Attach a policy that contains at a minimum the `qbusiness:ChatSync` permission. Always follow the principal or least privilege when granting users permissions. See the [documentation](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-application-1) for more information on IAM permissions for Amazon Q Business.
3. Use `aws configure` on your environment to configure the credentials (access ID and access key)
### Installation
[](cursor://anysphere.cursor-deeplink/mcp/install?name=awslabs.amazon-qbusiness-anonymous-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMucWJ1c2luZXNzLWFub255bW91cy1tY3Atc2VydmVyIiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IiLCJRQlVTSU5FU1NfQVBQTElDQVRJT05fSUQiOiJbWW91ciBBbWF6b24gUSBCdXNpbmVzcyBhcHBsaWNhdGlvbiBpZF0iLCJBV1NfUFJPRklMRSI6IltZb3VyIEFXUyBQcm9maWxlIE5hbWVdIiwiQVdTX1JFR0lPTiI6IltSZWdpb24gd2hlcmUgeW91ciBBbWF6b24gUSBCdXNpbmVzcyBhcHBsaWNhdGlvbiByZXNpZGVzXSJ9LCJkaXNhYmxlZCI6ZmFsc2UsImF1dG9BcHByb3ZlIjpbXX0%3D)
Configure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit `~/.aws/amazonq/mcp.json`):
```json
{
"mcpServers": {
"awslabs.amazon-qbusiness-anonymous-mcp-server": {
"command": "uvx",
"args": ["awslabs.qbusiness-anonymous-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"QBUSINESS_APPLICATION_ID": "[Your Amazon Q Business application id]",
"AWS_PROFILE": "[Your AWS Profile Name]",
"AWS_REGION": "[Region where your Amazon Q Business application resides]"
},
"disabled": false,
"autoApprove": []
}
}
}
```
or docker after a successful `docker build -t awslabs/amazon-kendra-index-mcp-server.`:
```file
# fictitious `.env` file with AWS temporary credentials
AWS_ACCESS_KEY_ID=<from the profile you set up>
AWS_SECRET_ACCESS_KEY=<from the profile you set up>
AWS_SESSION_TOKEN=<from the profile you set up>
```
```json
{
"mcpServers": {
"awslabs.amazon-qbusiness-anonymous-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--env-file",
"/full/path/to/file/above/.env",
"awslabs/amazon-qbusiness-anonymous-mcp-server:latest"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
```
NOTE: Your credentials will need to be kept refreshed from your host
## Best Practices
- Follow the principle of least privilege when setting up IAM permissions
- Use separate AWS profiles for different environments (dev, test, prod)
- Monitor broker metrics and logs for performance and issues
- Implement proper error handling in your client applications
## Security Considerations
When using this MCP server, consider:
- This MCP server needs permissions to use conversation APIs with your Amazon Q Business application created in anonymous mode.
- This MCP server cannot create, modify, or delete resources in your account
## Troubleshooting
- If you encounter permission errors, verify your IAM user has the correct policies attached
- For connection issues, check network configurations and security groups
- If resource modification fails with a tag validation error, it means the resource was not created by the MCP server
- For general Amazon Q Business issues, consult the [Amazon Q Business user guide](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/what-is.html)
## Version
Current MCP server version: 0.0.0
Raw data
{
"_id": null,
"home_page": null,
"name": "awslabs.amazon-qbusiness-anonymous-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>, Abhinav Jawadekar <abhjaw@amazon.com>",
"download_url": "https://files.pythonhosted.org/packages/ea/de/7493eca149b33d0e0ec062a6c2d143765f164dcc80c308942264f1dd0ecc/awslabs_amazon_qbusiness_anonymous_mcp_server-0.0.1.tar.gz",
"platform": null,
"description": "# AWS Labs Amazon Q Business anonymous mode MCP Server\n\nAn AWS Labs Model Context Protocol (MCP) server for Amazon Q Business anonymous mode application. This is a simple MCP server for Amazon Q Business, and it supports Amazon Q Business application created using [anonymous mode access](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-anonymous-application.html). Use this MCP server to query the Amazon Q Business application created using anonymous mode to get responses based on the content you have ingested in it.\n\n## Features\n- [x] You can use this MCP server from your local machine\n- [x] Query Amazon Q Business application created using anonymous mode to get responses based on the content you have ingested in it.\n\n## Prerequisites\n\n1. [Sign up for an AWS account](https://aws.amazon.com/free/?trk=78b916d7-7c94-4cab-98d9-0ce5e648dd5f&sc_channel=ps&ef_id=Cj0KCQjwxJvBBhDuARIsAGUgNfjOZq8r2bH2OfcYfYTht5v5I1Bn0lBKiI2Ii71A8Gk39ZU5cwMLPkcaAo_CEALw_wcB:G:s&s_kwcid=AL!4422!3!432339156162!e!!g!!aws%20sign%20up!9572385111!102212379327&gad_campaignid=9572385111&gbraid=0AAAAADjHtp99c5A9DUyUaUQVhVEoi8of3&gclid=Cj0KCQjwxJvBBhDuARIsAGUgNfjOZq8r2bH2OfcYfYTht5v5I1Bn0lBKiI2Ii71A8Gk39ZU5cwMLPkcaAo_CEALw_wcB)\n2. [Create an Amazon Q Business application using anonynmous mode](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-anonymous-application.html)\n3. Install `uv` from [Astral](https://docs.astral.sh/uv/getting-started/installation/) or the [GitHub README](https://github.com/astral-sh/uv#installation)\n4. Install Python using `uv python install 3.10`\n\n## Tools\n#### QBusinessQueryTool\n\n- The QBusinessQueryTool takes the query specified by the user and queries the Amazon Q Business application to get a response.\n- Required parameter: query(str)\n- Example:\n * `Can you get me the details of the ACME project? Use the QBusinessQueryTool to get the context.`. Note that in this case the details of the ACME are required to be ingested to the underlying Amazon Q Business application created using anonymous mode.\n\n## Setup\n\n### IAM Configuration\n\n1. Provision a user in your AWS account IAM\n2. Attach a policy that contains at a minimum the `qbusiness:ChatSync` permission. Always follow the principal or least privilege when granting users permissions. See the [documentation](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-application-1) for more information on IAM permissions for Amazon Q Business.\n3. Use `aws configure` on your environment to configure the credentials (access ID and access key)\n\n### Installation\n\n[](cursor://anysphere.cursor-deeplink/mcp/install?name=awslabs.amazon-qbusiness-anonymous-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMucWJ1c2luZXNzLWFub255bW91cy1tY3Atc2VydmVyIiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IiLCJRQlVTSU5FU1NfQVBQTElDQVRJT05fSUQiOiJbWW91ciBBbWF6b24gUSBCdXNpbmVzcyBhcHBsaWNhdGlvbiBpZF0iLCJBV1NfUFJPRklMRSI6IltZb3VyIEFXUyBQcm9maWxlIE5hbWVdIiwiQVdTX1JFR0lPTiI6IltSZWdpb24gd2hlcmUgeW91ciBBbWF6b24gUSBCdXNpbmVzcyBhcHBsaWNhdGlvbiByZXNpZGVzXSJ9LCJkaXNhYmxlZCI6ZmFsc2UsImF1dG9BcHByb3ZlIjpbXX0%3D)\nConfigure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit `~/.aws/amazonq/mcp.json`):\n\n```json\n{\n \"mcpServers\": {\n \"awslabs.amazon-qbusiness-anonymous-mcp-server\": {\n \"command\": \"uvx\",\n \"args\": [\"awslabs.qbusiness-anonymous-mcp-server\"],\n \"env\": {\n \"FASTMCP_LOG_LEVEL\": \"ERROR\",\n \"QBUSINESS_APPLICATION_ID\": \"[Your Amazon Q Business application id]\",\n \"AWS_PROFILE\": \"[Your AWS Profile Name]\",\n \"AWS_REGION\": \"[Region where your Amazon Q Business application resides]\"\n },\n \"disabled\": false,\n \"autoApprove\": []\n }\n }\n}\n```\nor docker after a successful `docker build -t awslabs/amazon-kendra-index-mcp-server.`:\n\n```file\n# fictitious `.env` file with AWS temporary credentials\nAWS_ACCESS_KEY_ID=<from the profile you set up>\nAWS_SECRET_ACCESS_KEY=<from the profile you set up>\nAWS_SESSION_TOKEN=<from the profile you set up>\n```\n\n```json\n {\n \"mcpServers\": {\n \"awslabs.amazon-qbusiness-anonymous-mcp-server\": {\n \"command\": \"docker\",\n \"args\": [\n \"run\",\n \"--rm\",\n \"--interactive\",\n \"--env-file\",\n \"/full/path/to/file/above/.env\",\n \"awslabs/amazon-qbusiness-anonymous-mcp-server:latest\"\n ],\n \"env\": {},\n \"disabled\": false,\n \"autoApprove\": []\n }\n }\n }\n```\nNOTE: Your credentials will need to be kept refreshed from your host\n\n## Best Practices\n\n- Follow the principle of least privilege when setting up IAM permissions\n- Use separate AWS profiles for different environments (dev, test, prod)\n- Monitor broker metrics and logs for performance and issues\n- Implement proper error handling in your client applications\n\n## Security Considerations\n\nWhen using this MCP server, consider:\n\n- This MCP server needs permissions to use conversation APIs with your Amazon Q Business application created in anonymous mode.\n- This MCP server cannot create, modify, or delete resources in your account\n\n## Troubleshooting\n\n- If you encounter permission errors, verify your IAM user has the correct policies attached\n- For connection issues, check network configurations and security groups\n- If resource modification fails with a tag validation error, it means the resource was not created by the MCP server\n- For general Amazon Q Business issues, consult the [Amazon Q Business user guide](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/what-is.html)\n\n## Version\n\nCurrent MCP server version: 0.0.0\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "An AWS Labs Model Context Protocol (MCP) server for Amazon Q Business anonymous mode application.",
"version": "0.0.1",
"project_urls": {
"changelog": "https://github.com/awslabs/mcp/blob/main/src/amazon-qbusiness-anonymous-mcp-server/CHANGELOG.md",
"docs": "https://awslabs.github.io/mcp/servers/amazon-qbusiness-anonymous-mcp-server/",
"documentation": "https://awslabs.github.io/mcp/servers/amazon-qbusiness-anonymous-mcp-server/",
"homepage": "https://awslabs.github.io/mcp/",
"repository": "https://github.com/awslabs/mcp.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "dde404746f38e9ccb55c5237e71b79cdc62bdd0135610f5151d93cd4a97ff3c5",
"md5": "d515285ce69873a6bc7c2f6b18496e53",
"sha256": "4b01fab3f4338117193451e1ab46e2e5ad7d6e5d646cd62bc5f68c40e1c4a9ac"
},
"downloads": -1,
"filename": "awslabs_amazon_qbusiness_anonymous_mcp_server-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d515285ce69873a6bc7c2f6b18496e53",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 13142,
"upload_time": "2025-07-11T18:48:32",
"upload_time_iso_8601": "2025-07-11T18:48:32.266675Z",
"url": "https://files.pythonhosted.org/packages/dd/e4/04746f38e9ccb55c5237e71b79cdc62bdd0135610f5151d93cd4a97ff3c5/awslabs_amazon_qbusiness_anonymous_mcp_server-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "eade7493eca149b33d0e0ec062a6c2d143765f164dcc80c308942264f1dd0ecc",
"md5": "ea2124a44430e4db93f06123f05f758f",
"sha256": "1e735354bc1d0b2597ea563ebb6c7a5246eaf55406df5d85db165a88158f7fa9"
},
"downloads": -1,
"filename": "awslabs_amazon_qbusiness_anonymous_mcp_server-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "ea2124a44430e4db93f06123f05f758f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 75287,
"upload_time": "2025-07-11T18:48:33",
"upload_time_iso_8601": "2025-07-11T18:48:33.770125Z",
"url": "https://files.pythonhosted.org/packages/ea/de/7493eca149b33d0e0ec062a6c2d143765f164dcc80c308942264f1dd0ecc/awslabs_amazon_qbusiness_anonymous_mcp_server-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 18:48:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "awslabs",
"github_project": "mcp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "awslabs.amazon-qbusiness-anonymous-mcp-server"
}