home / mcp / practice fusion mcp server

Practice Fusion MCP Server

Provides a full MCP server with Practice Fusion data access, workflow prompts, and tools via STDIO and HTTP transports.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "durvester-mcp-scheduler-bot": {
      "url": "http://127.0.0.1:3000/mcp",
      "headers": {
        "HTTP_HOST": "127.0.0.1",
        "HTTP_PORT": "3000",
        "PF_API_URL": "https://qa-api.practicefusion.com",
        "PF_CLIENT_ID": "YOUR_CLIENT_ID",
        "PF_TOKEN_PATH": "/ehr/oauth2/token",
        "TRANSPORT_TYPE": "http",
        "PF_CALLBACK_URL": "http://localhost:3456/oauth/callback",
        "PF_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
        "PF_AUTHORIZE_PATH": "/ehr/oauth2/auth"
      }
    }
  }
}

You can run a complete Practice Fusion MCP Server locally or remotely to access healthcare tools, resources, and prompts via MCP clients. It supports STDIO for local workflows and HTTP for remote integrations, with OAuth-based authentication and structured data access across patients, scheduling, facilities, and documents.

How to use

Set up the server in either STDIO or HTTP mode, then connect your MCP client to the appropriate endpoint. In STDIO mode you run the server locally and use it directly from a desktop or local environment. In HTTP mode you expose the MCP endpoint over the network, enabling remote clients to initialize sessions, call tools, and receive real-time updates via server-sent events.

How to install

Prerequisites: you need Node.js 18+ and npm.

Step-by-step commands to install and build the server are shown below. Each command is a separate line to copy-paste as you set up the environment.

git clone <repository-url>
cd practice-fusion-mcp-server
npm install
npm run build

Additional configuration and usage notes

Run in STDIO mode by default when you start the server without transport changes. No credentials are required at startup for STDIO mode; you configure Practice Fusion credentials in the environment as needed for access during operation.

Run in HTTP mode to enable remote access. Set the transport type to http and choose a port. You can then start the server and connect from remote MCP clients using the base URL for the endpoints.

Security and environment configuration

Use a .env file or environment variables to store credentials and configuration securely. Never commit credentials to version control. Restrict HTTP access to trusted origins and consider using HTTPS in production.

Sample environment variables you may configure include API credentials, API base URL, OAuth settings, allowed origins, and session timeouts. Adjust these values for your environment and deployment needs.

Transport modes

STDIO Transport (default) lets local MCP clients connect directly to the server process. Use node build/index.js to start in STDIO mode.

HTTP Transport enables remote access. Set TRANSPORT_TYPE=http, specify HTTP_PORT, and start the server. The server exposes endpoints for health, status, and the MCP interface.

Troubleshooting

If you encounter port conflicts, identify the process using the port and terminate it. Check health endpoints to verify server status, and review logs for any authentication or connectivity issues.

Production deployment considerations

For production, bind HTTP to 0.0.0.0, enable strict origin validation, and configure a reverse proxy if needed. Use HTTPS with valid certificates and monitor health endpoints to ensure ongoing reliability.

Notes on usage patterns

Authenticate via OAuth as you access Practice Fusion tools and resources. Sessions and tokens refresh automatically as needed, keeping interactions secure during long-running tasks.

Available tools

search_patients

Search patients by name, DOB, demographics, or identifiers.

get_patient_v4

Retrieve complete patient details including profile, contact, and demographics.

create_patient_v4

Register new patients with validation and basic demographics.

update_patient_v4

Update patient information including demographics, contact, and insurance.

get_patient_insurance_plans

Retrieve patient insurance coverage details.

create_patient_insurance_plan

Add new insurance plans for patients.

query_events

Query appointments and calendar events with filtering.

get_event

Get detailed appointment information by event ID.

create_event

Schedule new appointments with validation.

update_event

Modify existing appointments including time and status.

get_event_types

List available appointment types and categories.

get_event_confirmation

Retrieve appointment confirmation details.

update_event_confirmation

Update appointment confirmation status.

get_users

List all practice users and providers with profiles.

get_facilities

Get facilities with locations and contact information.

find_payers

Search insurance payers and coverage plans.

get_document_types

List available document types for practice.

get_document

Retrieve specific documents by ID.

create_document

Upload and create new documents.