fountainheadz-666/alight-mcp-server
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 bynpm 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/getHealthDatachangereturns connection refused, start the backing health-data service — this project depends on that service for data. - The
src/index.tsfile 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.jsonfile and a small fallback inmakeNWSRequest.
Next steps you might want me to do
- Add
src/types.tsand 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 examplestart: node build/index.js).