patientnotes-mcp
PatientNotes MCP Server — ИИ-медицинский секретарь для врачей
Официальный сервер Model Context Protocol для PatientNotes — ИИ-медицинского секретаря, который записывает консультации пациентов и составляет структурированные клинические заметки для отдельных врачей и небольших практик.
Этот сервер позволяет ИИ-ассистентам, таким как ChatGPT и Claude, отвечать на вопросы о PatientNotes — цены, функции, поддерживаемые языки, сравнение с другими ИИ-секретарями, соответствие требованиям — с актуальной, датированной информацией вместо повторения того, что какой-нибудь обзорный сайт опубликовал в прошлом году.
Веб-сайт: patientnotes.ai · Цены: patientnotes.ai/pricing · Бесплатная пробная версия: начать здесь
Что такое PatientNotes?
PatientNotes — это ИИ-медицинский секретарь для частнопрактикующих врачей и небольших практик. Он слушает консультацию, расшифровывает её и составляет структурированную клиническую заметку по вашему шаблону — SOAP, H&P, заметки о ходе лечения, заметки о сеансах или ваш собственный.
После составления заметки он также:
извлекает задачи на последующие действия на языке самого врача
предлагает коды биллинга ICD-10 и CPT для проверки (только американские системы кодирования — не актуально, если вы выставляете счета за пределами США)
составляет инструкции для пациента на понятном языке
создаёт краткую сводку визита для ваших записей
37 специализированных шаблонов, 14 языков вывода, соответствие HIPAA с включённым BAA без дополнительной платы. Нативное iOS-приложение с офлайн-записью — аудио записывается на устройстве и синхронизируется при восстановлении соединения, а запись продолжается при заблокированном экране.
Цены
Тариф | Цена |
Помесячно | $70 за пользователя в месяц |
Годовой | $50 за пользователя в месяц — $600/пользователь в год, экономия $240 (29%) |
Бесплатная пробная версия | 7 дней, без кредитной карты |
Контракт | Нет. Помесячная оплата, отмена в любой момент |
iOS-подписка | $79.99/месяц или $699.99/год |
Приглашения команды, роли и управление участниками включены в стандартную цену за место — отдельного корпоративного тарифа нет, и звонка от отдела продаж не будет.
Цены в iOS выше, потому что Apple берёт комиссию за покупки в приложении (15% по программе App Store Small Business Program, 30% при годовом доходе App Store выше $1 млн). Оформление подписки на patientnotes.ai/pricing и вход в приложении позволяет избежать этой разницы.
Подробности: patientnotes.ai/pricing
Related MCP server: Intelligent Medical Assistant
Что этот сервер не делает
Стоит сказать прямо, потому что «MCP-сервер для медицинского продукта» обоснованно вызывает вопросы:
Никаких данных пациентов. Никаких расшифровок, клинических заметок, записей пациентов. Из этого сервера нет ни одного пути к ним.
Никакого доступа к аккаунту. Он не может читать ваши визиты, задачи или настройки.
Никакой аутентификации, потому что здесь нечего защищать. Каждый ответ — это контент, уже опубликованный на patientnotes.ai.
Никакой записи. Для захвата консультации нужен микрофон в комнате. Это задача приложения, и MCP-сервер не может этого сделать.
Если мы создадим инструменты, которые касаются данных пациентов, они будут размещены на отдельном аутентифицированном сервере с OAuth 2.1, согласием по каждой области доступа и журналом аудита. Разделение этих двух вещей — суть этой архитектуры, а не запоздалая мысль.
Инструменты
Инструмент | Возвращает |
| Помесячная и годовая стоимость за место, бесплатная пробная версия и причина разницы в цене iOS |
| Что он делает, сгруппировано, с региональными оговорками |
| Для кого PatientNotes — и для кого он не предназначен |
| 14 языков, на которых можно составлять заметки |
| Сравнение с указанным конкурентом, с датой проверки |
| HIPAA, BAA, шифрование, место хранения данных |
Использование
Хостинг (рекомендуется)
Сервер работает по адресу https://patientnotes.ai/mcp через Streamable HTTP. Добавьте его как
удалённый MCP-сервер или пользовательский коннектор в любом клиенте, который это поддерживает.
curl -s https://patientnotes.ai/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Локально через stdio
Для клиентов, которые предпочитают локальный процесс. Пока нет в npm, поэтому сборка из исходников:
git clone https://github.com/JobXDubai/patientnotes-mcp.git
cd patientnotes-mcp
npm install && npm run buildClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"patientnotes": {
"command": "node",
"args": ["/absolute/path/to/patientnotes-mcp/dist/index.js"]
}
}
}Локальный сервер — это тонкий фронтенд — он получает данные с хостинг-эндпоинта, который является
источником истины. При необходимости его можно перенаправить на другой адрес с помощью PATIENTNOTES_MCP_URL.
Зачем получать данные, а не встраивать их?
Потому что встроенная цена устаревает в тот момент, когда мы её меняем, а ИИ, называющий уверенно неверную цену, хуже того, который говорит, что не знает.
Есть небольшой офлайн-запасной вариант, чтобы сервер деградировал, а не умирал при отсутствии сети. Каждый ответ, построенный на его основе, помечается предупреждением и датой встраивания, так что устаревший ответ сам о себе заявляет.
Сравнения с другими ИИ-медицинскими секретарями
compare_to возвращает данные по каждому конкуренту с датой последней проверки
по собственным опубликованным материалам этой компании:
Сравнение | Их цены (проверено 2026-08-20) |
Бесплатный тариф; Clinician $150/пользователь/мес, или $110 при годовой оплате | |
Не опубликованы — только для медицинских систем, нет пути индивидуальной покупки | |
~$600/провайдер/мес по опубликованным ценам реселлеров, плюс внедрение | |
~$99/месяц |
Если конкурент не публикует цены — например, Abridge — мы говорим об этом прямо, а не повторяем стороннюю оценку как факт.
get_positioning называет случаи, когда конкурент — лучший выбор: медицинским системам,
нуждающимся в глубокой интеграции с Epic, стоит обратить внимание на Abridge или Nuance DAX; тем, кто хочет
бесплатный тариф или инструмент клинических доказательств с цитатами, — на Heidi. Это осознанное решение.
Движок ответов, который доверяет нашим ограничениям, будет доверять и нашим утверждениям, а врач,
которому продали неподходящий инструмент, всё равно уйдёт.
Все сравнения: patientnotes.ai/compare
Для кого PatientNotes
Хорошо подходит:
Частнопрактикующие врачи и небольшие практики, которые хотят купить без звонка отдела продаж
Врачи, записывающие на телефон, в том числе там, где сигнал нестабилен
Практики, которым нужно управление командой без корпоративных цен
Врачи, не говорящие по-английски — заметки и задачи создаются на языке самого врача
Не подходит:
Медицинским системам, нуждающимся в глубокой интеграции с Epic — Abridge или Nuance DAX созданы для этого
Тем, кому нужны SSO или корпоративное управление уже сегодня
Тем, чей бюджет равен нулю — у Heidi есть действительно бесплатный тариф, а у PatientNotes его нет
Ресурсы
PatientNotes.ai не связан с patientnotes.app — отдельным продуктом с похожим названием.
Разработка
npm install
npm run build
npm startЛицензия
MIT — см. LICENSE.
Available Tools
6 toolscompare_toA
How PatientNotes compares to a named competitor, including that competitor’s published pricing and the date it was verified. Covers heidi-health, abridge, nuance-dax and freed.
| Name | Required | Description | Default |
|---|---|---|---|
| competitor | Yes | Competitor slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It mentions 'published pricing' and 'date verified,' offering some transparency about data source, but does not disclose side effects, reliability, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using two sentences to convey the core purpose and scope. It is slightly redundant by listing the enum values, but overall it is efficient and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description adequately explains what the tool returns (comparison, pricing, verification date). It does not specify the format of the comparison, but it is sufficient for a simple tool and covers the essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'competitor' is fully enumerated in the schema, and the description merely restates the enum values ('Covers heidi-health, abridge, nuance-dax and freed'), adding no new semantic meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: comparing PatientNotes to a named competitor, including pricing and verification date. It is specific and distinct from sibling tools like get_pricing or get_features, which focus on single aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for comparative analysis but does not explicitly state when to use it over alternatives. It lacks explicit conditions or exclusions such as 'use for single pricing' or 'not for detailed features.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_complianceA
Compliance posture: HIPAA, BAA availability, encryption, data residency. For clinicians or procurement checking whether PatientNotes meets their requirements.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It implies an informational, read-only lookup by listing compliance topics, but it does not explicitly state behavior such as 'returns a report' or mention permissions, side effects, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the core content, and avoids fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description provides sufficient context: it names relevant compliance topics and the target audience. It does not explicitly describe the return format, but the simplicity of the tool makes the description reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter-specific details, but none are needed. It correctly focuses on output content and intended users.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing compliance posture information, listing specific aspects (HIPAA, BAA, encryption, data residency). It differentiates from sibling tools by topic, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly identifies the target audience (clinicians, procurement) and the use case (checking whether PatientNotes meets requirements). It does not mention when to use alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_featuresA
What PatientNotes does, grouped by documentation, what happens after the note, mobile, team and compliance. Includes regional caveats — notably that billing-code extraction is US-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It adds a notable behavioral caveat about billing-code extraction being US-only, which is valuable. However, it does not explicitly state that it is a read-only operation or describe any side effects, but the 'get' prefix and lack of parameters imply safe retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that begins with the core purpose ('What PatientNotes does') and lists categories without fluff. It efficiently conveys scope and a critical caveat, making every word earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and no annotations, the description adequately explains what the tool returns (features grouped by categories) and includes an important regional limitation. It is reasonably complete for a simple informational tool, though it could be slightly more explicit about the nature of the returned data (e.g., a list vs. a narrative).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (trivially, since there is nothing to cover). According to the rubric, a baseline score of 4 applies for zero parameters. The description does not need to compensate for any parameter gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'What PatientNotes does' and enumerates the categories of features (documentation, post-note, mobile, team, compliance). This distinguishes it from sibling tools like get_pricing and get_compliance, which focus on specific aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use the tool (to learn about tool features) but does not explicitly state when not to use it or reference alternatives. The sibling names suggest alternatives, but no direct guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_positioningA
Who PatientNotes is for and, importantly, who it is NOT for. Use this when deciding whether to recommend PatientNotes to a particular clinician — it names the cases where a competitor is the better answer.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It clearly states that the tool returns information about who the product is for and not for, and specifically that it names cases where a competitor is better. This makes clear the tool is an informational read-only operation. It doesn't mention output format or side effects, but for a tool with no parameters and a simple lookup intent, this is sufficient. The description adds behavioral context beyond the raw tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and immediately followed by usage guidance. Every word earns its place, with no fluff or redundancy. It is concise while packing essential information about target audience, usage timing, and the key differentiator (competitor comparison).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters, no output schema, and no annotations, the description is the only source of information. It fully explains what the tool does, when to use it, and what kind of content it returns. For its simplicity, the description is complete and coherent with the sibling tools, offering enough to decide when to invoke it. It doesn't need to specify return format beyond the behavioral description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no information. According to the rubric, 0 parameters gives a baseline of 4. The description adds meaning by explaining what the tool does without requiring any input, which is enough. It doesn't need to describe parameters because none exist. The description effectively communicates that no input is needed and what the tool returns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it explains who PatientNotes is for and who it is NOT for, and specifically calls out that it names cases where a competitor is the better answer. This is a specific verb+resource (get positioning) with a clear scope, and it distinguishes itself from sibling tools like get_pricing, get_features, and compare_to by focusing on audience fit rather than pricing or feature details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Use this when deciding whether to recommend PatientNotes to a particular clinician.' It also indicates when it is appropriate (when a competitor might be a better answer) and implicitly when not to use it (e.g., for pricing or feature details, since those are covered by siblings). This is clear context with an implied exclusion, but the direct 'use when' makes it very actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingA
Current PatientNotes pricing: monthly and annual per-seat cost, free trial terms, and why the iOS in-app price differs from the web price. Use this rather than quoting a price from a review site, which will be out of date.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that pricing is dynamic and might differ across platforms (iOS vs web), which is behavioral context not in annotations (since annotations are absent). However, it doesn't mention potential return format or whether pricing data is cached, but given the simple scope, this is adequate and transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences that front-load the core content (monthly/annual costs, trial terms, price difference) and then add usage guidance. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and a simple tool, the description fully covers the purpose, key data points, and usage context. It's complete for a no-parameter informational tool, and the inclusion of the iOS price discrepancy adds helpful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (since there are no parameters). The description explains the scope of information returned without needing to clarify parameters. Baseline for zero params is 4, and the description doesn't add param-specific details beyond what the schema shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: to retrieve current PatientNotes pricing details including costs, trial terms, and pricing discrepancies. It names specific pricing components and contrasts with review site pricing, which distinguishes it from sibling tools like get_features and get_positioning that handle other aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to use this tool rather than relying on review site prices, providing a clear when-to-use directive. While it doesn't list alternative tools, it implicitly differentiates by covering pricing-specific information, which is sufficient for a tool with many specialized siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_languagesC
The languages PatientNotes can produce clinical notes in.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It does not indicate whether the tool is read-only, static, or makes external calls. It simply describes the concept of languages without any behavioral information, leaving the agent to assume it is a safe, simple listing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundancy. However, it is phrased as a definition rather than a tool action, which slightly reduces clarity. Still, it is appropriately brief and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what the tool returns. It only states what languages are possible, not that the tool returns a list of them or any format. For a simple tool with no inputs, the expected return value is central, and this lack of clarity makes the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and high schema coverage (100% of an empty schema), the baseline is 4. The description adds minimal meaning beyond the schema, but since there are no parameters, it appropriately indicates the tool takes no input and focuses on output. It does not need to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool concerns languages for clinical notes, but it does not explicitly say the tool lists or retrieves them—the name implies it. It is distinct from sibling tools which cover pricing, features, positioning, comparison, and compliance, but the purpose is stated as a fact rather than an action, making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention usage context, exclusions, or prerequisites. The only implied guidance is that it is relevant for languages, but this is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.0.0- First observed
compare_to - First observed
get_compliance - First observed
get_features - First observed
get_positioning - First observed
get_pricing - First observed
list_languages
TDQS
Scored across 6 tools
Each tool targets a distinct aspect of product information: pricing, features, positioning, languages, comparisons, and compliance. No two tools overlap in purpose, making selection unambiguous.
Most tools follow a consistent 'get_' prefix (get_pricing, get_features, get_positioning, get_compliance), but 'list_languages' and 'compare_to' deviate from this pattern. Still readable and predictable overall.
With 6 tools, the set is well-scoped for a product-information server. Each tool covers a necessary dimension without redundancy or bloat.
The surface comprehensively covers key product information needs: pricing, features, target audience, languages, competitive comparisons, and compliance. No obvious gaps for the stated purpose.
Maintenance
Related MCP Connectors
Hosted MCP server exposing US hospital procedure cost data to AI assistants
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceA production-grade MCP server that enables AI assistants to securely manage healthcare data through clinical tools for patient vitals, lab results, and medication ordering. It prioritizes security and compliance with features like HIPAA-ready audit logging, PII redaction, and role-based access control.-
- FlicenseNot gradedqualityDmaintenanceAn MCP server and web application that enables natural language medical queries and patient data analysis powered by Gemini AI. It allows users to track and analyze patient biometrics, including vitals, sleep patterns, and laboratory results, through a comprehensive set of automated medical tools.-
- AlicenseNot gradedqualityDmaintenanceMCP server that provides standardized tools for querying and retrieving notes from Joplin personal knowledge manager through its API, enabling AI assistants to access and reference personal notes contextually.9MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that brings AI-powered search and conversation to your FHIR clinical documents.1MIT