Skip to content

Add MCP Gateway shoe store support chatbot sample#14

Open
ramyaravi1 wants to merge 10 commits into
instaclustr:mainfrom
ramyaravi1:ramyaravi1-patch-1
Open

Add MCP Gateway shoe store support chatbot sample#14
ramyaravi1 wants to merge 10 commits into
instaclustr:mainfrom
ramyaravi1:ramyaravi1-patch-1

Conversation

@ramyaravi1

Copy link
Copy Markdown
Contributor

Summary

Adds a new sample under MCP-Gateway/shoe-store-support-chatbot/ — a Streamlit

  • AWS Bedrock chatbot that connects to the NetApp Instaclustr MCP Gateway over
    Streamable HTTP. It demonstrates an AI agent reaching live data through a single,
    secured MCP endpoint across two backends:
  • ordersapi (HTTP Server) → get_orders lists a shopper's recent orders.
  • supporttickets (Kafka) → submit_request publishes a support request to the
    support-requests topic.

This is the companion code for the MCP Gateway tutorial (connecting an AI agent
to Apache Kafka and HTTP Server backends).

What's included

  • src/shoe_bot/ — app code (Streamlit UI, Bedrock Converse agent, MCP manager,
    config loader, async runtime).
  • example_mcp_server.py — optional minimal stdio MCP server for local testing.
  • config.example.json — sanitized config template (copy to config.json).
  • pyproject.toml, uv.lock — uv project + locked dependencies.
  • README.md — setup, configuration, and run instructions.
  • LICENSE — MIT.

Security

No real endpoints or credentials are committed. Only the sanitized
config.example.json (placeholder URL) is included; the live config.json is
intentionally excluded. AWS credentials are read at runtime from the standard
AWS credential chain.

Testing

  • uv sync installs dependencies.
  • uv run streamlit run src/shoe_bot/app.py launches the chatbot.
  • Verified the two sample prompts trigger get_orders (HTTP) and submit_request
    (Kafka) respectively against a configured MCP Gateway.

Notes for reviewers

  • Added a per-sample MIT LICENSE. Happy to remove it and defer to the repo's
    overall licensing if that's the preferred convention here.

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.

1 participant