microsoft / microsoft/documentdb-mcp

[DX] Add startup self-check / config validator

Open
#55 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dx release-readiness tier-1
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).
  • --validate flag 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.