# Feegow Clinic

> Full clinic management on Feegow Clinic, patients, appointments, providers, specialties, insurance, 

- name: io.github.mcp-dir/feegow-mcp
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 87/100
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.mcp-dir%2Ffeegow-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.mcp-dir%2Ffeegow-mcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "feegow-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_feegow"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 99
- freshness: 65
- provenance: 80
- drivers: +repository +namespace-matches-repo +reachable +uptime-97% ~updated-132d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 94 of 94 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 19,280 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 94, about 19,280 tokens to load them all
- tool set hash: 294ffb0fb1a95c31719a729855344e50
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.mcp-dir/feegow-mcp.svg)](https://protogrid.dev/servers/io.github.mcp-dir/feegow-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://api.mcp.ai/p_feegow (streamable-http, auth none, reachable true, uptime30d 0.9655172)

## Packages

_none_

## Tools (94)

- `authenticate`: MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.
- `connect`: Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
- `feegow_appointment_available_schedule`: Read appointments and scheduling data in Feegow.
Actions:
- list: search appointments by date range (data_start/data_end DD-MM-YYYY), profissional_id, paciente_id, unidade_id, especialidade_id, procedimento_id, canal_id, retorno, list_procedures (1/0).
- statuses: list all appointment status types (Marcado, Em atendimento, Atendido, etc.).
- motives: list cancellation/rescheduling motives.
- channels: list appointment channels (online, clinic, etc.).
- available_schedule: find available time slots. Requires tipo (E=Especialidade, P=Procedimento), data_start, data_end (DD-MM-YYYY). Optional: especialidade_id, procedimento_id, unidade_id, profissional_id, convenio_id.
- queue_position: generate queue ticket (requires unidade_id, tipo_senha: 0=G, 1=P, 2=C, 3=E, 4=R).

[Flattened action: available_schedule]
- `feegow_appointment_channels`: Read appointments and scheduling data in Feegow.
Actions:
- list: search appointments by date range (data_start/data_end DD-MM-YYYY), profissional_id, paciente_id, unidade_id, especialidade_id, procedimento_id, canal_id, retorno, list_procedures (1/0).
- statuses: list all appointment status types (Marcado, Em atendimento, Atendido, etc.).
- motives: list cancellation/rescheduling motives.
- channels: list appointment channels (online, clinic, etc.).
- available_schedule: find available time slots. Requires tipo (E=Especialidade, P=Procedimento), data_start, data_end (DD-MM-YYYY). Optional: especialidade_id, procedimento_id, unidade_id, profissional_id, convenio_id.
- queue_position: generate queue ticket (requires unidade_id, tipo_senha: 0=G, 1=P, 2=C, 3=E, 4=R).

[Flattened action: channels]
- `feegow_appointment_list`: Read appointments and scheduling data in Feegow.
Actions:
- list: search appointments by date range (data_start/data_end DD-MM-YYYY), profissional_id, paciente_id, unidade_id, especialidade_id, procedimento_id, canal_id, retorno, list_procedures (1/0).
- statuses: list all appointment status types (Marcado, Em atendimento, Atendido, etc.).
- motives: list cancellation/rescheduling motives.
- channels: list appointment channels (online, clinic, etc.).
- available_schedule: find available time slots. Requires tipo (E=Especialidade, P=Procedimento), data_start, data_end (DD-MM-YYYY). Optional: especialidade_id, procedimento_id, unidade_id, profissional_id, convenio_id.
- queue_position: generate queue ticket (requires unidade_id, tipo_senha: 0=G, 1=P, 2=C, 3=E, 4=R).

[Flattened action: list]
- `feegow_appointment_motives`: Read appointments and scheduling data in Feegow.
Actions:
- list: search appointments by date range (data_start/data_end DD-MM-YYYY), profissional_id, paciente_id, unidade_id, especialidade_id, procedimento_id, canal_id, retorno, list_procedures (1/0).
- statuses: list all appointment status types (Marcado, Em atendimento, Atendido, etc.).
- motives: list cancellation/rescheduling motives.
- channels: list appointment channels (online, clinic, etc.).
- available_schedule: find available time slots. Requires tipo (E=Especialidade, P=Procedimento), data_start, data_end (DD-MM-YYYY). Optional: especialidade_id, procedimento_id, unidade_id, profissional_id, convenio_id.
- queue_position: generate queue ticket (requires unidade_id, tipo_senha: 0=G, 1=P, 2=C, 3=E, 4=R).

[Flattened action: motives]
- `feegow_appointment_queue_position`: Read appointments and scheduling data in Feegow.
Actions:
- list: search appointments by date range (data_start/data_end DD-MM-YYYY), profissional_id, paciente_id, unidade_id, especialidade_id, procedimento_id, canal_id, retorno, list_procedures (1/0).
- statuses: list all appointment status types (Marcado, Em atendimento, Atendido, etc.).
- motives: list cancellation/rescheduling motives.
- channels: list appointment channels (online, clinic, etc.).
- available_schedule: find available time slots. Requires tipo (E=Especialidade, P=Procedimento), data_start, data_end (DD-MM-YYYY). Optional: especialidade_id, procedimento_id, unidade_id, profissional_id, convenio_id.
- queue_position: generate queue ticket (requires unidade_id, tipo_senha: 0=G, 1=P, 2=C, 3=E, 4=R).

[Flattened action: queue_position]
- `feegow_appointment_statuses`: Read appointments and scheduling data in Feegow.
Actions:
- list: search appointments by date range (data_start/data_end DD-MM-YYYY), profissional_id, paciente_id, unidade_id, especialidade_id, procedimento_id, canal_id, retorno, list_procedures (1/0).
- statuses: list all appointment status types (Marcado, Em atendimento, Atendido, etc.).
- motives: list cancellation/rescheduling motives.
- channels: list appointment channels (online, clinic, etc.).
- available_schedule: find available time slots. Requires tipo (E=Especialidade, P=Procedimento), data_start, data_end (DD-MM-YYYY). Optional: especialidade_id, procedimento_id, unidade_id, profissional_id, convenio_id.
- queue_position: generate queue ticket (requires unidade_id, tipo_senha: 0=G, 1=P, 2=C, 3=E, 4=R).

[Flattened action: statuses]
- `feegow_appointment_write_cancel`: Create, cancel, reschedule, or update status of appointments in Feegow.
Actions:
- create: new appointment. Requires local_id, paciente_id, profissional_id, especialidade_id, procedimento_id, data (DD-MM-YYYY), horario (HH:MM:SS 24h), valor (centavos), plano (0=no insurance, 1=insurance). Optional: convenio_id, convenio_plano_id, canal_id, tabela_id, notas, celular, telefone, email, retorno, sys_user.
- cancel: requires agendamento_id, motivo_id. Optional: obs. (reversible status flip — not a hard delete).
- reschedule: requires agendamento_id, motivo_id, data (DD-MM-YYYY), horario (HH:MM:SS). Optional: obs.
- update_status: requires AgendamentoID, StatusID. Optional: Obs, HoraChegada (HH:MM for waiting status).

[Flattened action: cancel]
- `feegow_appointment_write_create`: Create, cancel, reschedule, or update status of appointments in Feegow.
Actions:
- create: new appointment. Requires local_id, paciente_id, profissional_id, especialidade_id, procedimento_id, data (DD-MM-YYYY), horario (HH:MM:SS 24h), valor (centavos), plano (0=no insurance, 1=insurance). Optional: convenio_id, convenio_plano_id, canal_id, tabela_id, notas, celular, telefone, email, retorno, sys_user.
- cancel: requires agendamento_id, motivo_id. Optional: obs. (reversible status flip — not a hard delete).
- reschedule: requires agendamento_id, motivo_id, data (DD-MM-YYYY), horario (HH:MM:SS). Optional: obs.
- update_status: requires AgendamentoID, StatusID. Optional: Obs, HoraChegada (HH:MM for waiting status).

[Flattened action: create]
- `feegow_appointment_write_reschedule`: Create, cancel, reschedule, or update status of appointments in Feegow.
Actions:
- create: new appointment. Requires local_id, paciente_id, profissional_id, especialidade_id, procedimento_id, data (DD-MM-YYYY), horario (HH:MM:SS 24h), valor (centavos), plano (0=no insurance, 1=insurance). Optional: convenio_id, convenio_plano_id, canal_id, tabela_id, notas, celular, telefone, email, retorno, sys_user.
- cancel: requires agendamento_id, motivo_id. Optional: obs. (reversible status flip — not a hard delete).
- reschedule: requires agendamento_id, motivo_id, data (DD-MM-YYYY), horario (HH:MM:SS). Optional: obs.
- update_status: requires AgendamentoID, StatusID. Optional: Obs, HoraChegada (HH:MM for waiting status).

[Flattened action: reschedule]
- `feegow_appointment_write_update_status`: Create, cancel, reschedule, or update status of appointments in Feegow.
Actions:
- create: new appointment. Requires local_id, paciente_id, profissional_id, especialidade_id, procedimento_id, data (DD-MM-YYYY), horario (HH:MM:SS 24h), valor (centavos), plano (0=no insurance, 1=insurance). Optional: convenio_id, convenio_plano_id, canal_id, tabela_id, notas, celular, telefone, email, retorno, sys_user.
- cancel: requires agendamento_id, motivo_id. Optional: obs. (reversible status flip — not a hard delete).
- reschedule: requires agendamento_id, motivo_id, data (DD-MM-YYYY), horario (HH:MM:SS). Optional: obs.
- update_status: requires AgendamentoID, StatusID. Optional: Obs, HoraChegada (HH:MM for waiting status).

[Flattened action: update_status]
- `feegow_benefit_card_list_contracts`: Read benefit card data in Feegow (contracts and plans).
Actions:
- list_contracts: list benefit contracts. Filter by page, perPage, document, planId, name, personID, accountOwner, registrationNumber, initialDate, endDate, statusContractId, unity, user, accountPayer.
- list_plans: list benefit plans. Filter by page, perPage, id.

[Flattened action: list_contracts]
- `feegow_benefit_card_list_plans`: Read benefit card data in Feegow (contracts and plans).
Actions:
- list_contracts: list benefit contracts. Filter by page, perPage, document, planId, name, personID, accountOwner, registrationNumber, initialDate, endDate, statusContractId, unity, user, accountPayer.
- list_plans: list benefit plans. Filter by page, perPage, id.

[Flattened action: list_plans]
- `feegow_benefit_card_write_create_contract`: Write benefit card operations in Feegow (contracts and plans).
Actions:
- create_contract: create benefit contract. Full body with contract, recurrence, people arrays.
- update_contract: update benefit contract.
- create_plan: create benefit plan (name, membershipValue, recurrenceValue, dependencyMembershipValue, dependencyRecurrenceValue, parameters).
- update_plan: update benefit plan (id required).

[Flattened action: create_contract]
- `feegow_benefit_card_write_create_plan`: Write benefit card operations in Feegow (contracts and plans).
Actions:
- create_contract: create benefit contract. Full body with contract, recurrence, people arrays.
- update_contract: update benefit contract.
- create_plan: create benefit plan (name, membershipValue, recurrenceValue, dependencyMembershipValue, dependencyRecurrenceValue, parameters).
- update_plan: update benefit plan (id required).

[Flattened action: create_plan]
- `feegow_benefit_card_write_update_contract`: Write benefit card operations in Feegow (contracts and plans).
Actions:
- create_contract: create benefit contract. Full body with contract, recurrence, people arrays.
- update_contract: update benefit contract.
- create_plan: create benefit plan (name, membershipValue, recurrenceValue, dependencyMembershipValue, dependencyRecurrenceValue, parameters).
- update_plan: update benefit plan (id required).

[Flattened action: update_contract]
- `feegow_benefit_card_write_update_plan`: Write benefit card operations in Feegow (contracts and plans).
Actions:
- create_contract: create benefit contract. Full body with contract, recurrence, people arrays.
- update_contract: update benefit contract.
- create_plan: create benefit plan (name, membershipValue, recurrenceValue, dependencyMembershipValue, dependencyRecurrenceValue, parameters).
- update_plan: update benefit plan (id required).

[Flattened action: update_plan]
- `feegow_billing`: Read insurance billing guides (guias) in Feegow.
Requires billing_type_id (1=Consulta, 2=SADT, 3=Honorarios, 4=Internação, 5=Quimioterapia), insurance_id, billing (guide number).
- `feegow_billing_write_create`: Create or edit insurance billing guides in Feegow.
Actions:
- create: create a new SADT billing guide. Pass full data as JSON.
- edit: edit a SADT billing guide. Requires billing_id, billing_type_id, plus attribute to edit.

[Flattened action: create]
- `feegow_billing_write_edit`: Create or edit insurance billing guides in Feegow.
Actions:
- create: create a new SADT billing guide. Pass full data as JSON.
- edit: edit a SADT billing guide. Requires billing_id, billing_type_id, plus attribute to edit.

[Flattened action: edit]
- `feegow_company_list_locals`: Read clinic company info in Feegow.
Actions:
- list_units: list all units (matriz + filiais). Optional: endereco, cep.
- list_locals: list rooms/locations registered across units.

[Flattened action: list_locals]
- `feegow_company_list_units`: Read clinic company info in Feegow.
Actions:
- list_units: list all units (matriz + filiais). Optional: endereco, cep.
- list_locals: list rooms/locations registered across units.

[Flattened action: list_units]
- `feegow_employee`: List employees in Feegow. Requires ativo (0=inactive, 1=active). Optional: unidade_id.

Bulk support: accepts unidade_ids for batched execution.
- `feegow_financial_delete_cancel_voucher`: Destructive financial operations in Feegow.
Actions:
- remove_invoice: remove an invoice.
- remove_payment: remove a payment.
- cancel_voucher: cancel a voucher.
All are irreversible.

[Flattened action: cancel_voucher]
- `feegow_financial_delete_remove_invoice`: Destructive financial operations in Feegow.
Actions:
- remove_invoice: remove an invoice.
- remove_payment: remove a payment.
- cancel_voucher: cancel a voucher.
All are irreversible.

[Flattened action: remove_invoice]
- `feegow_financial_delete_remove_payment`: Destructive financial operations in Feegow.
Actions:
- remove_invoice: remove an invoice.
- remove_payment: remove a payment.
- cancel_voucher: cancel a voucher.
All are irreversible.

[Flattened action: remove_payment]
- `feegow_financial_find_invoice_nfse`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: find_invoice_nfse]
- `feegow_financial_get_dmed`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: get_dmed]
- `feegow_financial_list_categories`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_categories]
- `feegow_financial_list_cost_centers`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_cost_centers]
- `feegow_financial_list_credit_card_brands`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_credit_card_brands]
- `feegow_financial_list_current_accounts`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_current_accounts]
- `feegow_financial_list_invoices`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_invoices]
- `feegow_financial_list_private_tables`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_private_tables]
- `feegow_financial_list_sales`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_sales]
- `feegow_financial_list_suppliers`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_suppliers]
- `feegow_financial_list_transfers`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_transfers]
- `feegow_financial_list_vouchers`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: list_vouchers]
- `feegow_financial_search_supplier`: Read financial data in Feegow.
Actions:
- list_suppliers, search_supplier, list_categories, list_cost_centers, list_transfers,
  list_invoices, list_current_accounts, find_invoice_nfse, list_credit_card_brands,
  list_vouchers, list_sales, list_private_tables, get_dmed.
All params are passed as JSON in the "data" field.

[Flattened action: search_supplier]
- `feegow_financial_write_associate_account`: Write financial operations in Feegow.
Actions:
- associate_account: associate financial account to patient (account, association).
- update_nfse: update NFS-e number on invoice (invoice_id, nfse_numero).
- pay_invoice: pay an invoice.
- create_invoice: create a new invoice.
- create_invoice_by_appt: create invoice from appointment.
- create_voucher: create a voucher.
- update_voucher: update a voucher.
- pay_booking: pay a booking (bookingId, amount, associationId, accountId, paymentMethod, paymentDate YYYY-MM-DD).

For destructive removals (remove_invoice, remove_payment, cancel_voucher) use feegow_financial_delete.

[Flattened action: associate_account]
- `feegow_financial_write_create_invoice`: Write financial operations in Feegow.
Actions:
- associate_account: associate financial account to patient (account, association).
- update_nfse: update NFS-e number on invoice (invoice_id, nfse_numero).
- pay_invoice: pay an invoice.
- create_invoice: create a new invoice.
- create_invoice_by_appt: create invoice from appointment.
- create_voucher: create a voucher.
- update_voucher: update a voucher.
- pay_booking: pay a booking (bookingId, amount, associationId, accountId, paymentMethod, paymentDate YYYY-MM-DD).

For destructive removals (remove_invoice, remove_payment, cancel_voucher) use feegow_financial_delete.

[Flattened action: create_invoice]
- `feegow_financial_write_create_invoice_by_appt`: Write financial operations in Feegow.
Actions:
- associate_account: associate financial account to patient (account, association).
- update_nfse: update NFS-e number on invoice (invoice_id, nfse_numero).
- pay_invoice: pay an invoice.
- create_invoice: create a new invoice.
- create_invoice_by_appt: create invoice from appointment.
- create_voucher: create a voucher.
- update_voucher: update a voucher.
- pay_booking: pay a booking (bookingId, amount, associationId, accountId, paymentMethod, paymentDate YYYY-MM-DD).

For destructive removals (remove_invoice, remove_payment, cancel_voucher) use feegow_financial_delete.

[Flattened action: create_invoice_by_appt]
- `feegow_financial_write_create_voucher`: Write financial operations in Feegow.
Actions:
- associate_account: associate financial account to patient (account, association).
- update_nfse: update NFS-e number on invoice (invoice_id, nfse_numero).
- pay_invoice: pay an invoice.
- create_invoice: create a new invoice.
- create_invoice_by_appt: create invoice from appointment.
- create_voucher: create a voucher.
- update_voucher: update a voucher.
- pay_booking: pay a booking (bookingId, amount, associationId, accountId, paymentMethod, paymentDate YYYY-MM-DD).

For destructive removals (remove_invoice, remove_payment, cancel_voucher) use feegow_financial_delete.

[Flattened action: create_voucher]
- `feegow_financial_write_pay_booking`: Write financial operations in Feegow.
Actions:
- associate_account: associate financial account to patient (account, association).
- update_nfse: update NFS-e number on invoice (invoice_id, nfse_numero).
- pay_invoice: pay an invoice.
- create_invoice: create a new invoice.
- create_invoice_by_appt: create invoice from appointment.
- create_voucher: create a voucher.
- update_voucher: update a voucher.
- pay_booking: pay a booking (bookingId, amount, associationId, accountId, paymentMethod, paymentDate YYYY-MM-DD).

For destructive removals (remove_invoice, remove_payment, cancel_voucher) use feegow_financial_delete.

[Flattened action: pay_booking]
- `feegow_financial_write_pay_invoice`: Write financial operations in Feegow.
Actions:
- associate_account: associate financial account to patient (account, association).
- update_nfse: update NFS-e number on invoice (invoice_id, nfse_numero).
- pay_invoice: pay an invoice.
- create_invoice: create a new invoice.
- create_invoice_by_appt: create invoice from appointment.
- create_voucher: create a voucher.
- update_voucher: update a voucher.
- pay_booking: pay a booking (bookingId, amount, associationId, accountId, paymentMethod, paymentDate YYYY-MM-DD).

For destructive removals (remove_invoice, remove_payment, cancel_voucher) use feegow_financial_delete.

[Flattened action: pay_invoice]
- `feegow_financial_write_update_nfse`: Write financial operations in Feegow.
Actions:
- associate_account: associate financial account to patient (account, association).
- update_nfse: update NFS-e number on invoice (invoice_id, nfse_numero).
- pay_invoice: pay an invoice.
- create_invoice: create a new invoice.
- create_invoice_by_appt: create invoice from appointment.
- create_voucher: create a voucher.
- update_voucher: update a voucher.
- pay_booking: pay a booking (bookingId, amount, associationId, accountId, paymentMethod, paymentDate YYYY-MM-DD).

For destructive removals (remove_invoice, remove_payment, cancel_voucher) use feegow_financial_delete.

[Flattened action: update_nfse]
- `feegow_financial_write_update_voucher`: Write financial operations in Feegow.
Actions:
- associate_account: associate financial account to patient (account, association).
- update_nfse: update NFS-e number on invoice (invoice_id, nfse_numero).
- pay_invoice: pay an invoice.
- create_invoice: create a new invoice.
- create_invoice_by_appt: create invoice from appointment.
- create_voucher: create a voucher.
- update_voucher: update a voucher.
- pay_booking: pay a booking (bookingId, amount, associationId, accountId, paymentMethod, paymentDate YYYY-MM-DD).

For destructive removals (remove_invoice, remove_payment, cancel_voucher) use feegow_financial_delete.

[Flattened action: update_voucher]
- `feegow_insurance`: List all accepted insurance plans (convênios) and their sub-plans in Feegow. Optional filter by unidade_id.

Bulk support: accepts unidade_ids for batched execution.
- `feegow_list_accounts`: List Feegow API connections (clinics) linked to this install — id, label, name.
- `feegow_lock`: List schedule locks/blocks in Feegow. Filter by bloqueio_id, date_start, date_end (DD-MM-YYYY), profissional_id, unidade_id.
- `feegow_medical_report_get_file`: Read medical/lab reports (laudos) in Feegow.
Actions:
- list: list reports by date range. Requires start_date, end_date (YYYY-MM-DD), patient_id.
- get_file: get download URL for report file (valid 20 min). Requires lab_report_id.
- search: find report by agendamento_id. Optional: procedimento_id.
For creating a report use feegow_medical_report_write.

[Flattened action: get_file]
- `feegow_medical_report_list`: Read medical/lab reports (laudos) in Feegow.
Actions:
- list: list reports by date range. Requires start_date, end_date (YYYY-MM-DD), patient_id.
- get_file: get download URL for report file (valid 20 min). Requires lab_report_id.
- search: find report by agendamento_id. Optional: procedimento_id.
For creating a report use feegow_medical_report_write.

[Flattened action: list]
- `feegow_medical_report_search`: Read medical/lab reports (laudos) in Feegow.
Actions:
- list: list reports by date range. Requires start_date, end_date (YYYY-MM-DD), patient_id.
- get_file: get download URL for report file (valid 20 min). Requires lab_report_id.
- search: find report by agendamento_id. Optional: procedimento_id.
For creating a report use feegow_medical_report_write.

[Flattened action: search]
- `feegow_medical_report_write`: Register a new medical/lab report in Feegow. Requires agendamento_id, laudo_base64. Optional: profissional_laudador, procedimento_id.
- `feegow_patient_get`: Read patients in Feegow Clinic.
Actions:
- list: paginated patient list (offset/limit). Filter by telefone, cpf, origem_id, alterado_em, data_aniversario.
- get: full detail by paciente_id (includes address, insurance, documents).
- search_cpf: find patient by CPF (11 digits, numbers only).
Returns name, birth date, gender, address, phones, emails, documents, insurance info.

[Flattened action: get]

Bulk support: accepts paciente_ids, origem_ids for batched execution.
- `feegow_patient_list`: Read patients in Feegow Clinic.
Actions:
- list: paginated patient list (offset/limit). Filter by telefone, cpf, origem_id, alterado_em, data_aniversario.
- get: full detail by paciente_id (includes address, insurance, documents).
- search_cpf: find patient by CPF (11 digits, numbers only).
Returns name, birth date, gender, address, phones, emails, documents, insurance info.

[Flattened action: list]

Bulk support: accepts paciente_ids, origem_ids for batched execution.
- `feegow_patient_search_cpf`: Read patients in Feegow Clinic.
Actions:
- list: paginated patient list (offset/limit). Filter by telefone, cpf, origem_id, alterado_em, data_aniversario.
- get: full detail by paciente_id (includes address, insurance, documents).
- search_cpf: find patient by CPF (11 digits, numbers only).
Returns name, birth date, gender, address, phones, emails, documents, insurance info.

[Flattened action: search_cpf]

Bulk support: accepts paciente_ids, origem_ids for batched execution.
- `feegow_patient_support_exam_requests`: Supporting patient data reads in Feegow.
Actions:
- list_sources: list all patient origins (origem).
- list_dependents: list dependents for a patient (requires paciente_id).
- list_privates: list private pricing tables.
- health_programs: list health programs (filter by program_id, nome_programa, convenio_id, status, tipo_programa_id, data_start, data_end).
- exam_requests: list exam requests (requires paciente_id, data_inicio, data_fim, tipo_pedido: 1=Standard, 2=SADT).

For uploading a file to a patient record use feegow_patient_support_write.

[Flattened action: exam_requests]

Bulk support: accepts paciente_ids for batched execution.
- `feegow_patient_support_health_programs`: Supporting patient data reads in Feegow.
Actions:
- list_sources: list all patient origins (origem).
- list_dependents: list dependents for a patient (requires paciente_id).
- list_privates: list private pricing tables.
- health_programs: list health programs (filter by program_id, nome_programa, convenio_id, status, tipo_programa_id, data_start, data_end).
- exam_requests: list exam requests (requires paciente_id, data_inicio, data_fim, tipo_pedido: 1=Standard, 2=SADT).

For uploading a file to a patient record use feegow_patient_support_write.

[Flattened action: health_programs]

Bulk support: accepts paciente_ids for batched execution.
- `feegow_patient_support_list_dependents`: Supporting patient data reads in Feegow.
Actions:
- list_sources: list all patient origins (origem).
- list_dependents: list dependents for a patient (requires paciente_id).
- list_privates: list private pricing tables.
- health_programs: list health programs (filter by program_id, nome_programa, convenio_id, status, tipo_programa_id, data_start, data_end).
- exam_requests: list exam requests (requires paciente_id, data_inicio, data_fim, tipo_pedido: 1=Standard, 2=SADT).

For uploading a file to a patient record use feegow_patient_support_write.

[Flattened action: list_dependents]

Bulk support: accepts paciente_ids for batched execution.
- `feegow_patient_support_list_privates`: Supporting patient data reads in Feegow.
Actions:
- list_sources: list all patient origins (origem).
- list_dependents: list dependents for a patient (requires paciente_id).
- list_privates: list private pricing tables.
- health_programs: list health programs (filter by program_id, nome_programa, convenio_id, status, tipo_programa_id, data_start, data_end).
- exam_requests: list exam requests (requires paciente_id, data_inicio, data_fim, tipo_pedido: 1=Standard, 2=SADT).

For uploading a file to a patient record use feegow_patient_support_write.

[Flattened action: list_privates]

Bulk support: accepts paciente_ids for batched execution.
- `feegow_patient_support_list_sources`: Supporting patient data reads in Feegow.
Actions:
- list_sources: list all patient origins (origem).
- list_dependents: list dependents for a patient (requires paciente_id).
- list_privates: list private pricing tables.
- health_programs: list health programs (filter by program_id, nome_programa, convenio_id, status, tipo_programa_id, data_start, data_end).
- exam_requests: list exam requests (requires paciente_id, data_inicio, data_fim, tipo_pedido: 1=Standard, 2=SADT).

For uploading a file to a patient record use feegow_patient_support_write.

[Flattened action: list_sources]

Bulk support: accepts paciente_ids for batched execution.
- `feegow_patient_support_write`: Upload a base64 file to a patient record in Feegow. Requires data JSON with paciente_id or cpf+nascimento, base64_file, arquivo_descricao.
- `feegow_patient_write_create`: Create or edit patients in Feegow Clinic.
Actions:
- create: requires nome_completo and cpf (11 digits). Optional: data_nascimento (YYYY-MM-DD), genero (M/F), origem_id, celular, telefone, email, endereco, cidade, estado, cep, observacao, convenio_id, plano_id, matricula, titular, validade, tabela_id, nome_social, peso, altura.
- edit: requires paciente_id. All other fields optional — only pass what you want to change.

[Flattened action: create]
- `feegow_patient_write_edit`: Create or edit patients in Feegow Clinic.
Actions:
- create: requires nome_completo and cpf (11 digits). Optional: data_nascimento (YYYY-MM-DD), genero (M/F), origem_id, celular, telefone, email, endereco, cidade, estado, cep, observacao, convenio_id, plano_id, matricula, titular, validade, tabela_id, nome_social, peso, altura.
- edit: requires paciente_id. All other fields optional — only pass what you want to change.

[Flattened action: edit]
- `feegow_procedure_bundles`: Read procedures in Feegow. Values in centavos.
Actions:
- list: list procedures + values. Filter by tipo_procedimento, procedimento_id, unidade_id, paciente_id, especialidade_id, profissional_id, tabela_id, nome_procedimento.
- types: list procedure types (Cirurgia, Consulta, Exame, Procedimento, Retorno).
- insurance_list: list insurance plans that accept a procedure (by procedimentoID or nomeProcedimento).
- franchise: list imported franchise procedures (requires unidade_id).
- bundles: list procedure bundles/packages (optional procedimento_id, pacote_id).
- groups: list procedure groups (optional grupo_id).

[Flattened action: bundles]
- `feegow_procedure_franchise`: Read procedures in Feegow. Values in centavos.
Actions:
- list: list procedures + values. Filter by tipo_procedimento, procedimento_id, unidade_id, paciente_id, especialidade_id, profissional_id, tabela_id, nome_procedimento.
- types: list procedure types (Cirurgia, Consulta, Exame, Procedimento, Retorno).
- insurance_list: list insurance plans that accept a procedure (by procedimentoID or nomeProcedimento).
- franchise: list imported franchise procedures (requires unidade_id).
- bundles: list procedure bundles/packages (optional procedimento_id, pacote_id).
- groups: list procedure groups (optional grupo_id).

[Flattened action: franchise]
- `feegow_procedure_groups`: Read procedures in Feegow. Values in centavos.
Actions:
- list: list procedures + values. Filter by tipo_procedimento, procedimento_id, unidade_id, paciente_id, especialidade_id, profissional_id, tabela_id, nome_procedimento.
- types: list procedure types (Cirurgia, Consulta, Exame, Procedimento, Retorno).
- insurance_list: list insurance plans that accept a procedure (by procedimentoID or nomeProcedimento).
- franchise: list imported franchise procedures (requires unidade_id).
- bundles: list procedure bundles/packages (optional procedimento_id, pacote_id).
- groups: list procedure groups (optional grupo_id).

[Flattened action: groups]
- `feegow_procedure_insurance_list`: Read procedures in Feegow. Values in centavos.
Actions:
- list: list procedures + values. Filter by tipo_procedimento, procedimento_id, unidade_id, paciente_id, especialidade_id, profissional_id, tabela_id, nome_procedimento.
- types: list procedure types (Cirurgia, Consulta, Exame, Procedimento, Retorno).
- insurance_list: list insurance plans that accept a procedure (by procedimentoID or nomeProcedimento).
- franchise: list imported franchise procedures (requires unidade_id).
- bundles: list procedure bundles/packages (optional procedimento_id, pacote_id).
- groups: list procedure groups (optional grupo_id).

[Flattened action: insurance_list]
- `feegow_procedure_list`: Read procedures in Feegow. Values in centavos.
Actions:
- list: list procedures + values. Filter by tipo_procedimento, procedimento_id, unidade_id, paciente_id, especialidade_id, profissional_id, tabela_id, nome_procedimento.
- types: list procedure types (Cirurgia, Consulta, Exame, Procedimento, Retorno).
- insurance_list: list insurance plans that accept a procedure (by procedimentoID or nomeProcedimento).
- franchise: list imported franchise procedures (requires unidade_id).
- bundles: list procedure bundles/packages (optional procedimento_id, pacote_id).
- groups: list procedure groups (optional grupo_id).

[Flattened action: list]
- `feegow_procedure_types`: Read procedures in Feegow. Values in centavos.
Actions:
- list: list procedures + values. Filter by tipo_procedimento, procedimento_id, unidade_id, paciente_id, especialidade_id, profissional_id, tabela_id, nome_procedimento.
- types: list procedure types (Cirurgia, Consulta, Exame, Procedimento, Retorno).
- insurance_list: list insurance plans that accept a procedure (by procedimentoID or nomeProcedimento).
- franchise: list imported franchise procedures (requires unidade_id).
- bundles: list procedure bundles/packages (optional procedimento_id, pacote_id).
- groups: list procedure groups (optional grupo_id).

[Flattened action: types]
- `feegow_professional_get`: Read professionals (doctors, specialists) in Feegow.
Actions:
- list: list professionals. Requires ativo (0=inactive, 1=active). Optional: unidade_id, especialidade_id.
- get: full detail + specialties for a professional (requires profissional_id).
- insurance: list insurance plans accepted by a professional (requires profissional_id).

[Flattened action: get]

Bulk support: accepts profissional_ids, unidade_ids, especialidade_ids for batched execution.
- `feegow_professional_insurance`: Read professionals (doctors, specialists) in Feegow.
Actions:
- list: list professionals. Requires ativo (0=inactive, 1=active). Optional: unidade_id, especialidade_id.
- get: full detail + specialties for a professional (requires profissional_id).
- insurance: list insurance plans accepted by a professional (requires profissional_id).

[Flattened action: insurance]

Bulk support: accepts profissional_ids, unidade_ids, especialidade_ids for batched execution.
- `feegow_professional_list`: Read professionals (doctors, specialists) in Feegow.
Actions:
- list: list professionals. Requires ativo (0=inactive, 1=active). Optional: unidade_id, especialidade_id.
- get: full detail + specialties for a professional (requires profissional_id).
- insurance: list insurance plans accepted by a professional (requires profissional_id).

[Flattened action: list]

Bulk support: accepts profissional_ids, unidade_ids, especialidade_ids for batched execution.
- `feegow_proposal_get_url`: Read proposals (treatment plans with pricing) in Feegow. Values in R$.
Actions:
- list: list proposals for patient. Optional: paciente_id, data_inicio (DD-MM-YYYY), data_fim (DD-MM-YYYY), tipo_data (A=last update, I=creation).
- list_by_date: list proposals by date (data_proposta, data_alteracao YYYY-MM-DD, PacienteID).
- get_url: get proposal URL (proposta_id).
For creating / changing status use feegow_proposal_write.

[Flattened action: get_url]
- `feegow_proposal_list`: Read proposals (treatment plans with pricing) in Feegow. Values in R$.
Actions:
- list: list proposals for patient. Optional: paciente_id, data_inicio (DD-MM-YYYY), data_fim (DD-MM-YYYY), tipo_data (A=last update, I=creation).
- list_by_date: list proposals by date (data_proposta, data_alteracao YYYY-MM-DD, PacienteID).
- get_url: get proposal URL (proposta_id).
For creating / changing status use feegow_proposal_write.

[Flattened action: list]
- `feegow_proposal_list_by_date`: Read proposals (treatment plans with pricing) in Feegow. Values in R$.
Actions:
- list: list proposals for patient. Optional: paciente_id, data_inicio (DD-MM-YYYY), data_fim (DD-MM-YYYY), tipo_data (A=last update, I=creation).
- list_by_date: list proposals by date (data_proposta, data_alteracao YYYY-MM-DD, PacienteID).
- get_url: get proposal URL (proposta_id).
For creating / changing status use feegow_proposal_write.

[Flattened action: list_by_date]
- `feegow_proposal_write_change_status`: Create / update proposals in Feegow.
Actions:
- create: create proposal. Requires proposer_id (sys_user), paciente_id, status_id (1-5), proposal_date (DD-MM-YYYY), procedimentos array. Status: 1=Awaiting client, 2=Approved, 3=Rejected, 4=Awaiting financing, 5=Executed.
- change_status: update proposal status (proposal_id, status_id).

[Flattened action: change_status]
- `feegow_proposal_write_create`: Create / update proposals in Feegow.
Actions:
- create: create proposal. Requires proposer_id (sys_user), paciente_id, status_id (1-5), proposal_date (DD-MM-YYYY), procedimentos array. Status: 1=Awaiting client, 2=Approved, 3=Rejected, 4=Awaiting financing, 5=Executed.
- change_status: update proposal status (proposal_id, status_id).

[Flattened action: create]
- `feegow_report_generate`: List and generate system reports in Feegow.
Actions:
- list: list all available report types (returns id, Ct, Relatorio, Arquivo).
- generate: generate a report. Requires report (the Arquivo field from list). Optional DATA_INICIO/DATA_FIM (DD/MM/YYYY) passed together; the interval must be UNDER 6 months. Large reports come back as a downloadable file (open sections with arquivo_ler), not inline.
Report generation is a read-like operation (aggregates existing data — no state mutation).

[Flattened action: generate]
- `feegow_report_list`: List and generate system reports in Feegow.
Actions:
- list: list all available report types (returns id, Ct, Relatorio, Arquivo).
- generate: generate a report. Requires report (the Arquivo field from list). Optional DATA_INICIO/DATA_FIM (DD/MM/YYYY) passed together; the interval must be UNDER 6 months. Large reports come back as a downloadable file (open sections with arquivo_ler), not inline.
Report generation is a read-like operation (aggregates existing data — no state mutation).

[Flattened action: list]
- `feegow_specialty`: List all medical specialties available for scheduling in Feegow. Optional filter by unidade_id.

Bulk support: accepts unidade_ids for batched execution.
- `feegow_stock_get_position`: Read stock/inventory data in Feegow.
Actions:
- list_products: list products (perPage, page, id, location, category, producer, type).
- get_position: product position/levels (perPage, page, fabricante, produto, categoria, localizacao, dataInicio, dataFim).
- list_locations: stock locations (empty body {} lists all; each item has id, NomeLocalizacao, UnidadeID).

[Flattened action: get_position]
- `feegow_stock_list_locations`: Read stock/inventory data in Feegow.
Actions:
- list_products: list products (perPage, page, id, location, category, producer, type).
- get_position: product position/levels (perPage, page, fabricante, produto, categoria, localizacao, dataInicio, dataFim).
- list_locations: stock locations (empty body {} lists all; each item has id, NomeLocalizacao, UnidadeID).

[Flattened action: list_locations]
- `feegow_stock_list_products`: Read stock/inventory data in Feegow.
Actions:
- list_products: list products (perPage, page, id, location, category, producer, type).
- get_position: product position/levels (perPage, page, fabricante, produto, categoria, localizacao, dataInicio, dataFim).
- list_locations: stock locations (empty body {} lists all; each item has id, NomeLocalizacao, UnidadeID).

[Flattened action: list_products]
- `feegow_stock_write_entry`: Write stock operations in Feegow. Numeric fields MUST be JSON numbers (integers), never strings — Feegow rejects "4" where 4 is expected.
Actions:
- insert: insert new product. PrecoCompra and PrecoVenda are REQUIRED integers (whole numbers, no decimals). Typical fields: NomeProduto (string), TipoProduto, CategoriaID, FabricanteID, ApresentacaoNome (string), ApresentacaoQuantidade, ApresentacaoUnidade, LocalizacaoID, EstoqueMinimo, EstoqueMaximo, DiasAvisoValidade (all integers).
- entry: product entry into stock. Requires productId (integer), quantity (integer), date (string).
- movement: product movement between locations.
- exit: product exit from stock. Requires productId (integer), quantity (integer), date (string).

[Flattened action: entry]
- `feegow_stock_write_exit`: Write stock operations in Feegow. Numeric fields MUST be JSON numbers (integers), never strings — Feegow rejects "4" where 4 is expected.
Actions:
- insert: insert new product. PrecoCompra and PrecoVenda are REQUIRED integers (whole numbers, no decimals). Typical fields: NomeProduto (string), TipoProduto, CategoriaID, FabricanteID, ApresentacaoNome (string), ApresentacaoQuantidade, ApresentacaoUnidade, LocalizacaoID, EstoqueMinimo, EstoqueMaximo, DiasAvisoValidade (all integers).
- entry: product entry into stock. Requires productId (integer), quantity (integer), date (string).
- movement: product movement between locations.
- exit: product exit from stock. Requires productId (integer), quantity (integer), date (string).

[Flattened action: exit]
- `feegow_stock_write_insert`: Write stock operations in Feegow. Numeric fields MUST be JSON numbers (integers), never strings — Feegow rejects "4" where 4 is expected.
Actions:
- insert: insert new product. PrecoCompra and PrecoVenda are REQUIRED integers (whole numbers, no decimals). Typical fields: NomeProduto (string), TipoProduto, CategoriaID, FabricanteID, ApresentacaoNome (string), ApresentacaoQuantidade, ApresentacaoUnidade, LocalizacaoID, EstoqueMinimo, EstoqueMaximo, DiasAvisoValidade (all integers).
- entry: product entry into stock. Requires productId (integer), quantity (integer), date (string).
- movement: product movement between locations.
- exit: product exit from stock. Requires productId (integer), quantity (integer), date (string).

[Flattened action: insert]
- `feegow_stock_write_movement`: Write stock operations in Feegow. Numeric fields MUST be JSON numbers (integers), never strings — Feegow rejects "4" where 4 is expected.
Actions:
- insert: insert new product. PrecoCompra and PrecoVenda are REQUIRED integers (whole numbers, no decimals). Typical fields: NomeProduto (string), TipoProduto, CategoriaID, FabricanteID, ApresentacaoNome (string), ApresentacaoQuantidade, ApresentacaoUnidade, LocalizacaoID, EstoqueMinimo, EstoqueMaximo, DiasAvisoValidade (all integers).
- entry: product entry into stock. Requires productId (integer), quantity (integer), date (string).
- movement: product movement between locations.
- exit: product exit from stock. Requires productId (integer), quantity (integer), date (string).

[Flattened action: movement]
- `marketplace`: The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
- `report_bug`: Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
- `show_version`: Show the current MCP platform and adapter versions.
- `toolkit_info`: Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
