Availity MCP server for AI agents

Live

OAUTH 2.0

PAYER TRANSACTIONS

AI

Availity gives your agent HIPAA transactions with health plans: run eligibility and benefits inquiries, check claim status, look up payers, and submit, update, or void prior authorizations and referrals.

  • Organization credentials: one Availity app's client credentials act for your provider organization, never a clinician's login.
  • Encrypted per-tenant vault: AES-256, resolved at request time, never in LLM context.
  • Scoped before every call: pre-call scope check, 90-day SIEM-exportable audit chain.
Availity
agent · Acme Q3
Run
Does member W123456789 have active coverage with this payer for an office visit today?
S
availity_coverage_create
212ms
Revenue cycle agent
Coverage is active for member W123456789. Office visits carry a $25 copay, and the individual deductible is met for this plan year.
Sources: Availity eligibility inquiry, 1 payer
availity
1 inquiry
18:29
Message Claude...

Tools your revenue cycle agent reaches for on Availity, scoped per connection.

CALL ANY TOOL
11 tools for payer transactions in Availity: send eligibility and claim status inquiries, list payers and their field rules, and search, submit, update, or void prior authorizations and referrals.
availity_claim_status_get
Get claim status
Get the full claim status response (X12 277) for one claim status ID. Returns status and statusCode, payer, submitter, providers, subscriber, patient and claimStatuses with claim control numbers, statusDetails (category, status code, claim and payment amounts, finalized and remittance dates, check number) and serviceLines. Use claim_status_get after claim_statuses_search returns an id. Use claim_statuses_search to start a new inquiry.
Parameters
Name
Type
Required
Description
claim_status_id
string
Required
The claim status ID returned by claim_statuses_search (the id field of a claimStatuses item). Example: 5334032768852043884
availity_claim_statuses_search
Search claim statuses
availity_configurations_list
List configurations
availity_coverage_create
Create coverage
availity_coverage_get
Get coverage
availity_payers_list
List payers
availity_service_review_create
Create service review
availity_service_review_get
Get service review
availity_service_review_update
Update service review
availity_service_review_void
Void service review
availity_service_reviews_search
Search service reviews
Build your Agent
Same auth pattern across LangChain, OpenAI, Anthropic, and Google ADK.
Python · LlamaIndex
import { ScalekitClient } from "@scalekit-sdk/node";
import { createReactAgent } from "@langchain/langgraph/prebuilt";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);

// Availity tools available to this agent
const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["availity"], toolNames: [
    "availity_coverage_create",
    "availity_coverage_get",
    "availity_claim_statuses_search"] },
  pageSize: 100,
});

const agent = createReactAgent({ llm, tools });
await agent.invoke({ messages: [{ role: "user", content: "Check eligibility for member W123456789 and the status of their March claims" }] });
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const openai = new OpenAI();

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["availity"] }, pageSize: 100,
});

const res = await openai.chat.completions.create({
  model: "gpt-5",
  messages: [{ role: "user", content: "Check eligibility for member W123456789 and the status of their March claims" }],
  tools,
});

// Execute the tool call with the vaulted Availity service account credentials
await sk.tools.executeTool(res.choices[0].message.tool_calls[0], "user_123");
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const anthropic = new Anthropic();

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["availity"] }, pageSize: 100,
});

const msg = await anthropic.messages.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Check eligibility for member W123456789 and the status of their March claims" }],
  tools,
});

// Tool call runs with the vaulted Availity service account credentials
await sk.tools.executeTool(msg.content, "user_123");
import { Agent } from "@google/adk/agents";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["availity"] }, pageSize: 100,
});

const agent = new Agent({
  name: "revenue_cycle_agent",
  model: "gemini-2.5-pro",
  instruction: "Availity tools available to this agent",
  tools,
});

await agent.run("Check eligibility for member W123456789 and the status of their March claims");
Try these prompts
Copy any prompt into your agent. Each maps directly to a Availity tool. Click to copy, paste into your agent, done.
Eligibility
Copy the prompt
Copied
Check eligibility and benefits for member W123456789 with this payer for today.
Copy the prompt
Copied
Get the result of the eligibility inquiry I sent this morning.
Copy the prompt
Copied
List the payers on our contract that support eligibility inquiries.
Claim status
Copy the prompt
Copied
Check the status of this member's claims with dates of service in March.
Copy the prompt
Copied
Get the full claim status response for this claim status ID.
Copy the prompt
Copied
Show the field requirements this payer has for claim status inquiries.
Prior authorizations
Copy the prompt
Copied
Search this payer for existing prior authorizations for member W123456789.
Copy the prompt
Copied
Submit an outpatient prior authorization request for this MRI to the member's health plan.
Copy the prompt
Copied
Void the referral that was sent to the wrong payer.
SEE HOW AUTH WORKS
You connect Availity once with a service account, and Scalekit authenticates every call. Credentials stay vaulted, every call is scope checked, and every action is logged.
1
Authorize
Your user connects
Availity
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
Availity
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
Availity
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
Availity
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same auth pattern across other healthcare connectors.
Support and Ops Teams
Support ticket automation agent
Fetches new Zendesk tickets, drafts a reply from Notion knowledge base articles, digests what it cannot answer to Slack, and archives the rest, acting as the support agent rather than a shared API key.
Engineering Teams
Slack triage
Polls Slack for new messages, classifies bugs and support requests with a LangGraph router, files GitHub issues or Zendesk tickets, and confirms in the thread.
Test other agents
See the same auth pattern across other healthcare connectors.
SUPPORT
Support ticket automation (Google ADK)
Fetch, annotate, and archive Zendesk tickets with Notion context, digesting anything it cannot answer to Slack.
ENGINEERING
Slack triage agent
Classify new Slack messages as bugs or support requests, file the GitHub issue or Zendesk ticket, and reply in the thread.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
01.
One service account needs a clear audit trail
Availity credentials belong to your provider organization, so every inquiry reaches the health plan under one app. Scalekit logs each tool call with the connected account and tool that ran it, so you can trace which agent run sent which transaction.
// raw client credentials
audit → ?

// scalekit
audit → account + tool ✓
02.
Authentication is not authorization
03.
Multi-tenancy is architectural
04.
Availity today. Ten connectors tomorrow.
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does the agent access Availity as a clinician or through a service account?
Through a service account. You connect Availity once with the client ID and secret of an app on the Availity Developer Portal, and Scalekit exchanges them for short-lived access tokens. The credentials belong to your provider organization, so tool calls act for the organization rather than an individual clinician.
Where are the Availity service account credentials stored?
In Scalekit's managed AES-256 token vault, namespaced per tenant. Revocation is a single dashboard action. Credentials never appear in prompts, logs, or LLM context.
Can I limit what the agent does in Availity?
Yes. Filter by tool name in listScopedTools to expose only what you want, for example the eligibility, claim status, and payer lookup tools without availity_service_review_create, availity_service_review_update, or availity_service_review_void, which send changes to the health plan. Scalekit also enforces scope checks before every API call.
What happens when Availity access is turned off?
Disable the connection in the Scalekit dashboard and the next tool call fails closed with a clear error. Other tenants are unaffected, and the change is logged.
Which health plans can the agent reach through Availity?
The payers available on your Availity contract. availity_payers_list returns them, filtered by payer ID, supported transaction type or submission mode, and availity_configurations_list returns a payer's field requirements and validation rules for a transaction before the agent sends it.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""availity"": {
""url"": ""https://mcp.scalekit.com/availity"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.availity]
url = ""https://mcp.scalekit.com/availity""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""availity"": {
""url"": ""https://mcp.scalekit.com/availity"",
""type"": ""http""
}
}
}