Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,544Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:2eb1b2e3a308c9598d9363fb8dae37228d3d7448c5c29ba2b0994360a828ba5f
What it is
What a remote MCP server returned when asked what it offers: 16 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Creates a note/chat entry in Healthie (additive). Requires content (the note text); optionally attach it to a client (user_id) or mark it as an org chat. GraphQL: mutation createNote(input: createNoteInput).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "content": { "description": "The note text.", "minLength": 1, "type": "string" }, "org_chat": { "description": "True if created in the organization chat context.", "type": "boolean" }, "user_id": { "description": "The client/user the note is about.", "type": "string" } }, "required": [ "content" ], "type": "object" }, "name": "healthie_create_note", "outputSchema": null }, { "description": "Creates a task in Healthie (additive). Requires content (the task text); optionally attach it to a client (user_id), set a due_date, priority, or created_by_id. GraphQL: mutation createTask(input: createTaskInput).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "content": { "description": "The task text/description.", "minLength": 1, "type": "string" }, "created_by_id": { "description": "Id of the user creating the task.", "type": "string" }, "due_date": { "description": "Due date (YYYY-MM-DD).", "type": "string" }, "priority": { "description": "Priority (integer).", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "user_id": { "description": "The client/user the task is about.", "type": "string" } }, "required": [ "content" ], "type": "object" }, "name": "healthie_create_task", "outputSchema": null }, { "description": "Fetch the authenticated Healthie account (the provider/user that owns the API key). Good first call to verify auth. Read-only. GraphQL: query currentUser.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "healthie_current_user", "outputSchema": null }, { "description": "Fetch a single appointment by id. Read-only. GraphQL: query appointment(id).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "The appointment id.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "healthie_get_appointment", "outputSchema": null }, { "description": "Fetch the current organization / practice (name, NPI, contact, user counts). Read-only. GraphQL: query organization.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "healthie_get_organization", "outputSchema": null }, { "description": "Fetch a single user (patient or provider) by id. Read-only. GraphQL: query user(id).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "The user id.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "healthie_get_user", "outputSchema": null }, { "description": "List the practice's appointment types (services), optionally keyword-filtered. Read-only. GraphQL: query appointmentTypes(keywords, offset, page_size, should_paginate).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "keywords": { "description": "Free-text search over appointment type names.", "type": "string" }, "offset": { "description": "Pagination offset. Default 0.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "page_size": { "description": "Results per page. Default 25.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "type": "object" }, "name": "healthie_list_appointment_types", "outputSchema": null }, { "description": "List appointments, optionally filtered by patient, provider, date range, time-filter or status. Read-only. GraphQL: query appointments(user_id, provider_id, filter, startDate, endDate, filter_by_appointment_status).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "endDate": { "description": "End date (YYYY-MM-DD) to bound results.", "type": "string" }, "filter": { "description": "Time filter: \"future\" (default), \"past\", \"ended\", \"didnt-occur\".", "type": "string" }, "filter_by_appointment_status": { "description": "Filter by appointment status label.", "type": "string" }, "provider_id": { "description": "Filter to appointments for this provider id.", "type": "string" }, "startDate": { "description": "Start date (YYYY-MM-DD) to bound results.", "type": "string" }, "user_id": { "description": "Filter to appointments for this patient/client id.", "type": "string" } }, "type": "object" }, "name": "healthie_list_appointments", "outputSchema": null }, { "description": "List messaging conversations, optionally between the current user and a given user. Read-only. GraphQL: query conversations(user_id).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "user_id": { "description": "Get conversations between the current user and this user id.", "type": "string" } }, "type": "object" }, "name": "healthie_list_conversations", "outputSchema": null }, { "description": "List documents, optionally scoped to a patient (viewable_user_id) or by keyword. Read-only. GraphQL: query documents(viewable_user_id, keywords, offset, page_size, should_paginate).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "keywords": { "description": "Free-text search over document names.", "type": "string" }, "offset": { "description": "Pagination offset. Default 0.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "page_size": { "description": "Results per page. Default 25.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "viewable_user_id": { "description": "Patient id whose documents to list.", "type": "string" } }, "type": "object" }, "name": "healthie_list_documents", "outputSchema": null }, { "description": "List completed form submissions (charting notes / filled intake forms), optionally scoped to a patient or a form template. Read-only. GraphQL: query formAnswerGroups(user_id, custom_module_form_id, should_paginate, offset).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "custom_module_form_id": { "description": "Filter to submissions of this form template id.", "type": "string" }, "offset": { "description": "Pagination offset. Default 0.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "user_id": { "description": "Filter to submissions for this patient id.", "type": "string" } }, "type": "object" }, "name": "healthie_list_form_answer_groups", "outputSchema": null }, { "description": "List custom module form templates (charting notes, intake forms), optionally by keyword or category. Read-only. GraphQL: query customModuleForms(keywords, category, offset, page_size, should_paginate).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Filter by form category.", "type": "string" }, "keywords": { "description": "Free-text search over form names.", "type": "string" }, "offset": { "description": "Pagination offset. Default 0.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "page_size": { "description": "Results per page. Default 25.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "type": "object" }, "name": "healthie_list_forms", "outputSchema": null }, { "description": "List goals, optionally scoped to a patient. Read-only. GraphQL: query goals(user_id, offset, per_page).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "offset": { "description": "Pagination offset. Default 0.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "per_page": { "description": "Results per page. Default 25.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "user_id": { "description": "Filter to goals for this patient id.", "type": "string" } }, "type": "object" }, "name": "healthie_list_goals", "outputSchema": null }, { "description": "List tracked metric entries (weight, blood pressure, etc.), optionally scoped to a client or a category. Read-only. GraphQL: query entries(client_id, category, offset, page_size).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Entry category, e.g. \"MetricEntry\", \"Weight\".", "type": "string" }, "client_id": { "description": "Filter to entries for this client id.", "type": "string" }, "offset": { "description": "Pagination offset. Default 0.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "page_size": { "description": "Results per page (max 500). Default 25.", "exclusiveMinimum": 0, "maximum": 500, "type": "integer" } }, "type": "object" }, "name": "healthie_list_metric_entries", "outputSchema": null }, { "description": "List patients/clients, optionally filtered by keyword search or active status. Read-only. GraphQL: query users(keywords, offset, page_size, should_paginate, active_status).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "active_status": { "description": "Filter by status: \"active\" or \"archived\".", "type": "string" }, "keywords": { "description": "Free-text search over name/email.", "type": "string" }, "offset": { "description": "Pagination offset. Default 0.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "page_size": { "description": "Results per page (max 100). Default 25.", "exclusiveMinimum": 0, "maximum": 100, "type": "integer" } }, "type": "object" }, "name": "healthie_list_patients", "outputSchema": null }, { "description": "List tasks, optionally scoped to a client or filtered by completion status. Read-only. GraphQL: query tasks(client_id, completed_status, offset, per_page).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "client_id": { "description": "Filter to tasks about this client id.", "type": "string" }, "completed_status": { "description": "Completion filter, e.g. \"complete\" or \"incomplete\".", "type": "string" }, "offset": { "description": "Pagination offset. Default 0.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "per_page": { "description": "Results per page. Default 25.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "type": "object" }, "name": "healthie_list_tasks", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:2eb1b2e3a308c9598d9363fb8dae37228d3d7448c5c29ba2b0994360a828ba5f | sha256sum