Skip to main content
Glama
Crindo2

GPH Intelligence - Healthcare Vendor Finder

by Crindo2

GPH Intelligence - Healthcare Vendor Finder

An MCP server that gives AI agents access to 76,000+ curated healthcare service vendors across the United States. Built for practice managers, healthcare AI developers, and anyone building tools for the medical practice market.

What It Does

The GPH Intelligence MCP server provides structured access to GetPracticeHelp's database of healthcare service vendors -- medical billing companies, credentialing services, EHR consultants, healthcare attorneys, compliance firms, and more -- across 25 categories and all 50 states.

Related MCP server: ServiceGraph

Tools

match_practice

Find the best healthcare service vendors for a medical practice based on specialty, size, location, EHR system, and budget. Returns ranked matches with quality scores.

Parameters:

  • category (required) -- Service category (e.g. "Medical Billing & RCM", "Credentialing Services")

  • state (required) -- Two-letter state abbreviation (e.g. "TX", "CA")

  • specialty -- Practice specialty (e.g. "Family Medicine", "Cardiology")

  • practice_size -- "Solo", "Small", "Mid-size", or "Large"

  • city -- City name

  • ehr_system -- EHR system in use (e.g. "Epic", "athenahealth")

  • budget_range -- Monthly budget range

search_providers

Search the vendor directory by category, location, and quality rating. Returns paginated results.

Parameters:

  • category (required) -- Service category to search

  • state -- Two-letter state abbreviation

  • city -- City name filter

  • min_rating -- Minimum quality score (0-100)

  • per_page -- Results per page (default 10, max 25)

  • page -- Page number

get_provider_detail

Get the full profile for a specific vendor including description, services, contact information, and quality score.

Parameters:

  • slug (required) -- Vendor slug identifier (e.g. "ams-solutions-inc-dallas-tx")

Usage

MCP Endpoint

https://gph-mcp-server.pages.dev/mcp

Connect via Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "gph-intelligence": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://gph-mcp-server.pages.dev/mcp"]
    }
  }
}

No API key required.

Data Coverage

  • 76,000+ curated healthcare service vendors

  • 25 service categories across 6 super-categories

  • All 50 states + DC

  • Quality scores based on Google ratings, review volume, and verification status

  • Monthly data refreshes

Categories

Operations & Administration Medical Billing & RCM, Credentialing Services, Medical Coding, Practice Management Consulting, Healthcare Staffing & Recruiting

Technology Healthcare IT & EHR, Telehealth & Virtual Care, Medical Transcription & Documentation

Legal, Finance & Compliance Healthcare Legal Services, Healthcare CPA & Tax Advisory, Compliance & HIPAA, Practice Financing, Practice Valuation & Brokerage, Malpractice Insurance

Facilities & Equipment Healthcare Construction & Facilities, Medical Equipment & Supplies, Healthcare Real Estate, Signage & Wayfinding, Medical Waste & Environmental

Growth & Marketing Healthcare Marketing, Patient Financing, Group Purchasing Organizations, PR & Communications

Clinical Support Pharmacy & Medication Management, Laboratory & Diagnostics

API Access

Free: 100 calls per IP per day, no API key required.

For bulk or unmetered access, license the dataset at getpracticehelp.com/data-licensing/

Troubleshooting

  • No results returned -- broaden your query. category is required, so make sure it is set; then try removing the city/min_rating filters or widening the state (national providers are always included).

  • HTTP 429 (rate limited) -- the free tier allows 100 calls per IP per day, resetting at 00:00 UTC. For higher volume, license the dataset (see API Access above).

  • Can't connect -- point your client at the remote endpoint, no API key required:

    npx -y mcp-remote https://gph-mcp-server.pages.dev/mcp
  • 403 from a browser -- the /mcp endpoint validates the Origin header to prevent DNS rebinding. Standard MCP clients (Claude Desktop, mcp-remote, server-to-server) send no Origin header and connect fine; only disallowed browser origins are blocked.

  • Support -- questions or higher-volume access requests: cbeggroup@gmail.com

License

MIT

Available Tools

3 tools
get_provider_detailGet Provider DetailA
Read-onlyIdempotent
Inspect

Get the full profile of one healthcare service provider identified by slug: company_name, category (plus super_category grouping), description, services_tags (comma-delimited list of services offered), website, phone, city/state, quality_score (0-100), verified status, listing tier (free/paid), practice_size_fit, and reviews with review_count and average_rating. Slug comes from match_practice or search_providers results. Returns an error if the slug is unknown.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesProvider slug identifier (e.g. 'ams-solutions-inc-dallas-tx'). Obtained from match_practice or search_providers response.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint true, so the tool is clearly a safe read operation. The description adds that it returns an error for unknown slugs, which is useful behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and then details the returned fields. It is slightly verbose with the list of fields, but each sentence adds value. Could be trimmed slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema, the description compensates by listing all key return values. It also provides workflow context (slug from siblings) and error behavior, making it complete for an agent to understand usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, but the description adds value by explaining the slug's origin and format (e.g., 'ams-solutions-inc-dallas-tx') and how it is obtained, which goes beyond the schema's description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool gets the full profile of one healthcare service provider by slug, listing specific fields. It distinguishes itself from siblings by mentioning that the slug comes from match_practice or search_providers results, which clarifies its role in the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use the tool (after obtaining a slug from sibling tools) and mentions that an error is returned for unknown slugs, implying when not to use. However, it does not explicitly state when alternatives might be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

match_practiceMatch Practice to ProvidersA
Read-onlyIdempotent
Inspect

Score and rank healthcare service providers for a specific medical practice profile (specialty, size, location, EHR system, budget). Returns up to 5 ranked matches with {company_name, category, city, state_abbr, quality_score (0-100), final_score (0-100), verified status, description, website, profile_url, slug}. Use this when the user has practice-specific criteria and wants scored recommendations — for open-ended browsing, use search_providers instead. Pass a match's slug to get_provider_detail for the full profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYesService category needed (e.g. 'Medical Billing & RCM', 'Credentialing Services', 'Healthcare IT & EHR', 'Practice Management Software')
specialtyNoMedical specialty of the practice (e.g. 'Family Medicine', 'Cardiology', 'Pediatrics', 'Dermatology')
practice_sizeNoSize of the practice by provider count
cityNoCity where the practice is located
stateYesTwo-letter state abbreviation (e.g. 'TX', 'CA', 'NY')
ehr_systemNoEHR system used by the practice (e.g. 'Epic', 'athenahealth', 'AdvancedMD', 'eClinicalWorks'). Helps score providers with compatible integrations higher.
budget_rangeNoApproximate monthly budget

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows it's safe and idempotent. The description adds behavioral context: returns up to 5 ranked matches, mentions scoring based on EHR compatibility, and outlines the return fields. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: it begins with the core purpose, lists return fields, provides usage guidelines, and mentions related tools. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 parameters, no output schema, and moderate complexity, the description is complete. It covers purpose, return structure, when to use versus alternatives, and how to act on results. Annotations handle safety, so no gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds extra context for the 'ehr_system' parameter ('Helps score providers with compatible integrations higher'), improving understanding beyond the schema. However, it does not add meaning for other parameters, staying at a solid 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb (score and rank), resource (healthcare service providers), and scope (for a specific medical practice profile). It lists the criteria (specialty, size, etc.) and return fields, and explicitly distinguishes from the sibling tool 'search_providers'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance provided: 'Use this when the user has practice-specific criteria and wants scored recommendations — for open-ended browsing, use search_providers instead.' Also tells the user to pass a match's slug to 'get_provider_detail' for the full profile.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_providersSearch Provider DirectoryA
Read-onlyIdempotent
Inspect

Paginated browse of the healthcare service provider directory filtered by category, location, and minimum quality score. Returns a page of providers with {company_name, category, city, state_abbr, quality_score (0-100), verified status, contact info, slug}. Use this for open-ended exploration and filtering — for scored recommendations to a specific practice profile, use match_practice instead. Pass a returned slug to get_provider_detail for the full profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYesService category to search (e.g. 'Medical Billing & RCM', 'Credentialing Services')
stateNoTwo-letter state abbreviation (e.g. 'TX'). National providers always included.
cityNoCity name to filter by (partial match supported)
min_ratingNoMinimum quality score (0-100). Most providers score 50-85.
tier1_gradeNoFilter to the curated Tier-1 provider set by grade: 'A' (top-graded) or 'B' (strong). Tier-1 is a hand-reviewed ~4,400-provider subset; most directory records are not Tier-1, so this narrows results sharply. Omit to search the full directory.
practice_size_fitNoFilter providers by the practice size they best serve.
per_pageNoResults per page (1-25, default 10)
pageNoPage number for pagination (default 1)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only and idempotent. The description adds value by detailing pagination (page, per_page) and specifying the exact fields returned. It does not mention any destructive or authentication requirements, but those are covered by annotations. A small omission is lack of mention about result ordering or completeness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, front-loaded with purpose and return fields. It efficiently separates usage guidance and sibling differentiation. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool complexity (8 params, 1 required) and rich annotations, the description covers the main purpose, output fields, and sibling relationships. It lacks explicit mention of error conditions or ordering, but these are not critical for a browse tool. Overall, it is sufficiently complete for an AI agent to understand selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description mentions some parameters (category, location, min_rating) and ties per_page and page to pagination, but adds little extra meaning beyond what the schema already provides. No additional context for tier1_grade or practice_size_fit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a 'paginated browse of the healthcare service provider directory' with specific filters (category, location, minimum quality score) and lists return fields. It also distinguishes from siblings by directing to match_practice for scored recommendations and to get_provider_detail for full profiles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool ('open-ended exploration and filtering') and when not to ('for scored recommendations to a specific practice profile, use match_practice instead'). Also advises passing a returned slug to get_provider_detail.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • First observedget_provider_detail
    • First observedmatch_practice
    • First observedsearch_providers

TDQS

A4.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: get_provider_detail retrieves full profiles for a specific slug, match_practice provides scored recommendations for a practice profile, and search_providers enables open-ended browsing with filters. Descriptions explicitly indicate when to use each, preventing ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: get_provider_detail, match_practice, search_providers. The naming is predictable and aligns with the functionality.

Tool Count5/5

With only 3 tools, the server is well-scoped for its purpose as a healthcare vendor finder. Each tool covers a core operation (browse, match, detail) without unnecessary bloat or deficiency.

Completeness5/5

The tool surface covers the full user journey: searching/browsing providers, getting scored matches for a specific practice, and retrieving detailed profiles. No obvious gaps exist for the intended use case.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Access ServiceGraph — a structured catalog of 100k+ US professional-services firms (law, marketing, consulting, accounting, IT services, architecture, engineering, HR, PR, design) with filters for industry, services offered, location, size, ratings, and third-party listing presence.
    61
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Country-agnostic MCP-callable directory for AI agents to find local SMBs — realtors, insurance agents, medical practitioners — by category, location, or natural-language query. Returns business catalog data and UTM-tagged booking URLs (zero PII).
    5
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Source-provenanced US federal healthcare provider data over MCP. Resolve any NPI or CCN across NPPES, OIG LEIE, SAM.gov, state Medicaid exclusions, CMS PECOS, Care Compare, and Open Payments — every field carries a 14-field provenance contract, and an "excluded or compromised anywhere" check runs on every lookup.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Crindo2/gph-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server