Skip to content

Conversation

@PauiC
Copy link
Contributor

@PauiC PauiC commented Jan 12, 2026

Description

Learn how to configure OpenSearch chatbot and investigation features, including OpenSearch backend, Dashboards frontend, and MCP server configuration.

Issues Resolved

[List any issues this PR will resolve]

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

Signed-off-by: Jiaru Jiang <[email protected]>
@github-actions
Copy link

Thank you for submitting a blog post!

The blog post review process is: Submit a PR -> (Optional) Peer review -> Doc review -> Editorial review -> Marketing review -> Published.

@github-actions
Copy link

Hi @PauiC,

It looks like you're adding a new blog post but don't have an issue mentioned. Please link this PR to an open issue using one of these keywords in the PR description:

  • Closes #issue-number
  • Fixes #issue-number
  • Resolves #issue-number

If an issue hasn't been created yet, please create one and then link it to this PR.

@pajuric
Copy link

pajuric commented Jan 13, 2026

@PauiC - Please open a blog issue for this so it can be published.

@pajuric
Copy link

pajuric commented Jan 15, 2026

@kolchfa-aws - Adding you for review

@kolchfa-aws kolchfa-aws self-assigned this Jan 15, 2026
@kolchfa-aws
Copy link
Collaborator

@PauiC Let me know when your team has reviewed the draft and it's ready for my review. Thanks!

@PauiC PauiC changed the title Configuring Investigation and Chatbot Features in OpenSearch: A Complete Guide Configuring Agentic Investigation and Chatbot Features in OpenSearch: A Complete Guide Jan 26, 2026
Signed-off-by: Jiaru Jiang <[email protected]>
Comment on lines +26 to +34
```bash
git clone https://github.com/opensearch-project/OpenSearch-Dashboards.git
cd OpenSearch-Dashboards/plugins/
git clone https://github.com/opensearch-project/dashboards-investigation.git
git clone https://github.com/opensearch-project/dashboards-assistant.git
cd ..
yarn osd bootstrap
yarn start --no-base-path
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this part, with 3.5 been released, we could use 3.5 distribution directly instead of building from source

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where can I find the latest release? I noticed that the latest version of ml on GitHub is 3.3.0.0

Comment on lines +109 to +118
# Install all built plugins into OpenSearch
cd build/distribution/local/opensearch-3.4.0-SNAPSHOT
./bin/opensearch-plugin install file:///path/to/job-scheduler.zip
./bin/opensearch-plugin install file:///path/to/ml-commons.zip
./bin/opensearch-plugin install file:///path/to/skills.zip
./bin/opensearch-plugin install file:///path/to/sql.zip
./bin/opensearch-plugin install file:///path/to/transport-reactor-netty4.zip
./bin/opensearch-plugin install file:///path/to/arrow-flight-rpc.zip
./bin/opensearch # Start OpenSearch with all plugins
```
Copy link
Contributor

@Hailong-am Hailong-am Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here, we can use 3.5 distribution. but for transport-reactor-netty4 and arrow-flight-rpc, we need to build from source

plugins.ml_commons.stream_enabled: true
plugins.ml_commons.ag_ui_enabled: true
plugins.ml_commons.mcp_connector_enabled: true
plugins.ml_commons.trusted_connector_endpoints_regex: ["^https?://localhost.*", "^https?://127\.0\.0\.1.*"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should include LLM endpoints like claude/openai

opensearch.experimental.feature.transport.stream.enabled: true

# HTTP transport type
http.type: reactor-netty4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for security enabled case, this should be reactor-netty4-secure

Copy link
Contributor Author

@PauiC PauiC Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can only use reactor-netty4 for local building, and an error will occur if I use the reactor-netty4-secureconfiguration.

Comment on lines +153 to +156
git clone https://github.com/opensearch-project/opensearch-mcp-server-py.git
cd opensearch-mcp-server-py
pip install -r requirements.txt # Install Python dependencies
# Configure and start MCP server with your OpenSearch credentials
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here, guess we don't need to build from source

"action_type": "predict",
"method": "POST",
"url": "https://bedrock-runtime.${parameters.region}.amazonaws.com/model/${parameters.model}/converse-stream",
"request_body": "{\"messages\": [${parameters._chat_history:-}{\"role\":\"user\",\"content\":[{\"text\":\"${parameters.prompt}\"}]}${parameters._interactions:-}]${parameters.tool_configs:-}}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{\"system\": [{\"text\": \"${parameters.system_prompt}\"}],\"messages\": [${parameters._chat_history:-}{\"role\":\"user\",\"content\":[{\"text\":\"${parameters.prompt}\"}]}${parameters._interactions:-}]${parameters.tool_configs:-}}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we have latest screenshot

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe a screenshot for trigger investigation from chatbot as well?

Comment on lines +380 to +394
"mcp_connectors": "[{\"mcp_connector_id\":\"{% raw %}{{mcp_connector_id}}{% endraw %}\"}]"
},
"tools": [
{
"type": "ListIndexTool"
},
{
"type": "SearchIndexTool"
},
{
"type": "IndexMappingTool"
}
],
"app_type": "os_chat"
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

those tools are duplicate with MCP tools

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any tools that MCP doesn't have? Or should I just modify it to:

"tools": [
    ],

"description": "Connector to MCP server",
"version": "1",
"protocol": "mcp_streamable_http",
"url": "http://localhost:8080"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing parameters for connector?

   "endpoint": "/mcp/"
 }```

{
"name": "Claude 4.5",
"function_name": "remote",
"description": "openai model",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: let's update this description

}
]
},
"tools": [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think we need these built-in tools as they are provided by MCP server

OPENSEARCH_URL="<your_opensearch_endpoint>" \
OPENSEARCH_USERNAME="<your_username>" \
OPENSEARCH_PASSWORD="<your_password>" \
python -m src.mcp_server_opensearch --transport stream --host 0.0.0.0 --port 8080
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to the comment above, we can replace this line with uvx opensearch-mcp-server-py --transport stream --port 8080 and skip the clone and install steps

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants