Skip to main content
Glama
iket72183-collab

BDT Ops Desk MCP Server

BDT Ops Desk

Founder ops assistant for BDT Talent Group — Amazon Developer Hackathon 2026 (Alexa+ track + AWS Builder mini-challenge).

Self-hosted MCP server over Streamable HTTP (protocol 2025-11-25 via @modelcontextprotocol/sdk) plus a simulated Alexa+ web chat for demos without Preview access.

Tools

Tool

Purpose

get_linkedin_news_digest

Fixture LinkedIn-style digest (headline / soWhat / tag)

get_github_hygiene

Open PRs, stale issues, failing checks (live GitHub API or fixture)

get_daily_ops_brief

Combined brief via Amazon Bedrock amazon.nova-pro-v1:0 (mock fallback)

Related MCP server: SecondBrain MCP Server

Quick start

cd bdt-ops-desk
cp .env.example .env
npm install
npm test
npm run build
npm start

Dev (hot reload):

npm run dev

Open the simulated Alexa+ UI: http://127.0.0.1:3000/

MCP endpoint: POST http://127.0.0.1:3000/mcp

Optional env

See .env.example:

  • MCP_AUTH_TOKEN — when set, require Authorization: Bearer … (401 without WWW-Authenticate)

  • GITHUB_TOKEN + GITHUB_REPOS — live hygiene; otherwise fixtures

  • AWS default credential chain + AWS_REGION / BEDROCK_MODEL_ID — live Bedrock; otherwise mock brief

Do not commit secrets. Prefer IAM roles in deployed environments.

Demo: curl initialize + tools/list

# Initialize (stateless JSON response)
curl -sS http://127.0.0.1:3000/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2025-11-25' \
  -d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"initialize",
    "params":{
      "protocolVersion":"2025-11-25",
      "capabilities":{},
      "clientInfo":{"name":"curl","version":"0.0.1"}
    }
  }'

# tools/list
curl -sS http://127.0.0.1:3000/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2025-11-25' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

If MCP_AUTH_TOKEN is set, add -H "Authorization: Bearer $MCP_AUTH_TOKEN" to both calls.

Alexa+ track notes

  1. This repo imports and runs @modelcontextprotocol/sdk at runtime (StreamableHTTPServerTransport).

  2. Transport is Streamable HTTP on POST /mcp (not legacy standalone HTTP+SSE).

  3. Simulated UI proves the agent loop without Alexa+ Preview.

  4. Later registration (when you have Preview): use the Alexa+ MCP Toolkit / alexa-ai CLI to add an Add-on Agent Skill pointed at your public HTTPS MCP URL, with Bearer token matching MCP_AUTH_TOKEN.

  5. Phase 2: OAuth 2.1 / PRM for production account linking (out of scope for v1).

AWS Builder mini-challenge

  • Bedrock Runtime InvokeModel with Nova Pro in us-east-1 for get_daily_ops_brief

  • Dockerfile included for ECS / Fargate / AgentCore-ready container packaging

  • Document IAM: bedrock:InvokeModel on the chosen model ID; no long-lived keys in the repo

Scripts

Script

Action

npm run build

Compile TypeScript + copy static assets

npm start

Run compiled server

npm run dev

tsx watch for local iteration

npm test

Minimal MCP initialize + tools/list smoke tests

License

MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude and other LLMs to perform enterprise business operations through natural language, such as customer management, device eligibility checks, compliance reviews, invoice lookups, and support case creation, while hiding the underlying technologies and service integrations.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables semantic and keyword search across locally indexed PDF shelves—device manuals, meeting minutes, and scientific papers—with date, device, and author filters, returning structured citations and neighbouring passage context for a speech assistant. It also exposes shelf and document metadata, plus a reindex signal, over streamable HTTP backed by Postgres with pgvector.
    Apache 2.0