Open Quality MCP

Connect a coding agent or IDE to the measure corpus. It can search measures, read their CQL, SQL and FHIR artifacts with provenance attached, read what implementers already learned about them, and load a measure as a CRMI Bundle.

https://openquality.us/mcp

Streamable HTTP, read-only, no account or key. Every answer names the commit it was served from.

Connect

Claude Code

claude mcp add --transport http openquality https://openquality.us/mcp

Cursor

~/.cursor/mcp.json, or .cursor/mcp.json in a project:

{
  "mcpServers": {
    "openquality": { "url": "https://openquality.us/mcp" }
  }
}

VS Code

.vscode/mcp.json:

{
  "servers": {
    "openquality": { "type": "http", "url": "https://openquality.us/mcp" }
  }
}

Any other client, or to look first

npx @modelcontextprotocol/inspector

Choose Streamable HTTP and enter https://openquality.us/mcp.

Local, over stdio

The same server, run by your client as a local process (Node 22 or later):

npx -y @openquality/mcp

In Claude Code:

claude mcp add openquality -- npx -y @openquality/mcp

In a JSON config (Cursor, Claude Desktop):

{
  "mcpServers": {
    "openquality": { "command": "npx", "args": ["-y", "@openquality/mcp"] }
  }
}

By default it reads GitHub at main. Add --ref <sha> to pin a commit, or --root <clone> to read a local clone with no network.

Tools

ToolWhat it returns
search_measuresPackages matching a CMS id, title words, steward or package id.
get_measureOne package: license, provenance (the upstream commit, whether it is unmodified or derived, and exactly what changed), value set references, file list, and known issue summaries.
get_artifactThe raw text of one file the package lists: CQL, SQL, a ViewDefinition, or a FHIR Measure.
get_bundleThe package as a CRMI artifact Bundle, the shape CRMI's $package returns.
known_issuesInterpretation issues, defects, test cases and implementation notes, with their full text.

Try asking

What do implementers already know about CMS122?
Show me the CQL for CMS146 and tell me what was changed from upstream.
Load the CRMI Bundle for the pharyngitis measure.

What it is and is not

Read-only. Contributing a measure, a test case or an interpretation issue still happens on GitHub. The server only reads the files the published catalogue lists.

The content policy travels with every answer. Value sets are referenced by OID or canonical URL and never embedded. CPT display text is removed, and codes and code systems are kept. Packages are repackaged copies, not authoritative publications. See TERMINOLOGY.md.

Not a validator. Every package is at Level 1. The server does not claim that any CQL translates, and it does not run measures.