microsoft / microsoft/documentdb-mcp
[DX] Add startup self-check / config validator
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 4
- Avg merge
- 6d 21h
- Merged PRs (30d)
- 3
Description
Goal
Operators should see how their config parsed before the first tool call fails.
What to ship
On server startup (after parsing CONNECTION_PROFILES and all env vars), log one summary line per profile:
[config] profile=dev tiers=[read] dbs=fleet collections=fleet:vehicles,maintenance auth=connection-string [config] profile=prod tiers=[read,write] readOnly=false dbs=* auth=entra [config] WARN: profile 'archive' has allowedDatabases=[] (explicit deny-all) — confirm this is intentional
Plus a --validate CLI flag that:
- Parses config, prints the summary, and exits 0/1 without starting the server.
- Useful in CI / pre-deploy hooks.
Acceptance criteria
- One log line per profile at startup, at INFO level.
- Empty-array allowlists (
[]) trigger a WARN line (catches the footgun). --validateflag exits non-zero on any parse error.- New tests cover both happy path and
[]-warn path.
Why
Operators currently learn how their config parsed only when a tool call fails. Print it at boot — catches typos cheaply.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the TypeScript config parser, server startup entry point, CLI argument handling, and existing configuration tests. Trace how CONNECTION_PROFILES and environment variables are parsed, then verify that startup logs one summary per profile, [] allowlists warn, and --validate reports parse failures without starting the server.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 62/100