# io.github.mattlsmith/navmds (remote · www.navmds.com)

Research 7,400+ US doctors: search, semantic search, profiles, reviews & procedure pricing.

- Trust score: 69/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `www.navmds.com`: 69/100 (this document), [markdown](https://verifymcp.io/servers/mattlsmith-navmds/api-mcp.md), [page](https://verifymcp.io/servers/mattlsmith-navmds/api-mcp)

## Channel facts

- Endpoint: `https://www.navmds.com/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 12 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 88/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1291 tokens (~107/item across 12 items; 12 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http mattlsmith-navmds https://www.navmds.com/api/mcp
```

### Codex

```toml
[mcp_servers.mattlsmith-navmds]
url = "https://www.navmds.com/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mattlsmith-navmds": {
      "type": "remote",
      "url": "https://www.navmds.com/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add mattlsmith-navmds --url https://www.navmds.com/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  mattlsmith-navmds:
    url: "https://www.navmds.com/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "mattlsmith-navmds": {
      "type": "http",
      "url": "https://www.navmds.com/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 68, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 69, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 66, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 66)

First indexed and scored.

## MCP tools (12)

### `search_doctors` (~160 tokens)

Search doctors by procedure & location

Find doctors by procedure/specialty, optionally filtered by US state and city. Uses NavMDs' pre-computed search index (fast, ranked by rating + review volume). Use this when you have a concrete procedure (e.g. 'rhinoplasty', 'botox', 'tummy tuck'). For open-ended natural-language queries, use semantic_search_doctors instead.

Input parameters:

- `city` (string): City name, e.g. 'Miami'.
- `limit` (integer): Max results (default 20).
- `procedure` (string, required): Procedure or specialty, e.g. 'rhinoplasty', 'breast augmentation', 'botox'.
- `state` (string): US state name, e.g. 'California' or 'Florida'.

### `find_local_specialists` (~194 tokens)

Curated 'best {procedure} doctors in {city}' guide

Return NavMDs' curated city guide for a procedure: the ranked specialists (the city's OWN doctors first, then the nearest within an adaptive radius), the typical local price range, the average rating, the share offering free consultations, and the canonical navmds.com page URL to cite. This is the best tool for 'who are the best <procedure> doctors in <city>' questions — it mirrors NavMDs' editorial city pages. If no curated guide exists for that city+procedure, it says so; fall back to search_doctors with a nearby larger city.

Input parameters:

- `city` (string, required): City name, e.g. 'Beverly Hills', 'Miami'.
- `procedure` (string, required): Procedure/specialty, e.g. 'rhinoplasty', 'breast augmentation', 'botox'.
- `state` (string, required): US state name, e.g. 'California', 'Florida'.

### `semantic_search_doctors` (~99 tokens)

Natural-language doctor search

Search NavMDs' 7,400+ doctor directory with a natural-language query, e.g. 'board-certified facelift surgeon in Los Angeles with great reviews and free consults'. Powered by Gemini embeddings + cosine similarity over full doctor profiles. Best tool for open-ended or multi-attribute questions.

Input parameters:

- `limit` (integer): Max results (default 15).
- `query` (string, required): Natural-language description of the doctor you're looking for.

### `get_doctor` (~87 tokens)

Get full doctor profile

Fetch a doctor's complete NavMDs profile by slug (the id returned by the search tools, or the last path segment of a navmds.com/doctor/<slug> URL). Returns specialty, locations, ratings, overview, procedures, pricing, consultation fee, FAQ and verification status.

Input parameters:

- `slug` (string, required): Doctor slug, e.g. 'dr-jane-smith-md'.

### `get_doctor_reviews` (~47 tokens)

Get patient reviews for a doctor

Return published (moderation-approved) patient reviews for a doctor by slug.

Input parameters:

- `limit` (integer): Max reviews (default 20).
- `slug` (string, required): Doctor slug.

### `get_procedure_costs` (~90 tokens)

Get pricing for a procedure

Aggregate what a procedure costs across NavMDs doctors — combining patient-reported costs and practice-website pricing. Optionally narrow to a state/city. Returns min/median/max/average plus sample practice quotes.

Input parameters:

- `city` (string): City filter.
- `procedure` (string, required): Procedure name, e.g. 'rhinoplasty'.
- `state` (string): US state filter.

### `list_procedures` (~54 tokens)

List available procedures

List the procedures/specialties covered by NavMDs, with the number of doctors for each. Useful for grounding a search.

Input parameters:

- `limit` (integer): Max procedures (default 100, ordered by doctor count).

### `list_locations` (~61 tokens)

List covered locations

List states/cities where NavMDs has doctors, with doctor counts. Useful for grounding a location filter.

Input parameters:

- `limit` (integer): Max locations (default 150, ordered by doctor count).
- `state` (string): Filter to a single state name.

### `search_community` (~163 tokens)

Search NavMDs community discussions

Search patient discussion threads on community.navmds.com — the NavMDs forum where people discuss recovery timelines, what procedures actually cost them, choosing a surgeon, and what to expect. Use this for lived-experience questions ('what is rhinoplasty recovery like', 'how much did people actually pay for a tummy tuck', 'how do I pick a surgeon') where the doctor-directory tools can't help. Returns thread titles, categories, excerpts and canonical URLs; pass an id to get_community_thread for the full discussion. Community posts are patient discussion, not medical advice.

Input parameters:

- `limit` (integer): Max threads (default 10).
- `query` (string, required): Free-text search, e.g. 'rhinoplasty recovery swelling' or 'tummy tuck cost'.

### `get_community_thread` (~116 tokens)

Get a full community discussion

Fetch a complete NavMDs community thread by id (the id returned by search_community, or the trailing number of a community.navmds.com/t/<slug>/<id> URL) — the original question plus every reply, in order. Use after search_community when you need the actual answers rather than an excerpt. Community posts are patient discussion, not medical advice.

Input parameters:

- `id` (integer, required): Community topic id, e.g. 117.
- `limit` (integer): Max posts to return (default 30).

### `search` (~62 tokens)

Search (connector-compatible)

Search NavMDs doctors by free-text query. Returns a list of {id, title, url} results. Pass an id to the `fetch` tool to retrieve the full profile. (OpenAI connector-compatible.)

Input parameters:

- `query` (string, required): Free-text search query.

### `fetch` (~54 tokens)

Fetch document (connector-compatible)

Retrieve a full doctor profile by id (the slug returned from `search`). Returns {id, title, text, url, metadata}. (OpenAI connector-compatible.)

Input parameters:

- `id` (string, required): Doctor slug returned by the search tool.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/mattlsmith-navmds/api-mcp#diagnostics

## Score history

- 2026-08-03: 69
- 2026-08-02: 69
- 2026-08-01: 68
- 2026-07-31: 68
- 2026-07-30: 69
- 2026-07-29: 68
- 2026-07-28: 67
- 2026-07-27: 66
- 2026-07-26: 66

## Links

- Remote endpoint: https://www.navmds.com/api/mcp
- Repository: https://github.com/mattlsmith/navmds
- Website: https://www.navmds.com/
- Changelog RSS feed: https://verifymcp.io/servers/mattlsmith-navmds/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/mattlsmith-navmds/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/mattlsmith-navmds/api-mcp
