# Contributing to @opdstar/nhi-mcp Thanks for your interest! This project is Taiwan's first public NHI MCP server, maintained by the [OPDSTAR](https://opdstar.com) team. ## Ground rules 1. **All tools must be read-only** โ€” no writes, no mutations, no personal data 2. **All data must come from public NHI sources** โ€” we do not expose OPDSTAR's private audit engine or AI-generated content 3. **Every tool response must include `powered_by` and `source_url`** โ€” brand attribution is non-negotiable 4. **Chinese and English** โ€” docs and comments should be bilingual where practical; code comments may be either ## What we welcome - ๐Ÿ› **Bug reports** โ€” wrong data, crash, unexpected tool behavior - ๐ŸŒ **Translation fixes** โ€” better English / Chinese wording in tool descriptions - ๐Ÿ“š **Example configs** โ€” new MCP clients we haven't documented yet - ๐Ÿงช **Test coverage** โ€” more offline unit tests - โšก **Performance** โ€” smarter caching, faster tool calls ## What needs discussion first (open an issue before PR) - ๐Ÿ†• **New tools** โ€” must justify: (a) public data source, (b) clear query pattern, (c) no overlap with closed OPDSTAR features - ๐Ÿ”„ **Breaking API changes** โ€” tool name / argument / response shape - ๐Ÿ” **Auth / API key support** โ€” currently public; any gating changes product direction ## What we will not accept - โŒ Tools that generate clinical recommendations (SaMD boundary) - โŒ Tools that call OPDSTAR's private audit engine / prompt templates - โŒ Bundling other people's NHI datasets without permission - โŒ Removal of `powered_by` / `source_url` attribution ## Development setup ```bash git clone https://github.com/tatsuju/opdstar-nhi-mcp.git cd opdstar-nhi-mcp npm install npm test # vitest, offline npm run typecheck # tsc strict npm run build # tsup โ†’ dist/ ``` ## Testing against the real API ```bash node dist/index.js # stdio MCP server, talks to opdstar.com ``` Pipe a JSON-RPC frame in via stdin (see `examples/` once populated) or plug into Claude Desktop via `claude_desktop_config.json`. For staging: ```bash OPDSTAR_API_BASE=https://staging.opdstar.com/api/mcp node dist/index.js ``` ## Commit conventions - `feat(tool): add lookup_X` โ€” new tool - `fix(client): handle 503 gracefully` โ€” bug fix - `docs: update claude_desktop example` โ€” docs only - `chore(deps): bump mcp sdk to 1.1.0` โ€” dependency bump ## Code of conduct Be kind. We're building infrastructure for Taiwanese healthcare โ€” patience and clarity go a long way. For sensitive issues (security, misuse), email `support@opdstar.com` instead of filing a public issue.