Added
- Medical Agents: the
eka-agentsplugin is published. Install it in Claude Code to give your agent this product’s reference skill. Open Build with AI.
Breaking
- [EkaAgents] echo-sdk prompt-schema rename —
AgentConfig,PersonaConfig, andTaskConfigare renamed toAgentPrompt,PromptPersona, andPromptTaskand have moved fromecho.agents.configtoecho.prompts.schemas.GenericAgentandAgUiAgentnow requireagent_prompt=instead ofagent_config=,FetchedPrompt.agent_configis nowFetchedPrompt.agent_prompt, andload_agent_config()is replaced byload_agent_prompt(). The old module path and kwargs are removed — callers must update imports and constructor arguments before upgrading to 0.3.3. - [EkaAgents] echo-sdk skill package move —
echo.agents.skill.Skillis nowecho.skills.Skill;Skillis no longer re-exported fromecho.agents. Update imports tofrom echo.skills import Skill.
Added
- [EkaAgents] Runtime skill configuration in echo-sdk — New
echo.skills.SkillRuntimeConfig(name, description,prompt_config: PromptConfig,tool_names) plus abuild_skills_from_runtime()helper that fetches every skill’s prompt in parallel via the configured prompt provider and materialises them intoSkillinstances. Individual prompt-fetch failures are logged and the offending skill is dropped, so one bad skill config no longer breaks the whole turn. - [EkaAgents]
PromptConfigdescriptor — New Pydantic model for fetching prompts from a provider (currentlylangfuse), withname,version, andprompt_variablesand automatic whitespace-stripping onname. Used bySkillRuntimeConfigand intended for host apps that wire skill prompts dynamically.
Changed
- [EkaAgents] Langfuse prompt provider returns
AgentPrompt—LangfusePromptProvider.get_prompt()andFetchedPromptnow exposeagent_prompt(wasagent_config); the underlying Langfuse-side schema (role,goal,backstory,expected_outputon the prompt config; description in the prompt text) is unchanged.
Added
- [EkaAgents] show_appointments_basic and get_patient_appointments_basic in Eka MCP SDK —
eka-mcp-sdkv0.1.40 enablesshow_appointments_basic(list appointments with filters) and v0.1.41 addsget_patient_appointments_basic(fetch appointments for a specific patient), giving agents direct read access to the appointments surface without bespoke tool wiring. View docs
Changed
- [EkaAgents] show_appointments_basic patient_id filter constraint —
show_appointments_basicineka-mcp-sdknow treatspatient_idas a single-value filter — when a patient id is supplied, other filters are ignored — making the contract explicit and reducing ambiguous query combinations.
Added
- [EkaAgents] CRM lead-creation tool in Eka MCP SDK —
eka-mcp-sdkships a new MCP tool for creating CRM leads, letting agents capture and route a lead in the same conversation flow as discovery and booking. - [EkaAgents] AG-UI streaming in Echo Agent Kit —
echo-sdkadds AG-UI streaming support so agents can emit incremental UI updates to compatible clients during a turn instead of buffering the full response. - [EkaAgents] Claude prompts in Echo Agent Kit —
echo-sdkadds prompt support for Anthropic Claude models, broadening the LLM provider mix available to agents built on the kit.
Added
- [EkaAgents] Agent skills in Echo Agent Kit —
echo-sdkintroduces a skills concept for building modular, reusable agent capabilities that can be composed into larger workflows.
Improved
- [EkaAgents] doctor_availability success response in Eka MCP SDK —
eka-mcp-sdkenriches the success response from the doctor availability flow so downstream booking tools have the context they need without re-querying.
Improved
- [EkaAgents] Selected hospital pushed to the top in Eka MCP SDK —
eka-mcp-sdknow surfaces the user’s selected hospital at the top of availability listings, so chosen-hospital options aren’t buried under nearby alternatives during a booking flow.
Added
- [EkaAgents] service_availability_elicitation and book_service in Eka MCP SDK — The Eka MCP SDK gains two new tools for service and health-package booking flows:
service_availability_elicitation(interactive UI tool that lets users discover services, view available dates, and pick a slot — accepts eithersuggested_service_idsor a singleservice_id, plus optionalhospital_id,preferred_date, andpreferred_slot_time) andbook_service(creates a health-package booking from aServiceBookingRequestwith deduplication of concurrent calls and slot-unavailable handling). The shared elicitation builder was also generalised with anentity_typeparameter so the same UI contract powers both doctor and service flows. View docs
Improved
- [EkaAgents] doctor_availability_elicitation now returns selected_doctor_id and selected_hospital_id — When the elicitation completes successfully, the tool result now includes
selected_doctor_idandselected_hospital_idin_meta.tool_result, so downstream booking tools can chain off the elicitation output without re-prompting the user.
Improved
- [EkaAgents] doctor_availability_elicitation aligned with search_doctor_tool — The Eka MCP SDK removes the legacy
doctor_discoverytool references and updatesdoctor_availability_elicitationto consume results fromsearch_doctor_tool. The tool description and UI contract were updated to render multiple doctor cards in a single elicitation, andsuggested_doctor_idsis now an accepted input parameter so an agent can hand a shortlist directly to the elicitation. View docs
Added
- [EkaAgents] Audio transcription module in Echo Agent Kit — Echo Agent Kit adds a new
echo.audiomodule with aBaseTranscriberinterface, aTranscriberConfigmodel, and two pluggable providers:GeminiTranscriber(Gemini 2.0 / 2.5 audio models) andEkaCareTranscriber(Eka Care ASR over HTTPS, supportingen-IN,en-US, andhi). Audio can be supplied as raw bytes (with explicitmime_type), a public URL, or a Gemini Files API URI. A newecho[ekacare]extra pulls inhttpxfor the Eka Care provider.get_transcriber(config)andgenerate_transcriber_config(...)factory helpers make it straightforward to swap providers without rewriting agent code. View docs
Improved
- [EkaAgents] Echo Agent Kit v0.1.34 — Echo Agent Kit released as v0.1.34 with the new audio transcription module bundled in. The Gemini install hint was also corrected from
google-generativeaitogoogle-genai.pip install -U echois safe — defaults preserve existing agent behavior.
Added
-
[EkaAgents] Skills in Echo Agent Kit —
GenericAgentnow supportsSkill— a lazy-loaded bundle of(instructions + tools + description)that can be attached and detached mid-conversation. Two activation modes are supported:llm(default, agent auto-injectsload_skill/unload_skillmeta-tools and an<available_skills>registry into the system prompt so the model self-routes between flows) andmanual(host callsawait agent.activate_skill(name)from an upstream router). Skills also exposeon_activate/on_deactivatelifecycle hooks for tenant-scoped setup or telemetry. Tool-name collisions across base tools and skills are caught at agent construction. Existing agents that don’t passskills=are byte-for-byte unaffected. View docs -
[EkaAgents] Postgres engine and PgQueryTool in Echo Agent Kit — Echo Agent Kit now ships an opt-in Postgres client (
echo[postgres]extra) backed by anasyncpgconnection pool with lazy initialization, plusPgQueryTool— aBaseToolsubclass that runs a parametric SQL query and returns rows. SQL files can use psycopg-style%(name)splaceholders, which the client rewrites to asyncpg$Npositional binds. A process-wide default client can be registered withset_default_client(...)so dynamic loaders that calltool_class()resolve correctly. Configuration is read fromECHO_PG_*environment variables. View docs
Improved
- [EkaAgents] Echo Agent Kit v0.1.33 — Echo Agent Kit released as v0.1.33 with the new Skills primitive, Postgres engine, and
PgQueryToolbundled in.pip install -U echois safe — defaults preserve existing agent behavior.
Improved
- [EkaAgents] MedAssist web file upload validation — The MedAssist web widget now validates uploaded files against an updated allow-list of supported file types, surfacing a clear rejection for unsupported formats before the upload is attempted.
Fixed
- [EkaAgents] [Client-Specific] MedAssist web widget configuration — Resolved a configuration regression that caused the MedAssist web widget to behave incorrectly on a partner deployment; the widget now initializes with the expected configuration on that surface.
Added
-
[EkaAgents] MCP session caching in Echo Agent Kit — The Echo Agent Kit MCP integration now caches MCP sessions per user, splitting tool discovery and session caches with independent idle and absolute TTLs, LRU eviction on pool exhaustion, and
user_session_idplumbed throughMCPTool.runviatool_context. Tool cache keys are partitioned by configurable headers (tool_cache_key_headers), and concurrent cache misses are serialized to avoid duplicate discovery work. View docs -
[EkaAgents] Doctor discovery elicitation — The MCP SDK now supports interactive elicitation for
doctor_discoverycards, allowing agents to confirm doctor availability mid-conversation before booking. View docs
Improved
- [EkaAgents] MCP tool call timeout — Tool calls in the Echo Agent Kit MCP integration are now bounded by a 10-second timeout, preventing slow downstream tools from blocking agent responses indefinitely.
Removed
- [EkaAgents] Legacy MCP caching layer — The previous monolithic MCP cache has been removed from the Echo Agent Kit in favor of the new split tool/session caching design.
Fixed
- [EkaAgents] MedAssist web microphone restored — A temporary disablement of the microphone capture path in the MedAssist web widget was reverted on the same day after a regression was identified, restoring voice input.
Added
- [EkaAgents] Contextual popup in MedAssist web widget — The MedAssist web chat widget now supports a contextual popup, surfacing relevant suggestions and actions tied to the current conversation state.
Improved
- [EkaAgents] MedAssist nudge configurability — The onboarding nudge in the MedAssist web widget can now be disabled by integration partners that don’t want unsolicited prompts on first load.
Fixed
- [EkaAgents] Agent ID resolution in MedAssist web — Fixed a bug where the MedAssist web widget could resolve to the wrong agent ID under certain configurations, ensuring conversations always route to the configured agent.
Improved
- [EkaAgents] Doctor discovery tool in MCP SDK — The Eka MCP SDK now includes a doctor discovery tool for EMR workspaces, enabling agents to search for available doctors within a clinic context. View docs
- [EkaAgents] MedAssist web widget responsive layout — The MedAssist web chat widget now renders correctly on small screens (under 360px and 767px widths), preventing layout overflow and improving usability on mobile devices.
Added
- [EkaAgents] OTP authentication for EMR clients in MCP SDK — The Eka MCP SDK now includes an
authentication_elicitationtool enabled by default for EMR workspaces, supporting SMS-based OTP login with country code selection, OTP verification, and UHID profile selection. Agents can authenticate clinic users mid-conversation without leaving the AI client. View docs
Improved
- [EkaAgents] MCP SDK workspace tool fallback — When a workspace has no explicitly configured tool list, the MCP SDK now falls back to the default EMR tool set instead of failing, improving resilience for new workspace onboarding.
New features
- ABHA login and profile tools in MCP SDK — The Eka MCP SDK now includes tools for ABHA login and profile management. Agents can initiate login via mobile, Aadhaar, ABHA number, or PHR address, verify OTP, select from multiple ABHA profiles, and retrieve the ABHA card — all within an agent conversation. View docs
Updates
- MCP Server documentation restructured — The MCP Server docs have been reorganized into separate Remote MCP and Local MCP SDK guides, with per-client setup instructions and a comparison table, making it easier to choose the right deployment model and get connected faster. View docs
_metafield support in doctor discovery and availability tools — The Eka MCP SDK now forwards_metacontext from tool calls to thedoctor_discoveryanddoctor_availabilitytools. This lets MCP clients pass additional metadata (such as UI hints or session context) when searching for doctors or checking appointment availability. View docs- MedAssist iOS background session handling — MedAssist chat sessions on iOS now gracefully handle app backgrounding. When you switch away and return, the session reconnects automatically so conversations are not lost mid-interaction.
Bug fixes
- MedAssist iOS error handling — Fixed an issue where WebSocket errors during a MedAssist chat session could fail silently. Errors such as session timeouts and connection drops are now surfaced with clear messages, and the chat UI recovers gracefully.
New features
- Patient benefits tool in MCP Server — A new
get_patient_benefitstool is available in the Eka MCP Server, letting agents retrieve available offers and benefits for a specific patient. View docs
Updates
- Email authentication in MCP Server — Authentication elicitation now supports email as a verification method in addition to mobile number, giving users more flexibility during in-agent authentication flows. View docs
- MedAssist iOS chat improvements — The MedAssist chat experience on iOS now includes updated suggestion chips, improved message bubbles, and better file upload handling.
Bug fixes
- MedAssist web widget — Fixed an issue where OTP verification could fail silently or return incorrect error messages. The verification flow now properly handles edge cases including callback requests and missing patient records.
New features
- Appointment rescheduling via MCP Server — You can now reschedule appointments through the Eka MCP Server.
Updates
- Echo Agent Kit — Added
_metafield support per the MCP specification for passing tool call metadata. Elicitation support now includes status tracking, messaging, and handling of multiple tool elicitations. View docs - Authentication elicitation in MCP Server — MCP Server tools now support authentication elicitation, allowing tools to prompt for credentials during execution. View docs

