Skip to content

Latest commit

 

History

History
195 lines (136 loc) · 6.18 KB

File metadata and controls

195 lines (136 loc) · 6.18 KB

OpenSearch Launchpad

An AI-powered assistant that guides you from initial requirements to a running OpenSearch search setup. It collects a sample document, gathers preferences, plans a search architecture, and executes the plan — creating indices, ML models, ingest pipelines, and a local search UI — with optional deployment to Amazon OpenSearch Service or Serverless.


Install Agent Skills

Agent skills for OpenSearch have moved to opensearch-agent-skills. Install the launchpad skill directly using npx skills:

npx skills add opensearch-project/opensearch-agent-skills/launchpad

This works with Claude Code, Cursor, Kiro, OpenCode, Codex, and any agent that supports the Agent Skills specification.

Install options

# Install to a specific agent
npx skills add opensearch-project/opensearch-agent-skills/launchpad -a claude-code

# Install globally (available across all projects)
npx skills add opensearch-project/opensearch-agent-skills/launchpad -g

# Install to all detected agents
npx skills add opensearch-project/opensearch-agent-skills/launchpad --all

# List available skills before installing
npx skills add opensearch-project/opensearch-agent-skills --list

After installing, try:

"I want to build a semantic search app with 10M docs"

Your agent reads the skill instructions and runs the scripts directly — no MCP server required.


Install in Kiro (Kiro Power)

OpenSearch Launchpad Power — Add this power source URL in Kiro to get started.

  1. Open Kiro
  2. Go to Powers panel
  3. Click Add Power and paste:
    https://github.com/opensearch-project/opensearch-launchpad/tree/main/kiro/opensearch-launchpad
    
  4. Kiro reads POWER.md and connects the MCP server automatically — no local clone required.

How It Works

Path IDEs How it connects
Agent Skill Claude Code, Cursor, Kiro, OpenCode, Codex Agent reads SKILL.md and runs scripts directly via the terminal
Kiro Power Kiro Kiro runs the MCP server (opensearch-launchpad) which exposes phase tools

Prerequisites

  • Python 3.11+ and uv installed
  • Docker installed and running (Download Docker)
  • For AWS deployment (optional): AWS credentials configured — see AWS Setup

What It Does

OpenSearch Launchpad walks you through five phases to build a production-ready search solution:

Phase What happens
1. Sample Document Provide a sample document (built-in IMDB dataset, local file, URL, existing index, or paste JSON)
2. Preferences Set your query pattern (keyword, semantic, hybrid, agentic) and deployment preference
3. Plan An AI planner designs your search architecture (BM25, semantic, hybrid, or agentic)
4. Execute Automatically creates OpenSearch indices, ML models, ingest pipelines, and a search UI locally
4.5 Evaluate (Optional) Evaluate search quality and iterate on the architecture
5. Deploy (Optional) Deploy to Amazon OpenSearch Service or Amazon OpenSearch Serverless

Repo Structure

kiro/                          # Kiro Power integrations
opensearch_orchestrator/       # MCP server (Kiro Power path only)
shared/                        # Shared UI components
tests/                         # All tests

Note: Agent skills (SKILL.md, scripts, references) now live in opensearch-agent-skills.


Contributing

See the Developer Guide for contributing to the Kiro Power and MCP server.

For contributing agent skills, see the opensearch-agent-skills repository.


AWS Setup (Optional)

Phase 5 of opensearch-launchpad deploys your local search solution to AWS. This is optional — Phases 1–4 work entirely locally.

1. Add AWS MCP Servers

Add these servers to the power's mcp.json configuration in Kiro:

{
  "mcpServers": {
    "awslabs.aws-api-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.aws-api-mcp-server@latest"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    },
    "aws-knowledge-mcp-server": {
      "command": "uvx",
      "args": ["fastmcp", "run", "https://knowledge-mcp.global.api.aws"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    },
    "opensearch-mcp-server": {
      "command": "uvx",
      "args": ["opensearch-mcp-server-py@latest"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    }
  }
}

2. Configure AWS Credentials

aws configure

Or set environment variables:

export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_REGION="us-east-1"

3. Required IAM Permissions

Your AWS user/role needs permissions for:

  • OpenSearch Service — create/manage domains and serverless collections
  • IAM — create and manage roles for OpenSearch
  • Bedrock — invoke models (for semantic and agentic search)

Troubleshooting

spawn uvx ENOENT or Docker not found

Some MCP clients cannot find uvx or docker from the JSON config environment.

Fix: Locate the full paths and add them to env.PATH in your MCP config:

which uvx      # e.g. /Users/you/.local/bin/uvx
which docker   # e.g. /usr/local/bin/docker

Then in Kiro: Cmd+Shift+PKiro: Open user MCP config (JSON) and update:

{
  "mcpServers": {
    "opensearch-launchpad": {
      "command": "uvx",
      "args": ["opensearch-launchpad@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "PATH": "/usr/local/bin:/usr/bin:/bin:/Users/you/.local/bin"
      }
    }
  }
}

License

This project is licensed under the Apache License, Version 2.0. See LICENSE.txt for details.