Skip to main content
Glama
personaleasy-mcp-server

personaleasy-mcp-server

by marqprochat

personaleasy-mcp-server

MCP server for the PersonalEasy API | EasyDental Cloud | DentalKids.

Tools

Tool

Description

Parameters

personaleasy_get_agendamentos

Fetches appointments in the period

dt_inicio, dt_termino (YYYY-MM-DD), nm_unidade (optional)

personaleasy_get_kpi_producao

Production KPIs for dashboard

dt_inicio, dt_termino, nm_unidade (opt.), nm_prestador (opt.)

personaleasy_get_prestador_por_cpf

Provider ID and name by CPF

cpf (format 999.999.999-99)

personaleasy_get_unidades

Lists active service units

—

All tools are read-only (readOnlyHint: true).

Related MCP server: open-dental-mcp

Installation

npm install
npm run build

Credentials

Credentials are never kept in the code. Set them via environment variables:

  • PERSONALEASY_API_KEY — the api-key (header x-api-key)

  • PERSONALEASY_CLIENT_ID — the client ID

  • PERSONALEASY_BASE_URL — optional, defaults to https://prsrb.onrender.com/v1/rpc

For local testing, copy .env.example to .env and fill it in. The .env file is in .gitignore — do not version it or share it.

Configuration in Claude Code

claude mcp add personaleasy --env PERSONALEASY_API_KEY=SUA_KEY --env PERSONALEASY_CLIENT_ID=SEU_CLIENT_ID -- node D:/MCPS/personaleasy-mcp-server/dist/index.js

Configuration in Claude Desktop

In claude_desktop_config.json:

{
  "mcpServers": {
    "personaleasy": {
      "command": "node",
      "args": ["D:/MCPS/personaleasy-mcp-server/dist/index.js"],
      "env": {
        "PERSONALEASY_API_KEY": "SUA_KEY",
        "PERSONALEASY_CLIENT_ID": "SEU_CLIENT_ID"
      }
    }
  }
}

Deploy on Easypanel (Docker)

The project has two execution modes:

  • stdio (dist/index.js) — local use (Claude Code / Claude Desktop)

  • HTTP (dist/http.js) — remote use; this is the mode used by the Dockerfile

On Easypanel, create an App service pointing to this repository (build via Dockerfile) and configure the environment variables:

Variable

Required

Description

PERSONALEASY_API_KEY

yes

API api-key

PERSONALEASY_CLIENT_ID

yes

Client ID

MCP_AUTH_TOKEN

recommended

Bearer token required on the /mcp endpoint (generate a long random value)

PORT

no

defaults to 3000

Expose port 3000 on the service. Endpoints:

  • POST /mcp — MCP endpoint (Streamable HTTP, stateless)

  • GET /health — healthcheck

Production instance

  • Base URL: https://dk-projetos-mcps.nv8gf3.easypanel.host

  • Healthcheck: GET https://dk-projetos-mcps.nv8gf3.easypanel.host/health → {"status":"ok"}

  • MCP Endpoint: POST https://dk-projetos-mcps.nv8gf3.easypanel.host/mcp

To connect an MCP client to this instance:

claude mcp add --transport http personaleasy https://dk-projetos-mcps.nv8gf3.easypanel.host/mcp --header "Authorization: Bearer SEU_MCP_AUTH_TOKEN"

Replace SEU_MCP_AUTH_TOKEN with the value set in the MCP_AUTH_TOKEN variable of the Easypanel service.

Important: without MCP_AUTH_TOKEN configured in the service, anyone with this URL can query the clinic's data. Make sure the variable is set in production.

Underlying API

All calls go to a single RPC endpoint:

POST {BASE_URL}
Headers: x-api-key
Body: { "clientId": "...", "method": "RPCGet...", "params": { ... } }

Methods used: RPCGetAgendamentos, RPCGetKPIPrd, RPCGetPrestadorCPF, RPCGetUnidadeAtendimento.

Available Tools

4 tools
personaleasy_get_agendamentosBuscar agendamentosA
Read-only

Retorna os agendamentos no período informado. Opcionalmente filtra por unidade de atendimento (use personaleasy_get_unidades para descobrir os nomes válidos).

Inputs: dt_inicio (required), dt_termino (required), nm_unidade.

personaleasy_get_kpi_producaoKPIs de produçãoA
Read-only

Retorna dados de produção (KPIs de dashboard) no período informado. Filtros opcionais por unidade e por prestador.

Inputs: dt_inicio (required), dt_termino (required), nm_unidade, nm_prestador.

personaleasy_get_prestador_por_cpfBuscar prestador por CPFA
Read-only

Retorna o ID e o Nome do prestador a partir do CPF.

Inputs: cpf (required).

personaleasy_get_unidadesListar unidades ativasA
Read-only

Retorna o ID e o Nome das unidades de atendimento ativas.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

    TDQS

    A3.8/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool targets a distinct resource: appointments (agendamentos), production KPIs, provider lookup by CPF, and units. There is no overlap in purpose, and the descriptions clearly differentiate them.

    Naming Consistency4/5

    All tools follow the pattern `personaleasy_get_<resource>`, using the same prefix and verb. The resource names are in Portuguese, which is consistent with the domain, though the prefix adds redundancy.

    Tool Count4/5

    Four tools is appropriate for a focused server that provides read-only access to core entities (appointments, KPIs, providers, units). It is not too few for the apparent scope, and each tool serves a clear purpose.

    Completeness3/5

    The tool set covers reading key entities, but there are obvious gaps: no filtering by provider for appointments, no tool for patients or procedures, and only a CPF-based lookup for providers. Write operations (create, update, delete) are absent, limiting the surface to querying.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      MCP server for the DataGate billing platform API, providing read-only tools to manage customers, invoices, products, agreements, sites, and payments.
      13
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables interaction with Open Dental practice management software, allowing reading of patients, appointments, providers, procedures, and recalls, as well as writing communications back to patient charts via MCP clients.
      14
      7
      MIT