alight-mcp-server

fountainheadz-666/alight-mcp-server

3.1

If you are the rightful owner of alight-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This document provides a structured overview of a custom Model Context Protocol (MCP) server designed to manage data assignments for users.

alight-mcp-server

alightmcp

Small MCP (Model Context Protocol) helper that fetches health-plan data from a local HTTP endpoint and exposes MCP tools over stdio.

This repository contains a tiny MCP server implemented in TypeScript that calls a local service which exposes health data at:

  • /getHealthDatachange — returns health data (plan-level)
  • getHealthDatachange/{user} — returns health data for a specific user

Contents

  • src/index.ts — entry point (MCP server and tool handlers)
  • build/ — compiled JavaScript output (created by npm run build)
  • package.json — project manifest (build script)

Quick start

Initialize a new npm project npm init -y

Install dependencies npm install @modelcontextprotocol/sdk zod@3 npm install -D @types/node typescript**

Prerequisites

  • Node.js (16+ recommended)
  • The health-data service running on localhost:3000 (this project queries that service)

Build

Run from the project root:

npm install
npm run build

Run (locally)

After building you can run the compiled server directly:

node build/index.js

Or call the underlying health-data endpoints with curl for quick checks:

# plan-level
curl -sS http://localhost:3000/getHealthDatachange | jq .

# user-level
curl -sS http://localhost:3000/getHealthDatachange/999999999 | jq .

What the MCP tools provide

  • get-initial-healthdata-assignment — returns a human-friendly message describing the plan's initial value (OPT-ID, CV-CAT-ID, PR-AT).
  • get-healthdata-assignment-user — returns the health-data for a given user id (pretty-printed JSON in the current implementation).

Types and shape

The project uses a small set of interfaces describing the health-data shape (InitialValue, UpdatedContextValue, HealthData). Example of an initial value:

export const initialValueMedical = {
  contextId: 4004,
  actualOptid: 3501,
  actualCoverageCategory: 20,
  actualcoverageId: 3501,
  actualPriceAmount: 500,
};

Notes & troubleshooting

  • If curl http://localhost:3000/getHealthDatachange returns connection refused, start the backing health-data service — this project depends on that service for data.
  • The src/index.ts file formats responses and currently expects the remote API to return the JSON shape shown above.
  • If you want offline testing, consider adding a src/mock-healthdata.json file and a small fallback in makeNWSRequest.

Next steps you might want me to do

  • Add src/types.ts and import the interfaces (I prepared this earlier).
  • Persist last responses into a mock/ file for offline test runs.
  • Add a start script to package.json (for example start: node build/index.js).