Tebra MCP server
{
"mcpServers": {
"jamesrosingmd-tebra": {
"command": "npx",
"args": [
"-y",
"tebra-mcp-server@latest"
],
"env": {
"TEBRA_CUSTOMER_KEY": "<tebra_customer_key>",
"TEBRA_FHIR_CLIENT_ID": "<tebra_fhir_client_id>",
"TEBRA_FHIR_CLIENT_SECRET": "<tebra_fhir_client_secret>",
"TEBRA_FHIR_BASE_URL": "https://...",
"TEBRA_FHIR_TOKEN_URL": "https://..."
}
}
}
}{
"mcpServers": {
"jamesrosingmd-tebra": {
"command": "npx",
"args": [
"-y",
"tebra-mcp-server@latest"
],
"env": {
"TEBRA_CUSTOMER_KEY": "<tebra_customer_key>",
"TEBRA_FHIR_CLIENT_ID": "<tebra_fhir_client_id>",
"TEBRA_FHIR_CLIENT_SECRET": "<tebra_fhir_client_secret>",
"TEBRA_FHIR_BASE_URL": "https://...",
"TEBRA_FHIR_TOKEN_URL": "https://..."
}
}
}
}{
"mcpServers": {
"jamesrosingmd-tebra": {
"command": "npx",
"args": [
"-y",
"tebra-mcp-server@latest"
],
"env": {
"TEBRA_CUSTOMER_KEY": "<tebra_customer_key>",
"TEBRA_FHIR_CLIENT_ID": "<tebra_fhir_client_id>",
"TEBRA_FHIR_CLIENT_SECRET": "<tebra_fhir_client_secret>",
"TEBRA_FHIR_BASE_URL": "https://...",
"TEBRA_FHIR_TOKEN_URL": "https://..."
}
}
}
}{
"servers": {
"jamesrosingmd-tebra": {
"command": "npx",
"args": [
"-y",
"tebra-mcp-server@latest"
],
"env": {
"TEBRA_CUSTOMER_KEY": "${input:tebra_customer_key}",
"TEBRA_FHIR_CLIENT_ID": "${input:tebra_fhir_client_id}",
"TEBRA_FHIR_CLIENT_SECRET": "${input:tebra_fhir_client_secret}",
"TEBRA_FHIR_BASE_URL": "${input:tebra_fhir_base_url}",
"TEBRA_FHIR_TOKEN_URL": "${input:tebra_fhir_token_url}"
}
}
},
"inputs": [
{
"id": "tebra_customer_key",
"type": "promptString",
"description": "Tebra customer key",
"password": true
},
{
"id": "tebra_fhir_client_id",
"type": "promptString",
"description": "Tebra fhir client id",
"password": true
},
{
"id": "tebra_fhir_client_secret",
"type": "promptString",
"description": "Tebra fhir client secret",
"password": true
},
{
"id": "tebra_fhir_base_url",
"type": "promptString",
"description": "Tebra fhir base url",
"password": true
},
{
"id": "tebra_fhir_token_url",
"type": "promptString",
"description": "Tebra fhir token url",
"password": true
}
]
}{
"mcpServers": {
"jamesrosingmd-tebra": {
"command": "npx",
"args": [
"-y",
"tebra-mcp-server@latest"
],
"env": {
"TEBRA_CUSTOMER_KEY": "<tebra_customer_key>",
"TEBRA_FHIR_CLIENT_ID": "<tebra_fhir_client_id>",
"TEBRA_FHIR_CLIENT_SECRET": "<tebra_fhir_client_secret>",
"TEBRA_FHIR_BASE_URL": "https://...",
"TEBRA_FHIR_TOKEN_URL": "https://..."
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y tebra-mcp-serverversion 0.2.5
What it does
MCP server for Tebra (formerly Kareo) practice management systems, exposing 34 SOAP tools and 13 FHIR clinical tools. Enables AI agents to read and write patient data, appointments, billing, encounters, and clinical records directly from Tebra accounts.
- Search and retrieve patient records, demographics, insurance, and authorization data from Tebra.
- Create and update appointments, manage scheduling across providers and locations.
- Access clinical encounter data, diagnoses, medications, and lab results via FHIR APIs for clinical workflows.
Tools this server exposes
| Tool | Does |
|---|---|
| tebra_search_patients | Search patients by name, date of birth range, insurance, practice, and 16 additional server-side filters. |
| tebra_get_patient | Retrieve full patient record including cases, insurance policies, and authorizations by Tebra ID or external ID. |
| tebra_create_patient | Register a new patient with demographics, insurance, and guarantor information. |
| tebra_update_patient | Update patient demographics and contact information. |
| tebra_get_all_patients | Bulk patient retrieval with pagination for sync operations. |
| tebra_get_appointments | Search appointments by date range, resource (provider), patient, status, and location. |
| tebra_get_appointment_detail | Retrieve full appointment details including recurrence, group data, and resources. |
| tebra_create_appointment | Create an appointment with provider, location, start time, and duration or end time. |
| tebra_update_appointment | Modify appointment details. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.