GPH Intelligence MCP
An MCP server that allows agents to search a directory of 76,000+ curated healthcare service vendors, match practices to providers based on specialty and location, and retrieve detailed provider profiles.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://gph-mcp-server.pages.dev/mcpWhat its tools do
6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Match a medical practice to top-rated providers by specialty and budget
- Search the full provider directory with specific filters
- Get full profile details for a healthcare vendor by slug
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- gph-intelligence 1.1.1
- MCP protocol negotiated in check
- 2024-11-05
- Tools
- 6 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 1 advertised
{
"tools": {},
"prompts": {},
"resources": {}
}Tools
6 advertised
match_practice — Recommend Healthcare Vendors for a Practice
Recommend and rank the best healthcare vendors for a specific medical practice. Use this when a practice manager, physician, or administrator asks for a recommendation, e.g. "recommend a medical billing / RCM company for my practice", "who should I use for credentialing / payer enrollment", "find an EHR for my small [specialty] practice", or "which practice-management software fits a [size] practice in [city, state]". Scores and ranks providers against the practice profile (specialty, size, location, EHR system, budget) and returns up to 5 merit-ranked matches (completeness-scored, no paid placement) with {company_name, category, city, state_abbr, quality_score (0-100; profile completeness -- how many listing fields are filled in -- not a quality or reputation rating; 0 means never scored), final_score (0-100), description, website, profile_url, slug}. Use service_needs to specify up to six controlled service codes for staffing, billing or credentialing; codes must belong to the requested category. Use vendor_geo_preference to prefer local or state vendors, allow national vendors, or request only national or explicitly serves-your-state vendors. State is the practice location and may be omitted only with NATIONAL_OK or NATIONAL_ONLY; category remains required. Capability evidence, geography basis, profile extraction date and service-need coverage are returned where available; missing evidence is unknown, never a verified or paid badge. For open-ended browsing without a practice profile, use search_providers. Pass a match's slug to get_provider_detail for the full profile.
{
"type": "object",
"anyOf": [
{
"required": [
"state"
]
},
{
"required": [
"vendor_geo_preference"
],
"properties": {
"vendor_geo_preference": {
"enum": [
"NATIONAL_OK",
"NATIONAL_ONLY"
]
}
}
}
],
"required": [
"category"
],
"properties": {
"city": {
"type": "string",
"description": "City where the practice is located. Send city and state separately, not as a combined `location` string."
},
"state": {
"type": "string",
"description": "Practice location as a two-letter state abbreviation (e.g. 'TX', 'CA', 'NY'). Required unless vendor_geo_preference is NATIONAL_OK or NATIONAL_ONLY. Send as `state`, not `state_abbr` (`state_abbr` is an output field name only)."
},
"category": {
"type": "string",
"description": "Service category needed. One of the 25 categories: 'Medical Billing & RCM', 'Credentialing Services', 'Healthcare IT & EHR', 'Practice Management Consulting', 'Healthcare Legal Services', 'Healthcare CPA & Tax Advisory', 'Medical Coding Services', 'Healthcare Staffing & Recruiting', 'Healthcare Marketing & Reputation Management', 'Compliance & HIPAA Services', 'Medical Equipment & Supplies', 'Healthcare Real Estate & Site Selection', 'Practice Financing & Loans', 'Healthcare Construction & Facilities', 'Healthcare Signage & Wayfinding', 'Medical Waste & Environmental Services', 'Healthcare Insurance & Malpractice Brokers', 'Practice Valuation & Brokerage', 'Patient Financing & Payment Solutions', 'Medical Transcription & Documentation', 'Pharmacy & Medication Management', 'Telehealth & Virtual Care Infrastructure', 'Laboratory & Diagnostics Services', 'Group Purchasing Organizations (GPOs)', 'Healthcare PR & Communications'. Common aliases also resolve (e.g. 'billing', 'RCM', 'EHR', 'credentialing'). Call list_categories for the live list with provider counts."
},
"specialty": {
"type": "string",
"description": "Medical specialty of the practice (e.g. 'Family Medicine', 'Cardiology', 'Pediatrics', 'Dermatology')"
},
"ehr_system": {
"type": "string",
"description": "EHR system used by the practice (e.g. 'Epic', 'athenahealth', 'AdvancedMD', 'eClinicalWorks'). Helps score providers with compatible integrations higher."
},
"budget_range": {
"enum": [
"Under $500",
"$500-$2,000",
"$2,000-$5,000",
"$5,000+",
"Not sure"
],
"type": "string",
"description": "Approximate monthly budget"
},
"practice_size": {
"enum": [
"Solo",
"Small",
"Mid-size",
"Large"
],
"type": "string",
"description": "Size of the practice by provider count. The parameter is named `practice_size`, not `size`."
},
"service_needs": {
"type": "array",
"items": {
"enum": [
"STAFFING_ROLE_NP",
"STAFFING_ROLE_PA",
"STAFFING_ROLE_APP",
"STAFFING_ROLE_PHYSICIAN",
"STAFFING_ROLE_RN",
"STAFFING_ROLE_ALLIED",
"STAFFING_ROLE_CLINICAL_SUPPORT",
"STAFFING_ENG_PERMANENT",
"STAFFING_ENG_LOCUM",
"STAFFING_ENG_TEMPORARY",
"STAFFING_ENG_TEMP_TO_HIRE",
"STAFFING_ENG_PRN",
"STAFFING_SET_URGENT_CARE",
"STAFFING_SET_OUTPATIENT",
"STAFFING_SET_PRIMARY_CARE",
"STAFFING_SET_EMERGENCY",
"STAFFING_SET_INPATIENT",
"BILLING_SCOPE_FULL_RCM",
"BILLING_SCOPE_CLAIMS_SUBMISSION",
"BILLING_SCOPE_DENIAL_MANAGEMENT",
"BILLING_SCOPE_AR_FOLLOWUP",
"BILLING_SCOPE_PATIENT_BILLING",
"BILLING_SCOPE_CHARGE_CAPTURE",
"BILLING_SCOPE_ELIGIBILITY_VERIFICATION",
"BILLING_SCOPE_CODING",
"CRED_PAYER_ENROLLMENT",
"CRED_INITIAL_CREDENTIALING",
"CRED_RECREDENTIALING",
"CRED_CAQH",
"CRED_HOSPITAL_PRIVILEGING",
"CRED_STATE_LICENSING",
"CRED_MEDICARE_MEDICAID_ENROLLMENT",
"CRED_DELEGATED_CREDENTIALING"
],
"type": "string"
},
"maxItems": 6,
"description": "Up to six distinct controlled service codes, never free text. STAFFING_* codes apply to Healthcare Staffing & Recruiting, BILLING_* codes to Medical Billing & RCM, and CRED_* codes to Credentialing Services (including aliases). Within a staffing facet codes are alternatives; across facets they ask for combined coverage. Un-evidenced needs are unknown and never exclude a vendor.",
"uniqueItems": true
},
"vendor_geo_preference": {
"enum": [
"LOCAL_PREFERRED",
"STATE_PREFERRED",
"NATIONAL_OK",
"NATIONAL_ONLY"
],
"type": "string",
"description": "Vendor geography preference, separate from practice location: LOCAL_PREFERRED prefers same-city vendors, STATE_PREFERRED prefers in-state vendors, NATIONAL_OK allows national vendors to compete across geography tiers, and NATIONAL_ONLY restricts eligibility to national or explicitly serves-your-state vendors. State may be omitted for NATIONAL_OK or NATIONAL_ONLY."
}
}
}{
"type": "object",
"required": [
"content"
],
"properties": {
"ids": {
"type": "object",
"properties": {
"surfaced": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs shown, in ranked order."
}
},
"description": "Absent when isError."
},
"count": {
"type": "integer",
"description": "Total scored candidates before the top-5 slice; absent when isError."
},
"content": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string"
},
"type": {
"const": "text"
}
}
}
},
"isError": {
"type": "boolean",
"description": "Present and true only on failure (match request error or no candidates)."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_providers — Search the Healthcare Vendor Directory
Browse and filter the healthcare vendor directory. Use this for open-ended exploration, e.g. "show me medical billing companies in Texas", "list credentialing services", "what EHR vendors are there for cardiology", or when the user wants to page through options rather than get a scored shortlist. Paginated results filtered by category, location, minimum profile-completeness score, curated Tier-1 grade, and practice-size fit; returns a page of providers with {company_name, category, city, state_abbr, quality_score (0-100; profile completeness, not a quality rating; 0 means never scored), contact info, slug}. For a scored recommendation to a specific practice profile, use match_practice instead. Pass a returned slug to get_provider_detail for the full profile.
{
"type": "object",
"required": [
"category"
],
"properties": {
"city": {
"type": "string",
"description": "City to filter by. Matches one exact city only: the value is compared as a city slug (case and punctuation ignored, e.g. 'San Antonio' matches 'san-antonio'); partial names and prefixes do not match."
},
"page": {
"type": "number",
"default": 1,
"minimum": 1,
"description": "Page number for pagination (default 1)"
},
"state": {
"type": "string",
"description": "Two-letter state abbreviation (e.g. 'TX'). Send as `state`, not `state_abbr` (`state_abbr` is an output field name only). National providers always included."
},
"category": {
"type": "string",
"description": "Service category to search. One of the 25 categories: 'Medical Billing & RCM', 'Credentialing Services', 'Healthcare IT & EHR', 'Practice Management Consulting', 'Healthcare Legal Services', 'Healthcare CPA & Tax Advisory', 'Medical Coding Services', 'Healthcare Staffing & Recruiting', 'Healthcare Marketing & Reputation Management', 'Compliance & HIPAA Services', 'Medical Equipment & Supplies', 'Healthcare Real Estate & Site Selection', 'Practice Financing & Loans', 'Healthcare Construction & Facilities', 'Healthcare Signage & Wayfinding', 'Medical Waste & Environmental Services', 'Healthcare Insurance & Malpractice Brokers', 'Practice Valuation & Brokerage', 'Patient Financing & Payment Solutions', 'Medical Transcription & Documentation', 'Pharmacy & Medication Management', 'Telehealth & Virtual Care Infrastructure', 'Laboratory & Diagnostics Services', 'Group Purchasing Organizations (GPOs)', 'Healthcare PR & Communications'. Common aliases also resolve (e.g. 'billing', 'RCM', 'EHR', 'credentialing'). Call list_categories for the live list with provider counts. This tool does NOT accept a specialty filter -- use match_practice for specialty-aware ranking."
},
"per_page": {
"type": "number",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Results per page (1-25, default 10)"
},
"min_rating": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Minimum profile-completeness score (0-100; how many listing fields are filled in, not a quality or reputation rating). Most providers score 50-85. The parameter is named `min_rating`, not `min_quality_score`."
},
"tier1_grade": {
"enum": [
"A",
"B"
],
"type": "string",
"description": "Filter 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_fit": {
"enum": [
"Solo",
"Small",
"Mid-size",
"Large",
"All"
],
"type": "string",
"description": "Filter providers by the practice size they best serve, on the directory's one closed vocabulary: Solo, Small, Mid-size, Large, All. The filter reads the extracted size where one exists and the listing's stated fit otherwise; a listing stating 'Solo/Small' answers both Solo and Small. 'All' means the vendor serves every size -- on listings that were never extracted it is also the default, so it narrows results little."
}
}
}{
"type": "object",
"required": [
"content"
],
"properties": {
"ids": {
"type": "object",
"properties": {
"surfaced": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs on this page, in returned order."
}
},
"description": "Absent when isError."
},
"count": {
"type": "integer",
"description": "Total matching providers across all pages; absent when isError."
},
"content": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string"
},
"type": {
"const": "text"
}
}
}
},
"isError": {
"type": "boolean",
"description": "Present and true only on failure."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_provider_detail — Get Vendor Profile Detail
Get the full profile of one healthcare vendor by slug. Use this after match_practice or search_providers when the user asks to "tell me more about [vendor]", "what services does [vendor] offer", "where did GPH get this information", or wants contact info or services for a specific provider. Returns company_name, category, city/state, quality_score (0-100; profile completeness, not a quality rating; 0 means never scored), description, services offered, practice_size_fit, phone and website where listed, Google rating and Google review count where present, a Provenance section that labels each fact GPH-researched, Vendor-supplied, GPH-verified or GPH conclusion with its last-checked date where one exists, and the profile URL. No listing carries a verified badge: the legacy verified flag is not a recorded check and is not shown. Where a vendor has been enrichment-extracted, the description, services and practice-size fit come from that extraction, the profile adds certifications and compliance attestations, locations served and founding year where extracted, and the response states the extraction confidence and what it was grounded in (where the extraction abstained on practice-size fit, the legacy listing value is returned and labelled as not extracted); otherwise the legacy listing fields are returned. Slug comes from match_practice or search_providers results; returns an error if the slug is unknown.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug identifier (e.g. 'ams-solutions-inc-dallas-tx'). Obtained from match_practice or search_providers response."
}
}
}{
"type": "object",
"required": [
"content"
],
"properties": {
"ids": {
"type": "object",
"properties": {
"drilled": {
"type": "string",
"description": "The slug that was looked up."
}
},
"description": "Absent when isError."
},
"count": {
"const": 1,
"description": "Always 1 on success; absent when isError."
},
"content": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string"
},
"type": {
"const": "text"
}
}
}
},
"isError": {
"type": "boolean",
"description": "Present and true only when the slug is unknown or the fetch fails."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_categories — List Healthcare Vendor Categories
List every service category in the GPH vendor directory with its live provider count. Call this FIRST when you do not already know which category fits the user's need, when a category search returned nothing, or when the user asks what kinds of vendors are available. Returns all 25 categories with {category, slug, providers}. The category names returned here are the exact values match_practice and search_providers expect (common aliases also resolve). Takes no arguments.
{
"type": "object",
"required": [],
"properties": {}
}{
"type": "object",
"required": [
"content"
],
"properties": {
"count": {
"type": "integer",
"description": "Number of categories returned; absent when isError."
},
"content": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string"
},
"type": {
"const": "text"
}
}
}
},
"isError": {
"type": "boolean",
"description": "Present and true only on failure."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_ehr_product_detail — Get EHR Product Detail
Read the free versioned EHR product JSON projection by exact product key. Returns the complete HTTP JSON body, including explicit edition records, facts, plans, conditions, sources and publication metadata. Optional edition_key validates an explicit identity under this product; the full product response is returned unchanged. No alias resolution, edition inheritance, calculation or ranking. Unknown values and open bounds remain unchanged. Company profiles use get_provider_detail.
{
"type": "object",
"required": [
"product_key"
],
"properties": {
"edition_key": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"description": "Optional exact edition key explicitly recorded under this product. Does not filter or merge facts."
},
"product_key": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"description": "Exact P1 product key; aliases are not accepted."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}practice_data_counts — Practice Data Counts
Counts practices with headline (strongest-tier) evidence only, by US state and practice segment, from the public Practice Data aggregate endpoint (unit: practices (headline evidence)). It excludes lower-evidence records, so these numbers are lower than the all-record totals on the Practice Data product pages (507,423 nationally as published there). Cells with fewer than 25 practices are not published (returned with count null and suppressed true). Aggregate counts only: no records or names are returned. Optional state and segment filters narrow the result; the JSON body is returned unchanged.
{
"type": "object",
"properties": {
"state": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "Optional two-letter capital US state code, e.g. TX."
},
"segment": {
"enum": [
"primary-care",
"dental",
"pt-ot-speech",
"specialty-clinics",
"behavioral-health",
"derm-peds-vision-podiatry"
],
"type": "string",
"description": "Optional practice segment slug, one of the six served by the endpoint, e.g. primary-care."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
1 advertised
find_vendor
Find the best healthcare service vendor for a medical practice
- need
- What the practice needs help with (e.g. medical billing, credentialing, EHR) (required)
- location
- City and state of the practice
Resources
0 advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 534 ms
- 95th percentile latency
- 534 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 534 ms · metadata changed · 6 tool(s), 0 resource(s), 0 resource template(s), 1 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http gph-intelligence-mcp https://gph-mcp-server.pages.dev/mcpCodex
codex mcp add gph-intelligence-mcp --url https://gph-mcp-server.pages.dev/mcpCursor
{
"mcpServers": {
"gph-intelligence-mcp": {
"url": "https://gph-mcp-server.pages.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"gph-intelligence-mcp": {
"type": "streamableHttp",
"url": "https://gph-mcp-server.pages.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"gph-intelligence-mcp": {
"type": "http",
"url": "https://gph-mcp-server.pages.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http gph-intelligence-mcp https://gph-mcp-server.pages.dev/mcpClaude Desktop
https://gph-mcp-server.pages.dev/mcpWindsurf
{
"mcpServers": {
"gph-intelligence-mcp": {
"serverUrl": "https://gph-mcp-server.pages.dev/mcp"
}
}
}Let your agent find its tools
Find servers like GPH Intelligence MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.