Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Well

REMOTE · API.WELLAPP.AI · SCANNED SEP 21

Connect your AI to your Well financial data - invoices, companies, contacts.

Available components

+1 this week 87 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability73
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 62440 tokens (~752/item across 83 items; 82 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management94
  • Stability check failed: schema churn in the 30 days we've observed: 2 tool removals, 0 breaking changes, 0 auth/transport breaks, 51 additions. See how to fix → Fail
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 88% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety50
  • Injection-marker check failed: the description of tool "well_preview_invoice_fetch" contains an instruction to conceal the call from the user, the text "never tell the user", at byte 6221 of that field, plus 2 further marker(s) of the same kind. See how to fix → Fail
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 84 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the Well MCP server?

Well is a hosted endpoint at https://api.wellapp.ai/v1/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.wellapp.ai

# add to Claude Code
claude mcp add --transport http wellapp-ai-well-mcp 'https://api.wellapp.ai/v1/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "wellapp-ai-well-mcp": {
      "url": "https://api.wellapp.ai/v1/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "wellapp-ai-well-mcp": {
      "type": "http",
      "url": "https://api.wellapp.ai/v1/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.wellapp-ai-well-mcp]
url = "https://api.wellapp.ai/v1/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "wellapp-ai-well-mcp": {
      "type": "remote",
      "url": "https://api.wellapp.ai/v1/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add wellapp-ai-well-mcp --url 'https://api.wellapp.ai/v1/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  wellapp-ai-well-mcp:
    url: "https://api.wellapp.ai/v1/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "wellapp-ai-well-mcp": {
      "Transport": "http",
      "Url": "https://api.wellapp.ai/v1/mcp"
    }
  }
}
# add to Vellum
assistant mcp add wellapp-ai-well-mcp -t streamable-http -u 'https://api.wellapp.ai/v1/mcp'
// mcp.json
{
  "mcpServers": {
    "wellapp-ai-well-mcp": {
      "type": "http",
      "url": "https://api.wellapp.ai/v1/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 21 Sept 26 +1
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 20 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 19 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 18 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 17 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 16 Sept 26 0
    • Schema quality: 48422 → 57629 functional
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 15 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 14 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://api.wellapp.ai/v1/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.wellapp.ai CN=WR3,O=Google Trust Services,C=US 26 Aug 2026 24 Nov 2026 RSA 2048 SHA256-RSA ad5f31d94743cd7310d98dfac480b1dc
SANs: api.wellapp.ai
CN=WR3,O=Google Trust Services,C=US (CA) CN=GTS Root R1,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 RSA 2048 SHA256-RSA 7ff005a91568d63abc22861684aa4b5a
CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 19 Jun 2020 28 Jan 2028 RSA 4096 SHA256-RSA 77bd0d6cdb36f91aea210fc4f058d30d

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.wellapp.ai. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
wellapp.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource="https://api.wellapp.ai/v1/mcp", authorization_server="https://api.wellapp.ai"

Bearer resource="https://api.wellapp.ai/v1/mcp", authorization_server="https://api.wellapp.ai"
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy no-referrer
permissions-policy camera=(), microphone=(), geolocation=(), interest-cohort=()

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.wellapp.ai/v1/mcp Verified 200
http (plaintext) http://api.wellapp.ai/v1/mcp HTTPS enforced 301 https://api.wellapp.ai:443/v1/mcp
MCP tools · 82 exposed · ~62,025 tokens partial

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
well_list_periods ~2,887

No description provided.

NameTypeReqDescription
monthsinteger
purposestring
replystring
subtitlestring
titlestring
workspace_idstring
yearinteger
NameTypeReqDescription
base_currencyyes
default_periodyes
errorstring
fiscal_year_start_monthnumberyes
hintsarray
navigable_yearsobjectyes
next_stepstring
periodsarrayyes
resolved_workspaceobject
successbooleanyes
workspace_idyes

No examples provided.

well_list_recurring_contexts ~965

No description provided.

NameTypeReqDescription
fromstringyes
tostringyes
workspace_idstring
NameTypeReqDescription
errorstring
groupsarrayyes
next_stepstring
partialbooleanyes
resolved_workspaceobject
successbooleanyes
totalsarrayyes
unreadable_rowsyes
windowobjectyes

No examples provided.

well_list_retargetable_connectors ~254

No description provided.

NameTypeReqDescription
workspace_idstring
NameTypeReqDescription
candidatesarray
errorstring
next_stepstring
resolved_workspaceobject
successbooleanyes

No examples provided.

well_list_uncategorized_window ~628

No description provided.

NameTypeReqDescription
fromstringyes
limitinteger
tostringyes
workspace_idstring
NameTypeReqDescription
errorstring
recordsarrayyes
resolved_workspaceobject
returnednumber
successbooleanyes
truncatedboolean
windowobjectyes

No examples provided.

well_list_unposted_transactions ~771

No description provided.

NameTypeReqDescription
fiscal_periodintegeryes
fiscal_yearintegeryes
limitinteger
workspace_idstring
NameTypeReqDescription
errorstring
ledger_catalogobject
recordsarrayyes
resolved_workspaceobject
returnednumber
successbooleanyes
truncatedboolean

No examples provided.

well_list_workspaces ~833

No description provided.

NameTypeReqDescription
workspace_idstring
NameTypeReqDescription
errorstring
sessionobject
successbooleanyes
workspacesarrayyes

No examples provided.

well_preview_invoice_fetch ~1,885

No description provided.

NameTypeReqDescription
calendar_monthinteger
calendar_yearinteger
fiscal_periodinteger
fiscal_yearinteger
periodsarray
workspace_idstring
NameTypeReqDescription
base_currencystring
calendar_monthinteger
calendar_yearinteger
collect_url
collect_url_omitsarray
collect_url_unaddressablearray
connect_rowsarrayyes
countsobject
errorstring
fiscal_periodinteger
fiscal_yearinteger
hintsarray
modestring
monthsarray
next_stepstring
nothing_launchedboolean
period_labelstring
periods_coveredarray
periods_requestedinteger
resolved_workspaceobject
rows_dropped_by_ownershipinteger
scoped_to_selected_counterpartiesboolean
selection_scopeobject
successbooleanyes
upload_rowsarrayyes
vendorsarrayyes
workspace_idstring

No examples provided.

well_propose_next_steps ~680

No description provided.

NameTypeReqDescription
stepsarrayyes
workspace_idstring
NameTypeReqDescription
errorstring
hintstringyes
next_stepstring
reasonyes
stepsarrayyes
successbooleanyes

No examples provided.

well_query_records ~2,266

No description provided.

NameTypeReqDescription
allFieldsboolean
cursorstring
fieldsarray
limitnumber
orderByobject
partyScopestring
rootstringyes
whereClauseobject
workspace_idstring
NameTypeReqDescription
columnMetaobject
columnsarray
errorstring
nextCursor
records_url
returnednumberyes
rowsarrayyes
successbooleanyes
totalCountnumberyes

No examples provided.

well_remove_contact_channel ~232

No description provided.

NameTypeReqDescription
channelstringyes
channel_idstringyes
idempotency_keystring
parentstringyes
parent_idstringyes
workspace_idstring
NameTypeReqDescription
channelstring
errorstring
parentstring
successbooleanyes

No examples provided.

well_render_burn ~1,430

No description provided.

NameTypeReqDescription
amountnumberyes
baselineobject
changenumber
conventionstringyes
convention_countsobjectyes
currencystringyes
excludedobjectyes
months_in_windowintegeryes
months_with_dataintegeryes
per_montharray
transaction_countintegeryes
unplaceable_countyes
windowobjectyes
workspace_idstring
NameTypeReqDescription
amountnumberyes
baselineobject
changenumber
computed_bystringyes
conventionstringyes
convention_countsobjectyes
currencystringyes
excludedobjectyes
months_in_windownumberyes
months_with_datanumberyes
per_montharray
resolved_workspaceobject
successbooleanyes
transaction_countnumberyes
trendstring
unplaceable_countyes
windowobjectyes

No examples provided.

well_render_cash_flow_bridge ~814

No description provided.

NameTypeReqDescription
closingobjectyes
currencystringyes
inflowsnumberyes
openingobjectyes
outflowsnumberyes
partialbooleanyes
period_endstringyes
period_startstringyes
reconcilesbooleanyes
unexplainednumberyes
workspace_idstring
NameTypeReqDescription
closingobjectyes
computed_bystringyes
currencystringyes
inflowsnumberyes
openingobjectyes
outflowsnumberyes
partialbooleanyes
period_endstringyes
period_startstringyes
reconcilesbooleanyes
resolved_workspaceobject
stepsarrayyes
successbooleanyes
unexplainednumberyes

No examples provided.

well_render_cash_forecast ~1,191

No description provided.

NameTypeReqDescription
actualsarrayyes
anchorobjectyes
as_ofstringyes
burnobjectyes
burn_policyobjectyes
cash_scopeobjectyes
currencystringyes
months_forwardintegeryes
partialbooleanyes
projectionarrayyes
workspace_idstring
NameTypeReqDescription
anchorobjectyes
as_ofstringyes
burnobjectyes
burn_policyobjectyes
cash_scopeobjectyes
computed_bystringyes
currencystringyes
entriesarrayyes
months_forwardnumberyes
partialbooleanyes
resolved_workspaceobject
successbooleanyes

No examples provided.

well_render_cash_position ~858

No description provided.

NameTypeReqDescription
accountsarrayyes
amountnumberyes
as_ofstringyes
balance_historyarray
currencystringyes
excludedobjectyes
partialbooleanyes
scopeobjectyes
workspace_idstring
NameTypeReqDescription
accountsarrayyes
amountnumberyes
as_ofstringyes
balance_historyarray
computed_bystringyes
currencystringyes
excludedobjectyes
partialbooleanyes
resolved_workspaceobject
scopeobjectyes
successbooleanyes

No examples provided.

well_render_mrr ~1,389

No description provided.

NameTypeReqDescription
amountnumberyes
baselineobject
changenumber
currencystringyes
excludedobjectyes
invoice_countintegeryes
months_in_windowintegeryes
months_with_revenueintegeryes
per_montharray
recurring_contextsarrayyes
unattributed_countyes
unclassified_countintegeryes
windowobjectyes
workspace_idstring
NameTypeReqDescription
amountnumberyes
baselineobject
changenumber
computed_bystringyes
currencystringyes
excludedobjectyes
invoice_countnumberyes
months_in_windownumberyes
months_with_revenuenumberyes
per_montharray
recurring_contextsarrayyes
resolved_workspaceobject
successbooleanyes
trendstring
unattributed_countyes
unclassified_countnumberyes
windowobjectyes

No examples provided.

well_render_runway ~1,093

No description provided.

NameTypeReqDescription
as_ofstringyes
avg_burnyes
cashyes
monthsnumberyes
partialbooleanyes
statusstringyes
windowobject
workspace_idstring
NameTypeReqDescription
as_ofstringyes
avg_burnyes
cashyes
computed_bystringyes
monthsnumberyes
partialbooleanyes
resolved_workspaceobject
statusstringyes
successbooleanyes
windowobject

No examples provided.

well_resolve_reconciliation_task ~233

No description provided.

NameTypeReqDescription
actionstringyes
idempotency_keystring
selectionobject
task_idsarrayyes
workspace_idstring
NameTypeReqDescription
errorstring
errorsarray
resolvedarray
successbooleanyes

No examples provided.

well_resolve_register_diff_gap ~308

No description provided.

NameTypeReqDescription
bank_ledger_account_idstringyes
category_ledger_account_idstringyes
idempotency_keystring
task_idstringyes
workspace_idstring
NameTypeReqDescription
already_postedboolean
errorstring
external_idstring
successbooleanyes
task_idstring

No examples provided.

well_retarget_connectors ~321

No description provided.

NameTypeReqDescription
idempotency_keystring
source_workspace_connector_idsarrayyes
workspace_idstring
NameTypeReqDescription
already_retargeted_workspace_connector_idsarray
created_workspace_connector_idsarray
errorstring
successbooleanyes

No examples provided.

well_run_register_diff ~460

No description provided.

NameTypeReqDescription
bank_workspace_connector_idstringyes
idempotency_keystring
register_workspace_connector_idstringyes
since_datestring
workspace_idstring
NameTypeReqDescription
already_linkednumber
contended_in_registernumber
contended_in_register_idsarray
enabledboolean
errorstring
gaps_already_proposednumber
gaps_proposednumber
matchednumber
missing_in_registernumber
missing_in_register_idsarray
raised_for_reviewnumber
successbooleanyes
unexplained_in_registernumber
unexplained_in_register_idsarray

No examples provided.

well_search_company_registry ~254

No description provided.

NameTypeReqDescription
countrystring
qstringyes
workspace_idstring
NameTypeReqDescription
degradedbooleanyes
errorstring
hitsarrayyes
successbooleanyes

No examples provided.

well_search_context ~274

No description provided.

NameTypeReqDescription
categorystring
entityIdstring
entityTypestring
occurredAfterstring
occurredBeforestring
querystringyes
topKinteger
workspace_idstring
NameTypeReqDescription
errorstring
resolved_workspaceobject
resultsarrayyes
successbooleanyes
total_returnednumberyes

No examples provided.

well_search_skill ~286

No description provided.

NameTypeReqDescription
querystring
workspace_idstring
NameTypeReqDescription
errorstring
reasonyes
skillsarrayyes
successbooleanyes

No examples provided.

well_set_own_company ~286

No description provided.

NameTypeReqDescription
company_idstringyes
idempotency_keystring
workspace_idstring
NameTypeReqDescription
errorstring
own_company_idstring
successbooleanyes

No examples provided.

well_set_transaction_category ~614

No description provided.

NameTypeReqDescription
categorystringyes
decisionstring
idempotency_keystring
transaction_idstringyes
workspace_idstring
NameTypeReqDescription
category
category_confidence
category_source
errorstring
successbooleanyes
transaction_idstring

No examples provided.

well_set_transaction_ledger_account ~528

No description provided.

NameTypeReqDescription
idempotency_keystring
ledger_account_idyes
no_invoice_expectedboolean
transaction_idstringyes
workspace_idstring
NameTypeReqDescription
errorstring
postedboolean
posting_outcomestring
successbooleanyes
transaction_idstring

No examples provided.

well_show_accounting_settings ~419

No description provided.

NameTypeReqDescription
requiredarray
subtitlestring
titlestring
workspace_idstring
NameTypeReqDescription
errorstring
next_stepstring
requiredarray
resolved_workspaceobject
settingsobject
successbooleanyes
suggestionsobject

No examples provided.

well_show_company_candidates ~279

No description provided.

NameTypeReqDescription
workspace_idstring
NameTypeReqDescription
anchoryes
candidatesarrayyes
errorstring
next_stepstring
resolved_workspaceobject
successbooleanyes

No examples provided.

well_show_records ~2,245

No description provided.

NameTypeReqDescription
allFieldsboolean
cursorstring
fieldsarray
limitnumber
orderByobject
partyScopestring
rootstringyes
whereClauseobject
workspace_idstring
NameTypeReqDescription
columnMetaobject
columnsarray
errorstring
nextCursor
records_url
returnednumberyes
rowsarrayyes
successbooleanyes
totalCountnumberyes

No examples provided.

well_show_retargetable_connectors ~368

No description provided.

NameTypeReqDescription
subtitlestring
titlestring
workspace_idstring
NameTypeReqDescription
candidatesarray
errorstring
next_stepstring
resolved_workspaceobject
successbooleanyes

No examples provided.

well_show_workspace_picker ~1,290

No description provided.

NameTypeReqDescription
replystring
subtitlestring
titlestring
workspace_idstring
workspace_idsarray
NameTypeReqDescription
errorstring
next_stepstring
sessionobject
successbooleanyes
workspacesarrayyes

No examples provided.

well_sum_invoices ~1,174

No description provided.

NameTypeReqDescription
fromstringyes
party_scopestringyes
tostringyes
workspace_idstring
NameTypeReqDescription
corrected_or_consolidated_countyes
errorstring
excluded_malformedyes
partialbooleanyes
resolved_workspaceobject
rowsarrayyes
successbooleanyes
unattributed_countyes
unclassified_countyes
windowobjectyes

No examples provided.

well_sum_transactions ~1,718

No description provided.

NameTypeReqDescription
axesarray
exclude_internal_transfersboolean
exempt_categoriesarray
fromstringyes
scopestringyes
tostringyes
workspace_idstring
NameTypeReqDescription
errorstring
excluded_malformednumberyes
excluded_multi_legyes
excluded_no_owned_legyes
excluded_zero_legyes
partialbooleanyes
resolved_workspaceobject
rowsarrayyes
successbooleanyes
windowobjectyes

No examples provided.

well_switch_workspace ~2,344

No description provided.

NameTypeReqDescription
ackstring
ack_outcomestring
counterpartiesarray
counterparty_periodsarray
exempt_categoriesarray
idempotency_keystring
next_stepobject
periodsarray
recurring_contextsarray
workspace_idstring
workspace_idsarray
NameTypeReqDescription
acknowledgedstring
acknowledged_outcomestring
changedarray
errorstring
pickupstringyes
resumedbooleanyes
selected_counterpartiesarray
selected_exemptionsarray
selected_next_stepobject
selected_periodsarray
selected_recurring_contextsarray
successbooleanyes
workspace_idstring
workspace_name
workspace_queuearray

No examples provided.

well_update_company ~905

No description provided.

NameTypeReqDescription
business_type
category_idsarray
company_idstringyes
decisionstring
description
domain
idempotency_keystring
locale
namestring
registered_name
registered_value
registry_country
registry_name
tax_id_type
tax_id_value
trade_name
workspace_idstring
NameTypeReqDescription
category_countinteger
company_idstring
decisionstring
errorstring
namestring
successbooleanyes

No examples provided.

well_update_invoice ~602

No description provided.

NameTypeReqDescription
billing_context
description
document_type_code
due_date
grand_total
idempotency_keystring
invoice_idstringyes
issue_date
issuer_company_id
items_total
local_currency
override_versioninteger
payment_statusstring
receiver_company_id
reference_number
statusstring
tax_total
terms
workspace_idstring
NameTypeReqDescription
errorstring
invoice_idstring
reference_number
successbooleanyes

No examples provided.

Common questions

What is the Well MCP server?

Well is an MCP server listed in the public MCP registry as io.github.WellApp-ai/well-mcp. Connect your AI to your Well financial data - invoices, companies, contacts. This page covers its hosted endpoint (https://api.wellapp.ai/v1/mcp).

Is the Well MCP server safe to use?

Well scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

Does the Well MCP server require authentication?

Yes. Well asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Well MCP server still maintained?

Well is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.