Odel
Pallas Athena Tools

Pallas Athena Tools

Local
@nous-ehr1TypeScriptUpdated 3w ago

athenahealth DataView, API, and workflow tools for Claude Code with learning loop

Pallas — athenahealth Integration Engineer for Claude Code

A Claude Code extension that embeds a senior athenahealth integration engineer in your development workflow. Proactively catches data loss bugs, teaches clinical context, guides you through safe DataView queries and API integrations, and gets smarter from every interaction through a built-in learning loop.

Try It in 30 Seconds

No install needed. Add this to any project's .claude/settings.json:

{
  "mcpServers": {
    "athena-tools": {
      "url": "https://pallas-mcp-server.azurewebsites.net/sse"
    }
  }
}

Then open Claude Code and ask: "How do I safely join PATIENT to CHART in DataView?"

This gives you all 12 MCP tools via the hosted server. For the full experience (slash commands, proactive safety rules, CLAUDE.md guidance), use the install method below.

Full Install

npx pallas-athena-tools setup

This installs to your user-level Claude Code config (~/.claude/):

  • 12 MCP tools connected to the hosted knowledge base
  • 9 slash commands (/sql, /athena-api, /onboard, /diagnose, etc.)
  • CLAUDE.md with proactive safety rules and clinical context

Works in every project — no per-project configuration needed.

Other CLI commands

npx pallas-athena-tools status      # Check installation
npx pallas-athena-tools uninstall   # Remove everything

What It Does

  • Proactive safety — Flags unsafe joins (46% data loss from PATIENTID/CHARTID mismatch), missing soft-delete filters, hardcoded credentials, and CONTEXTID issues
  • Teaches the "why" — Not just "add this filter" but "here's why deleted records exist in healthcare and what happens if you include them"
  • Knowledge base — 828 DataView views, 16K+ columns, 1.3K FK relationships, 1.9K API/FHIR/workflow docs
  • Learning loop — Every interaction feeds lessons back to the KB. Low-risk patterns auto-merge; high-risk discoveries go through human review
  • Working examples — Annotated SQL queries and API code templates in Python, TypeScript, and C#

Slash Commands

CommandDescription
/onboardGuided onboarding for new athenahealth developers
/sql <query>Generate safe DataView SQL with CONTEXTID, soft-delete, and correct joins
/athena-api <goal>Generate API integration code with OAuth, retry, and error handling
/diagnose <error>Diagnose API or DataView errors with root cause explanation
/review-athenaScan project for athenahealth anti-patterns and safety issues
/validatePre-deployment safety check
/explain <concept>Deep-dive explanation of any athenahealth concept
/workflow <name>End-to-end clinical/admin workflow guidance
/review-candidatesReview and approve/reject pending KB update candidates

MCP Tools

ToolDescription
athena_search_kbFull-text search across the knowledge base
athena_explain_viewDataView view schema, columns, relationships, and gotchas
athena_explain_joinSafe join path between two views with identity chain warnings
athena_diagnose_errorError diagnosis with likely causes and fixes
athena_explain_workflowClinical/admin workflow documentation
athena_suggest_workflowRecommended integration approach with anti-pattern detection
athena_submit_feedbackReport learned patterns back to the KB (learning loop)
athena_list_candidatesList pending KB update candidates for review
athena_review_candidateApprove or reject a KB update candidate
athena_report_safety_flagRecord a fired proactive safety rule (v0.2.0)
athena_report_outcomeRecord artifact intent and acceptance at end of interaction (v0.2.0)
athena_command_startBeacon for slash command usage (v0.2.0)

Learning Loop

The extension gets smarter from every developer interaction:

Developer uses Claude Code for athenahealth work
    ↓
Claude calls KB tools (search, explain, diagnose)
    → Each call is recorded (tool, duration, success/failure)
    ↓
Developer's issue is resolved
    ↓
Claude submits feedback: what worked, what was learned
    ↓
Classifier evaluates risk:
    Low risk (error patterns, gotchas) → auto-merged, confidence 0.3
    High risk (schema, identity)       → queued for human review
    ↓
Reviewer approves → promoted to KB, confidence 0.7
    ↓
Next developer benefits from this knowledge

Development

Prerequisites

Local Development

git clone https://github.com/nous-ehr/claude_pallas_extension.git
cd claude_pallas_extension
pnpm install
pnpm build
claude    # Opens Claude Code with local MCP server

Environment Variables

VariableDefaultDescription
PALLAS_KB_PATH./dataPath to directory containing kb.json
PALLAS_LOG_LEVELerrorLog level: error, warn, info, debug
PALLAS_TRANSPORTstdioTransport: stdio (local) or http (Azure)
PALLAS_PORT8080Port for HTTP transport
COSMOS_ENDPOINTAzure Cosmos DB endpoint (enables learning loop)
COSMOS_KEYAzure Cosmos DB key
COSMOS_DATABASEpallas-kbCosmos DB database name

Project Structure

pallas_claude_extension/
├── CLAUDE.md                     # "Senior engineer" brain
├── data/kb.json                  # Knowledge base (828 views, 16K columns, 1.9K docs)
├── examples/                     # Annotated SQL + API code templates
├── .claude/
│   ├── settings.json             # MCP server config
│   └── commands/                 # 9 slash commands
├── packages/
│   ├── mcp-server/               # MCP server (9 tools, dual transport)
│   │   └── src/
│   │       ├── server.ts         # stdio + HTTP/SSE
│   │       ├── db/kbStore.ts     # KB with MiniSearch
│   │       ├── tools/            # 9 tool implementations
│   │       └── learning/         # Event capture, classifier, Cosmos DB
│   └── cli/                      # npm package installer
└── .github/workflows/deploy.yml  # Auto-deploy to Azure on push

Architecture

This extension is fully independent from the Athena Tools VS Code extension. They share the same knowledge base source data but have separate codebases, separate deployments, and separate evolution paths. Neither can break the other.

License

  • Source code: MIT
  • Knowledge base (data/kb.json): CC BY-NC-SA 4.0 — non-commercial use only; contact maintainers for commercial licensing