Skip to content

Hotmart

by mcp-dir · remote · no sign-in to list tools · v0.1.0 · published by GitHub user mcp-dir

Hotmart digital-products platform, sales (history, summary, commissions), subscriptions (list, cance

Final · 2Changes · 34

42 tools: 2 do something that can't be undone, 34 change things and 6 only read.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http hotmart https://api.mcp.ai/p_hotmart

Findings

Matches of fixed checks, with the text they matched.

3 warn2 info
  • The server marks "hotmart_subscriptions_purchases" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "hotmart_subscriptions_purchases" says "purchase": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The server marks "hotmart_coupons" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "hotmart_payment_links" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "hotmart_payment_links" says "link": a word for a change.

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...nticated:true and empty pending[]. When credentials are missing, returns connect_url for th..."

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...ating the tool list. If the MCP needs a credential/login, invoke returns a connect link; i..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

42 tools

Can't be undone 2Claude Code: ask
  • hotmart_sales_write_refundMutações em vendas Hotmart.No findings

    Why it is in this group

    • The name "hotmart_sales_write_refund" says "write": a word for a change.
    • The name "hotmart_sales_write_refund" also says "refund": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    Mutações em vendas Hotmart. Ações: - refund: reembolsa uma transação (transaction_code). Operação irreversível, devolve o valor ao comprador. [Flattened action: refund]

    Annotations the server declares

    • title: hotmart_sales_write_refund
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hotmart_subscriptions_purchasesLeitura de assinaturas na Hotmart.1 finding

    Why it is in this group

    • The name "hotmart_subscriptions_purchases" says "purchase": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "hotmart_subscriptions_purchases" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "hotmart_subscriptions_purchases" says "purchase": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Leitura de assinaturas na Hotmart. Ações: - list: assinaturas (filtros: product_id, subscriber_email, status ACTIVE|INACTIVE|CANCELLED_BY_*|OVERDUE, max_results, page_token). - summary: totais agregados de assinaturas. - purchases: compras/faturas de UMA assinatura (requer subscriber_code). - transactions: transações de UMA assinatura (requer subscriber_code). - switch_plan_plans: planos disponíveis pra troca (requer subscriber_code). [Flattened action: purchases] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_subscriptions_purchases
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 34Claude Code: ask
  • authenticateMCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Authenticate
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_accountDados da conta Hotmart conectada (nome, documento, configurações).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Dados da conta Hotmart conectada (nome, documento, configurações).

    Annotations the server declares

    • title: hotmart_account
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_club_lessonsÁrea de membros (Hotmart Club).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Área de membros (Hotmart Club). Inventaria e acompanha o conteúdo de um curso. Ações: - modules: módulos da área de membros (is_extra opcional filtra módulos extras). - pages: páginas/aulas de UM módulo (requer module_id). - students: alunos matriculados (student_email opcional filtra um aluno). - lessons: aulas/progresso de UM aluno (requer user_id). Todas exigem o subdomain da área de membros. [Flattened action: lessons] Bulk support: accepts module_ids, user_ids for batched execution.

    Annotations the server declares

    • title: hotmart_club_lessons
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_club_modulesÁrea de membros (Hotmart Club).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Área de membros (Hotmart Club). Inventaria e acompanha o conteúdo de um curso. Ações: - modules: módulos da área de membros (is_extra opcional filtra módulos extras). - pages: páginas/aulas de UM módulo (requer module_id). - students: alunos matriculados (student_email opcional filtra um aluno). - lessons: aulas/progresso de UM aluno (requer user_id). Todas exigem o subdomain da área de membros. [Flattened action: modules] Bulk support: accepts module_ids, user_ids for batched execution.

    Annotations the server declares

    • title: hotmart_club_modules
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_club_pagesÁrea de membros (Hotmart Club).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Área de membros (Hotmart Club). Inventaria e acompanha o conteúdo de um curso. Ações: - modules: módulos da área de membros (is_extra opcional filtra módulos extras). - pages: páginas/aulas de UM módulo (requer module_id). - students: alunos matriculados (student_email opcional filtra um aluno). - lessons: aulas/progresso de UM aluno (requer user_id). Todas exigem o subdomain da área de membros. [Flattened action: pages] Bulk support: accepts module_ids, user_ids for batched execution.

    Annotations the server declares

    • title: hotmart_club_pages
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_club_studentsÁrea de membros (Hotmart Club).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Área de membros (Hotmart Club). Inventaria e acompanha o conteúdo de um curso. Ações: - modules: módulos da área de membros (is_extra opcional filtra módulos extras). - pages: páginas/aulas de UM módulo (requer module_id). - students: alunos matriculados (student_email opcional filtra um aluno). - lessons: aulas/progresso de UM aluno (requer user_id). Todas exigem o subdomain da área de membros. [Flattened action: students] Bulk support: accepts module_ids, user_ids for batched execution.

    Annotations the server declares

    • title: hotmart_club_students
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_couponsLista cupons de desconto de um produto (requer product_id; filtros: code, page_token).1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "hotmart_coupons" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Lista cupons de desconto de um produto (requer product_id; filtros: code, page_token). Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_coupons
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_coupons_write_createMutações em cupons de desconto Hotmart.No findings

    Why it is in this group

    • The name "hotmart_coupons_write_create" says "write": a word for a change.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    Description, as the server wrote it
    Mutações em cupons de desconto Hotmart. Ações: - create: cria um cupom num produto (product_id + code + discount decimal 0-1, ex.: 0.1 = 10%). - delete: remove um cupom (coupon_id). [Flattened action: create] Bulk support: accepts product_ids, coupon_ids for batched execution.

    Annotations the server declares

    • title: hotmart_coupons_write_create
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hotmart_coupons_write_deleteMutações em cupons de desconto Hotmart.No findings

    Why it is in this group

    • The name "hotmart_coupons_write_delete" says "write": a word for a change.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    Description, as the server wrote it
    Mutações em cupons de desconto Hotmart. Ações: - create: cria um cupom num produto (product_id + code + discount decimal 0-1, ex.: 0.1 = 10%). - delete: remove um cupom (coupon_id). [Flattened action: delete] Bulk support: accepts product_ids, coupon_ids for batched execution.

    Annotations the server declares

    • title: hotmart_coupons_write_delete
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hotmart_events_infoEventos presenciais (Hotmart Events).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Eventos presenciais (Hotmart Events). Ações: - info: dados do evento e tipos de ingresso (requer event_id). - participants: ingressos, compradores e participantes do evento (requer event_id). [Flattened action: info] Bulk support: accepts event_ids for batched execution.

    Annotations the server declares

    • title: hotmart_events_info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_events_participantsEventos presenciais (Hotmart Events).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Eventos presenciais (Hotmart Events). Ações: - info: dados do evento e tipos de ingresso (requer event_id). - participants: ingressos, compradores e participantes do evento (requer event_id). [Flattened action: participants] Bulk support: accepts event_ids for batched execution.

    Annotations the server declares

    • title: hotmart_events_participants
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_negotiationCria uma negociação (recuperação) de uma assinatura em atraso (requer subscriber_code).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Cria uma negociação (recuperação) de uma assinatura em atraso (requer subscriber_code).

    Annotations the server declares

    • title: hotmart_negotiation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hotmart_products_offersCatálogo de produtos do creator na Hotmart (Products API).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Catálogo de produtos do creator na Hotmart (Products API). Ações: - list: lista produtos (filtros: max_results, page_token). - offers: ofertas de UM produto (requer ucode). - plans: planos de assinatura de UM produto (requer ucode). [Flattened action: offers]

    Annotations the server declares

    • title: hotmart_products_offers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_products_plansCatálogo de produtos do creator na Hotmart (Products API).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Catálogo de produtos do creator na Hotmart (Products API). Ações: - list: lista produtos (filtros: max_results, page_token). - offers: ofertas de UM produto (requer ucode). - plans: planos de assinatura de UM produto (requer ucode). [Flattened action: plans]

    Annotations the server declares

    • title: hotmart_products_plans
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_sales_commissionsLeitura de vendas na Hotmart (Payments API).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leitura de vendas na Hotmart (Payments API). Ações: - history: histórico de transações (filtros: start_date/end_date YYYY-MM-DD, product_id, transaction_status, buyer_email, max_results, page_token). - summary: totais agregados de vendas no período. - users: participantes das vendas (compradores, afiliados, coprodutores). - commissions: comissões por venda (você como produtor/coprodutor/afiliado). - price_details: detalhes de preço/taxas por venda. Retorna os dados crus da Hotmart (items + page_info de paginação). [Flattened action: commissions] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_sales_commissions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_sales_historyLeitura de vendas na Hotmart (Payments API).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leitura de vendas na Hotmart (Payments API). Ações: - history: histórico de transações (filtros: start_date/end_date YYYY-MM-DD, product_id, transaction_status, buyer_email, max_results, page_token). - summary: totais agregados de vendas no período. - users: participantes das vendas (compradores, afiliados, coprodutores). - commissions: comissões por venda (você como produtor/coprodutor/afiliado). - price_details: detalhes de preço/taxas por venda. Retorna os dados crus da Hotmart (items + page_info de paginação). [Flattened action: history] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_sales_history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_sales_price_detailsLeitura de vendas na Hotmart (Payments API).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leitura de vendas na Hotmart (Payments API). Ações: - history: histórico de transações (filtros: start_date/end_date YYYY-MM-DD, product_id, transaction_status, buyer_email, max_results, page_token). - summary: totais agregados de vendas no período. - users: participantes das vendas (compradores, afiliados, coprodutores). - commissions: comissões por venda (você como produtor/coprodutor/afiliado). - price_details: detalhes de preço/taxas por venda. Retorna os dados crus da Hotmart (items + page_info de paginação). [Flattened action: price_details] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_sales_price_details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_sales_summaryLeitura de vendas na Hotmart (Payments API).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leitura de vendas na Hotmart (Payments API). Ações: - history: histórico de transações (filtros: start_date/end_date YYYY-MM-DD, product_id, transaction_status, buyer_email, max_results, page_token). - summary: totais agregados de vendas no período. - users: participantes das vendas (compradores, afiliados, coprodutores). - commissions: comissões por venda (você como produtor/coprodutor/afiliado). - price_details: detalhes de preço/taxas por venda. Retorna os dados crus da Hotmart (items + page_info de paginação). [Flattened action: summary] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_sales_summary
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_sales_usersLeitura de vendas na Hotmart (Payments API).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leitura de vendas na Hotmart (Payments API). Ações: - history: histórico de transações (filtros: start_date/end_date YYYY-MM-DD, product_id, transaction_status, buyer_email, max_results, page_token). - summary: totais agregados de vendas no período. - users: participantes das vendas (compradores, afiliados, coprodutores). - commissions: comissões por venda (você como produtor/coprodutor/afiliado). - price_details: detalhes de preço/taxas por venda. Retorna os dados crus da Hotmart (items + page_info de paginação). [Flattened action: users] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_sales_users
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_subscriptions_summaryLeitura de assinaturas na Hotmart.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leitura de assinaturas na Hotmart. Ações: - list: assinaturas (filtros: product_id, subscriber_email, status ACTIVE|INACTIVE|CANCELLED_BY_*|OVERDUE, max_results, page_token). - summary: totais agregados de assinaturas. - purchases: compras/faturas de UMA assinatura (requer subscriber_code). - transactions: transações de UMA assinatura (requer subscriber_code). - switch_plan_plans: planos disponíveis pra troca (requer subscriber_code). [Flattened action: summary] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_subscriptions_summary
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_subscriptions_switch_plan_plansLeitura de assinaturas na Hotmart.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leitura de assinaturas na Hotmart. Ações: - list: assinaturas (filtros: product_id, subscriber_email, status ACTIVE|INACTIVE|CANCELLED_BY_*|OVERDUE, max_results, page_token). - summary: totais agregados de assinaturas. - purchases: compras/faturas de UMA assinatura (requer subscriber_code). - transactions: transações de UMA assinatura (requer subscriber_code). - switch_plan_plans: planos disponíveis pra troca (requer subscriber_code). [Flattened action: switch_plan_plans] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_subscriptions_switch_plan_plans
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_subscriptions_transactionsLeitura de assinaturas na Hotmart.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Leitura de assinaturas na Hotmart. Ações: - list: assinaturas (filtros: product_id, subscriber_email, status ACTIVE|INACTIVE|CANCELLED_BY_*|OVERDUE, max_results, page_token). - summary: totais agregados de assinaturas. - purchases: compras/faturas de UMA assinatura (requer subscriber_code). - transactions: transações de UMA assinatura (requer subscriber_code). - switch_plan_plans: planos disponíveis pra troca (requer subscriber_code). [Flattened action: transactions] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_subscriptions_transactions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_subscriptions_write_cancelMutações em assinaturas Hotmart.No findings

    Why it is in this group

    • The name "hotmart_subscriptions_write_cancel" says "write": a word for a change.
    Description, as the server wrote it
    Mutações em assinaturas Hotmart. Ações: - cancel: cancela 1+ assinaturas (subscriber_codes[]). send_mail (default true) avisa o assinante. - reactivate: reativa 1+ assinaturas (subscriber_codes[]). charge (default false) cobra na hora. - change_due_day: muda o dia de cobrança de UMA assinatura (subscriber_code + due_day 1-31). - switch_plan: troca o plano de uma assinatura (data com subscriber_code + novo plano, conforme doc). [Flattened action: cancel]

    Annotations the server declares

    • title: hotmart_subscriptions_write_cancel
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hotmart_subscriptions_write_change_due_dayMutações em assinaturas Hotmart.No findings

    Why it is in this group

    • The name "hotmart_subscriptions_write_change_due_day" says "write": a word for a change.
    Description, as the server wrote it
    Mutações em assinaturas Hotmart. Ações: - cancel: cancela 1+ assinaturas (subscriber_codes[]). send_mail (default true) avisa o assinante. - reactivate: reativa 1+ assinaturas (subscriber_codes[]). charge (default false) cobra na hora. - change_due_day: muda o dia de cobrança de UMA assinatura (subscriber_code + due_day 1-31). - switch_plan: troca o plano de uma assinatura (data com subscriber_code + novo plano, conforme doc). [Flattened action: change_due_day]

    Annotations the server declares

    • title: hotmart_subscriptions_write_change_due_day
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hotmart_subscriptions_write_reactivateMutações em assinaturas Hotmart.No findings

    Why it is in this group

    • The name "hotmart_subscriptions_write_reactivate" says "write": a word for a change.
    Description, as the server wrote it
    Mutações em assinaturas Hotmart. Ações: - cancel: cancela 1+ assinaturas (subscriber_codes[]). send_mail (default true) avisa o assinante. - reactivate: reativa 1+ assinaturas (subscriber_codes[]). charge (default false) cobra na hora. - change_due_day: muda o dia de cobrança de UMA assinatura (subscriber_code + due_day 1-31). - switch_plan: troca o plano de uma assinatura (data com subscriber_code + novo plano, conforme doc). [Flattened action: reactivate]

    Annotations the server declares

    • title: hotmart_subscriptions_write_reactivate
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hotmart_subscriptions_write_switch_planMutações em assinaturas Hotmart.No findings

    Why it is in this group

    • The name "hotmart_subscriptions_write_switch_plan" says "write": a word for a change.
    Description, as the server wrote it
    Mutações em assinaturas Hotmart. Ações: - cancel: cancela 1+ assinaturas (subscriber_codes[]). send_mail (default true) avisa o assinante. - reactivate: reativa 1+ assinaturas (subscriber_codes[]). charge (default false) cobra na hora. - change_due_day: muda o dia de cobrança de UMA assinatura (subscriber_code + due_day 1-31). - switch_plan: troca o plano de uma assinatura (data com subscriber_code + novo plano, conforme doc). [Flattened action: switch_plan]

    Annotations the server declares

    • title: hotmart_subscriptions_write_switch_plan
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • marketplaceThe official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...ating the tool list. If the MCP needs a credential/login, invoke returns a connect link; i..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Marketplace
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • report_bugReport a bug, missing feature, or send feedback.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

    Annotations the server declares

    • title: Report Bug
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 6Claude Code: allow
  • connectReturns connection status and URLs.1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...nticated:true and empty pending[]. When credentials are missing, returns connect_url for th..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Connection Status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_list_accountsLista contas Hotmart (creators) vinculadas a este install — id, label e apelido.No findings

    Why it is in this group

    • The name "hotmart_list_accounts" says "list": a word for reading.
    Description, as the server wrote it
    Lista contas Hotmart (creators) vinculadas a este install — id, label e apelido.

    Annotations the server declares

    • title: hotmart_list_accounts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_products_listCatálogo de produtos do creator na Hotmart (Products API).No findings

    Why it is in this group

    • The name "hotmart_products_list" says "list": a word for reading.
    Description, as the server wrote it
    Catálogo de produtos do creator na Hotmart (Products API). Ações: - list: lista produtos (filtros: max_results, page_token). - offers: ofertas de UM produto (requer ucode). - plans: planos de assinatura de UM produto (requer ucode). [Flattened action: list]

    Annotations the server declares

    • title: hotmart_products_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hotmart_subscriptions_listLeitura de assinaturas na Hotmart.No findings

    Why it is in this group

    • The name "hotmart_subscriptions_list" says "list": a word for reading.
    Description, as the server wrote it
    Leitura de assinaturas na Hotmart. Ações: - list: assinaturas (filtros: product_id, subscriber_email, status ACTIVE|INACTIVE|CANCELLED_BY_*|OVERDUE, max_results, page_token). - summary: totais agregados de assinaturas. - purchases: compras/faturas de UMA assinatura (requer subscriber_code). - transactions: transações de UMA assinatura (requer subscriber_code). - switch_plan_plans: planos disponíveis pra troca (requer subscriber_code). [Flattened action: list] Bulk support: accepts product_ids for batched execution.

    Annotations the server declares

    • title: hotmart_subscriptions_list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • show_versionShow the current MCP platform and adapter versions.No findings

    Why it is in this group

    • The name "show_version" says "show": a word for reading.
    Description, as the server wrote it
    Show the current MCP platform and adapter versions.

    Annotations the server declares

    • title: Show Version
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • toolkit_infoReturns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

    Annotations the server declares

    • title: Toolkit Info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http hotmart https://api.mcp.ai/p_hotmart

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__hotmart__hotmart_list_accounts",
      "mcp__hotmart__hotmart_subscriptions_list",
      "mcp__hotmart__hotmart_products_list",
      "mcp__hotmart__show_version",
      "mcp__hotmart__connect",
      "mcp__hotmart__toolkit_info"
    ],
    "ask": [
      "mcp__hotmart__hotmart_sales_history",
      "mcp__hotmart__hotmart_sales_summary",
      "mcp__hotmart__hotmart_sales_users",
      "mcp__hotmart__hotmart_sales_commissions",
      "mcp__hotmart__hotmart_sales_price_details",
      "mcp__hotmart__hotmart_sales_write_refund",
      "mcp__hotmart__hotmart_subscriptions_summary",
      "mcp__hotmart__hotmart_subscriptions_purchases",
      "mcp__hotmart__hotmart_subscriptions_transactions",
      "mcp__hotmart__hotmart_subscriptions_switch_plan_plans",
      "mcp__hotmart__hotmart_subscriptions_write_cancel",
      "mcp__hotmart__hotmart_subscriptions_write_reactivate",
      "mcp__hotmart__hotmart_subscriptions_write_change_due_day",
      "mcp__hotmart__hotmart_subscriptions_write_switch_plan",
      "mcp__hotmart__hotmart_products_offers",
      "mcp__hotmart__hotmart_products_plans",
      "mcp__hotmart__hotmart_club_modules",
      "mcp__hotmart__hotmart_club_pages",
      "mcp__hotmart__hotmart_club_students",
      "mcp__hotmart__hotmart_club_lessons",
      "mcp__hotmart__hotmart_coupons",
      "mcp__hotmart__hotmart_coupons_write_create",
      "mcp__hotmart__hotmart_coupons_write_delete",
      "mcp__hotmart__hotmart_events_info",
      "mcp__hotmart__hotmart_events_participants",
      "mcp__hotmart__hotmart_account",
      "mcp__hotmart__hotmart_payment_links",
      "mcp__hotmart__hotmart_payment_links_write_create",
      "mcp__hotmart__hotmart_payment_links_write_add_offer",
      "mcp__hotmart__hotmart_payment_links_write_add_plan",
      "mcp__hotmart__hotmart_payment_links_write_charge_offer",
      "mcp__hotmart__hotmart_payment_links_write_charge_value",
      "mcp__hotmart__hotmart_negotiation",
      "mcp__hotmart__report_bug",
      "mcp__hotmart__marketplace",
      "mcp__hotmart__authenticate"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as hotmart. Review it before you use it.