sh-mcp/servers/sh-mcp-ops/package.json
Adam Moussa 9bf85aef29 Add runnable sh-mcp-ops and sh-mcp-finance servers
Two thin composition-root servers over the shared transport (design.md §3):
- ops: internal-data, knowledge-base, google-maps, gmail, calendar, tasks,
  reminders. finance: qbo, payments (audited + redacted on egress).
- config from env only (no hardcoded ids/issuer/tables); SH_MCP_ENV selects
  LocalAuthProvider + dev clients (local) vs CognitoAuthProvider + real stubs
  (aws). Finance applies the 15-min finance-token TTL ceiling (design.md §2.5).
- index.ts is the only place .listen() is called; a Lambda handler placeholder
  is exported but not depended on.
- synth-only CDK stubs (no real IAM/Cognito/WAF) so 'cdk synth' has a valid app
  (build-plan §6); READMEs document local run, dev tokens, curl, MCP Inspector.
2026-06-26 12:48:26 -04:00

41 lines
1 KiB
JSON

{
"name": "@sh-mcp/server-ops",
"version": "0.1.0",
"description": "Sea Haven MCP ops-tier server — MCP (Streamable HTTP) + OpenAPI 3.1 over the ops tool registry",
"license": "UNLICENSED",
"private": true,
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"dev": "tsx watch src/index.ts",
"start": "node dist/index.js",
"build": "tsc --project tsconfig.json",
"typecheck": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"synth": "cdk synth >/dev/null"
},
"engines": {
"node": ">=24"
},
"dependencies": {
"@sh-mcp/calendar": "*",
"@sh-mcp/gmail": "*",
"@sh-mcp/google-maps": "*",
"@sh-mcp/internal-data": "*",
"@sh-mcp/knowledge-base": "*",
"@sh-mcp/reminders": "*",
"@sh-mcp/shared": "*",
"@sh-mcp/tasks": "*",
"express": "5.2.1"
},
"devDependencies": {
"@types/node": "^22.0.0",
"aws-cdk-lib": "2.260.0",
"constructs": "10.6.0",
"tsx": "4.22.4",
"typescript": "^5.5.0",
"vitest": "^2.0.0"
}
}