Northstar Ask
Serves as the business-analyst backend for a simulated Alexa+ voice experience: an app-like front end provides push-to-talk (with typed fallback) voice interaction, and every answer is returned as spoken text plus an Echo Show-style card (title, columns, rows, chart hint, sources, confidence). Supports multi-turn follow-ups such as "And last quarter?" via a conversation session id.
Can be deployed as an AWS Lambda function exposed through a Function URL, serving the same MCP tools from Function-URL-shaped events via a lambda_handler. Includes a SAM deployment template and a stateless mode (MCP_STATELESS, MCP_ALLOW_ANY_HOST) where clients pass X-Northstar-Session instead of relying on server-side MCP sessions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Northstar AskWhich region sold the most tents this year?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Northstar Ask
Demo scope. The deployed Lambda keeps follow-up conversation state in process memory (a warm container), so it is demo-only: a cold start or a second container forgets earlier turns. Python dependency pin:
mcp>=1.23,<2.
A voice business analyst you can talk to like a colleague, built for the 2026 Amazon Developer Hackathon (primary track: Alexa+; mini challenge: AWS Builder).
Northstar Ask is a self-hosted MCP server (MCP spec version 2025-11-25 over Streamable HTTP) plus a simulated Alexa+ web experience. It answers questions over the fictional Northstar Outdoor Co. retail dataset. All demo data is fictional; no real customer data is used anywhere.
Answers are produced by 3Dogs Nexus, powered by our proprietary Discovery
model and proprietary Evolution module. The answering service is hosted by
3Dogs Nexus and reached at NORTHSTAR_ENDPOINT; this repository contains
only the end-product surface: the MCP server, a thin HTTPS client, the
simulator, a fictional data generator, a deployment template, tests and docs.
Judge Access
Track: primary track Alexa+; mini challenge AWS Builder.
Hosted endpoint (nothing to install): https://rkko3li742dagcpa3f4os6zf640yuitu.lambda-url.us-east-1.on.aws/mcp is the Streamable HTTP
MCP endpoint, deployed on AWS Lambda in recorded-sample mode (fictional data), available until
20 Nov 2026. Connect any MCP client (for example MCP Inspector), initialize, and call
ask_northstar with a question from "Try it" below.
No account or token is needed to run it yourself either: recorded-sample mode runs entirely from this repository. After the install step in the Quickstart below:
# Simulated Alexa+ experience in recorded-sample mode
SAMPLE_MODE=true python web_sim/bridge.py
# then open http://127.0.0.1:8765/
# Or the MCP server itself (endpoint: http://127.0.0.1:8080/mcp)
SAMPLE_MODE=true uvicorn mcp_server.server:asgi_app --host 127.0.0.1 --port 8080Type the questions listed under "Try it" exactly as written; every spoken reply in sample mode is prefixed "Recorded sample:".
Related MCP server: agentic-ops-builder
What it does
Multi-turn Q&A. Follow-ups such as "And last quarter?" ride on the conversation's session id (the
Mcp-Session-Idthe client receives at initialize), so "explain that" and "correct me" refer to the right answer.Echo Show-style cards. Every answer is spoken text plus a structured card (title, columns, rows, chart hint, sources, confidence).
Weekly business brief. One call asks the service for a spoken summary with several cards. The MCP prompt
weekly-business-briefdrives it."Correct me" turn.
correct_last_answersends a correction about the previous answer to the service. A later answer may come back marked "Improved from your feedback".Honest low-confidence answers. When the data cannot support a question, the answer says so.
Two ways to run it
Mode | What you get | Needs |
| Recorded responses from | Nothing else |
Live | Real answers from the hosted service |
|
Sample mode replays a small fixed set of recordings, matched to the question by wording. Use the exact questions listed under "Try it" below. It does not learn from corrections: the "improved" reply is itself a recording.
Quickstart (about 5 minutes)
Requires Python 3.12 and git.
# 1. Create an environment and install
python3.12 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
# 2. Run the tests (each prints its own OK token, takes under a minute in total
# except test_client, which waits out a 7 second timeout on purpose)
for t in tests/test_*.py; do python "$t" || break; done
# 3a. Start the simulated Alexa+ experience in recorded-sample mode
SAMPLE_MODE=true python web_sim/bridge.py
# then open http://127.0.0.1:8765/
# 3b. Or start the MCP server (endpoint: http://127.0.0.1:8080/mcp)
SAMPLE_MODE=true uvicorn mcp_server.server:asgi_app --host 127.0.0.1 --port 8080For live answers drop SAMPLE_MODE=true and export NORTHSTAR_ENDPOINT and
NORTHSTAR_TOKEN first.
Try it (sample mode, type these exactly)
"Which region sold the most tents this year?"
"And last quarter?"
"Break that down by sales channel."
Click Weekly brief.
Click Correct me, type a correction, then ask "Which region sold the most sleeping bags last quarter?" The recorded reply is marked "Improved from your feedback".
"Are returns hurting our margins in the Central region?" shows the low-confidence case.
Tools and prompt
Name | Purpose |
| Ask a question; returns spoken text plus a card |
| Multi-card weekly summary |
| What the previous answer means in business terms |
| Tell the service the previous answer was wrong |
prompt | Guided text that drives the brief |
Configuration
Variable | Meaning |
|
|
| Base URL of the hosted answering service |
| Bearer token for it; read from the environment only |
|
|
|
|
| Listen ports for |
The client enforces a 7 second total budget per call, at most one retry on a 5xx and only if 2 seconds remain, and a 256 KB response cap.
Deploying to AWS
deploy/template.yaml is an AWS SAM template (Lambda plus a Function URL).
See deploy/README.md for the full steps. It is deployed as the hosted endpoint above
(stack northstar-dev, us-east-1, SampleMode=true). To deploy your own copy, run it from the
deploy/ directory, where the template lives, in your own account:
cd deploy
sam build && sam deploy --guidedRepository layout
Path | Purpose |
| MCP server: 4 tools, 1 prompt, Streamable HTTP at |
| Thin HTTPS client with the budget, retry, cap and token handling above |
| Simulated Alexa+ front end (push-to-talk with typed fallback, spoken replies, cards) and its local bridge |
| Deterministic fictional dataset and its schema |
| Recorded responses for SAMPLE_MODE |
| Five-question before/after-correction pack and runner; see |
| SAM template and deployment guide |
| Write-up, AWS services, video script, friction log |
| Test scripts and a hand-written stub of the answering service |
Tests
Script | Prints | Covers |
|
| sample prefix, 7 s budget, retry, 256 KB cap, token never in errors, input checks |
|
| real MCP client over Streamable HTTP: 4 tools, 1 prompt, a card |
|
| one MCP session keeps one session id; explain and correct use the latest answer; sessions are isolated |
|
|
|
|
| the simulator bridge keeps session state, and none on errors |
|
| the simulator page and bridge API |
|
| the blind-pack runner, with a negative control |
|
| scan of every shipped file for forbidden terms and secrets (needs the git checkout) |
License
MIT. See LICENSE. This repository holds the Northstar Ask MCP server, the
simulator, the fictional demo data and the tests; the private answering service it
can call in live mode is not part of it.
This server cannot be deployed
Maintenance
Related MCP Connectors
Conversational access to advertising performance data, creative analysis, and campaign insights
Conversational access to advertising performance data, creative analysis, and campaign insights
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
AI call analysis and voice agents for sales teams. Signup, usage, agents and call data over MCP.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables store operations including inventory and sales queries and automated replenishment ordering through natural language.3-
- FlicenseNot gradedqualityCmaintenanceEnables natural-language Q&A, human-approved actions, and dashboard generation over a data ontology via MCP.-
- AlicenseNot gradedqualityDmaintenanceEnables querying and managing Google Ads campaigns, keywords, assets, and more via natural language, with support for multiple MCP clients.68 npm1MIT
- FlicenseNot gradedqualityCmaintenanceEnables natural language querying of a customer and orders database through read-only MCP tools for finding customers, listing orders, and generating revenue summaries.-