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.

Website Auditor

NPM · WEBSITE-AUDITOR-MCP · SCANNED SEP 22

AI visibility + site audits: see if ChatGPT, Perplexity, Claude & Gemini recommend a website.

Available components

+2 this week 84 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability77
  • 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 4347 tokens (~289/item across 15 items; 15 tools + 0 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 Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 16 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
Install

How do I install the Website Auditor MCP server?

Website Auditor runs locally as an npm package, launched with npx -y website-auditor-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · website-auditor-mcp

# add to Claude Code
claude mcp add spikeycoder-website-auditor-mcp -- npx -y website-auditor-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "spikeycoder-website-auditor-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "website-auditor-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "spikeycoder-website-auditor-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "website-auditor-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add spikeycoder-website-auditor-mcp -- npx -y website-auditor-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "spikeycoder-website-auditor-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "website-auditor-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add spikeycoder-website-auditor-mcp --command npx --arg -y --arg website-auditor-mcp
# ~/.hermes/config.yaml
mcp_servers:
  spikeycoder-website-auditor-mcp:
    command: "npx"
    args: ["-y", "website-auditor-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "spikeycoder-website-auditor-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "website-auditor-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add spikeycoder-website-auditor-mcp -t stdio -c npx -a -y website-auditor-mcp
// mcp.json
{
  "mcpServers": {
    "spikeycoder-website-auditor-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "website-auditor-mcp"
      ]
    }
  }
}
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.

  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 21 Sept 26 −1
    • Security disclosure: unverified → fail functional
    • Stability: pass → 0.93 functional
  • 20 Sept 26 0
    • Stability: 0.97 → pass security
    • Security disclosure: fail → unverified functional
  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 +1
    • Package version: 1.0.23 → 1.0.24 functional
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 −3
    • Stability: pass → 0.77 functional
  • 12 Sept 26 0
    • Stability: 0.97 → pass security
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 22 Sept 2026 · Analysed npm/website-auditor-mcp@1.0.24

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 96 packages
Packages resolved 96
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 15 exposed · ~3,457 tokens

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
check_upgrade_status ~117

Check the caller's own Website Auditor subscription standing. Use this when someone asks "am I on Pro," "is my trial still active," "when does my subscription renew/end," "why is this tool locked," or before suggesting an upgrade. Works with any valid API key and consumes no audit quota. Returns the tier (none/free/pro), raw subscription status, period end, whether the subscription is set to cancel, the upgrade URL, and a plain-language summary — including what starting Pro requires (a payment method and accepting the Terms).

Input schema present but exposes no named parameters.

NameTypeReqDescription
cancel_at_period_endbooleanyes
current_period_endstring|nullyes
messagestringyes
statusstringyesRaw subscription status: active, trialing, canceled, none, …
tierstringyes"none" | "free" | "pro".
upgrade_urlstringyes

No examples provided.

compare_competitors ~318

Compare a website's AI visibility head-to-head against named competitors. Use this when someone asks "how do I stack up against X and Y," "who does ChatGPT recommend instead of me," or wants a competitive AI-visibility view. Returns each competitor's score and where they appear that the site does not. Each competitor not already cached costs one audit against your daily quota; if the quota can't cover every competitor, it ranks the ones it could audit and returns a `quota` summary plus a `skipped` list naming the rest — it never drops competitors silently or invents scores. If the quota is already exhausted it returns an over-quota error with the reset time. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
business_locationstringOptional. The market to compare within, e.g. "Chiang Mai, Thailand". Applied to the site AND every competitor, because a comparison asks about one market — scoring one locally and the others globally…
competitorsarrayyesCompetitor domains to compare against.
domainstringyesThe website domain, e.g. "example.com".
NameTypeReqDescription
gapsarrayyesEngines where a competitor appears in AI answers and this site does not.
marketstring|nullyesThe market every audit in this comparison was scored in, or null when each domain's own location was detected.
quotaobjectyes
rankingarrayyes
skippedarrayyes
summarystringyes

No examples provided.

generate_schema ~162

Generate ready-to-paste structured data (JSON-LD schema) tailored to a website, to improve how AI assistants and search engines understand it. Use this when someone asks for "schema," "structured data," "JSON-LD," or wants the actual markup to implement a recommendation. Returns valid JSON-LD. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
domainstringyesThe website domain, e.g. "example.com".
typestringSchema type, or auto-detect.
NameTypeReqDescription
jsonldThe JSON-LD document, ready to paste into the site.
placement_notesstringyesWhere to put the snippet, e.g. "in the <head> of every page".

No examples provided.

get_ai_visibility ~501

Check how visible a website is to AI assistants right now. Use this whenever someone asks "does ChatGPT/Perplexity/Claude/Gemini recommend this business," "is my site showing up in AI answers," "what's my AI visibility / GEO score," or wants a quick read on whether an AI assistant would surface a given domain. Returns an overall AI-visibility score (0–100), a per-engine breakdown (ChatGPT, Perplexity, Claude, Gemini), and the top competitor appearing in place of the site. When the audit recorded citations, `sources` lists the documents the assistants actually read, ranked by cross-engine agreement, each marked `yours`, `competitor` or `third_party` — treat `competitor` rows as context, not as placement targets; `sources: null` means the recorded answers cited nothing attributable, and an absent key means citations were not recorded for this audit. The result also includes trend data: 7- and 30-day score movement computed from the domain's stored snapshot history, for the question this audit asked, ending at the snapshot this audit stored; when it stored no measured snapshot, `trend` is null and `trend_note` says why. If `name_warning` is present, the business name behind the score could not be verified — relay that caveat rather than presenting the score as settled fact, and offer to re-run with an explicit business name. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
business_locationstringOptional. The city the business trades in, e.g. "Hilo, HI". Leave it out and the audit detects it; when nothing is detectable the questions widen to the country or drop the place entirely, which is r…
business_namestringOptional. The business's real name, if you know it. Leave it out and the audit detects the name from the site and flags it when unverified — a guessed name is scored as if confirmed, so supply one on…
domainstringyesThe website domain, e.g. "example.com".
NameTypeReqDescription
appears_by_engineobjectyesWhether the site appeared at all on each engine. Distinct from the scores: an engine can have appearances yet a low score, or the reverse. NULL when the engine was not scored — false would assert it…
by_engineobjectyesPer-engine AI-visibility score, 0–100. NULL means the engine was not scored — see engine_status for which of the two reasons. A null is NOT a zero: zero means the engine answered and never named the…
coverage_notestringPresent exactly when an engine was asked and did not answer. Relay it: the score covers fewer engines than the four this tool can query.
engine_statusobjectyesWhy each engine's score is what it is. 'scored' — the engine answered and the number is a measurement. 'unanswered' — it was asked and returned nothing, so there is no score; do not report it as 0. '…
name_sourcestring"detected" | "user_supplied" | "domain_fallback".
name_verifiedboolean
name_warningstringSet ONLY when the business name behind the score could not be verified. The score is computed from queries built around that name, so relay this caveat rather than presenting the score as settled.
scorenumberyesOverall AI-visibility score, 0–100.
sources
summarystringyes
top_competitorstring|nullyesThe competitor appearing in place of the site, if any.
trendyesPro only; null when unavailable — trend_note says why.
trend_notestringPresent exactly when trend is null: the reason.

No examples provided.

get_benchmark ~163

Benchmark a website's AI visibility against its industry and location. Use this when someone asks "how do I compare to others in my space," "is this a good score for my industry," or wants percentile/peer context rather than an absolute number. Backed by aggregated audit data. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
domainstringyesThe website domain, e.g. "example.com".
geostringOptional location override.
industrystringOptional industry override.
NameTypeReqDescription
peer_mediannumberyes
percentilenumberyesThe domain's percentile within its industry/geo peer set, 0–100.
position_summarystringyes
sample_sizenumberyesHow many peers the percentile and median are computed over.

No examples provided.

get_changes ~331

Report what changed in a website's AI-visibility score, only between two snapshots that asked the same question. Use this when someone asks "did anything change," "what's different this week/month," or "did my AI visibility drop." Requires the domain to be tracked (see track_site). Returns the change in the overall score and the per-engine score changes, for engines measured both times; competitor_changes, new_issues and resolved_issues are always empty, since snapshots record neither competitors nor audit issues. A change is only ever measured between two snapshots that asked the same question (the same business name, market and queries); when there is no such pair it says why instead of giving a number, with the date the series re-baselined when it did. The series is the measured weekly re-audits and any audit that asked the same question as the newest recorded one, while it has no gap longer than four weeks and a day from the newest weekly re-audit that recorded its question, through each later snapshot of the series (weekly re-audits included, recorded or not), to the newest measured snapshot; otherwise every measured snapshot. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
domainstringyesThe website domain, e.g. "example.com".
sincestringOptional ISO date or "last_check".
NameTypeReqDescription
competitor_changesarrayyesAlways empty: AI-visibility snapshots record no competitors. Kept for clients that read it.
engine_changesarrayyes
from_captured_atstringWhen the earlier snapshot compared was captured.
new_issuesarrayyesAlways empty: AI-visibility snapshots record no audit issues. Kept for clients that read it.
notestringPresent when skipped_snapshots is above 0, when newer measured snapshots were left out of the series, or when newer weekly re-audits measured nothing of the business: which, and why, in words. Relay…
resolved_issuesarrayyesAlways empty: AI-visibility snapshots record no audit issues. Kept for clients that read it.
score_deltanumberyesOnly ever between two snapshots that asked the same question. When there is no such pair, including a re-baseline after the business name, market or queries changed, the tool returns NOT_YET_AVAILABL…
skipped_snapshotsnumberSnapshots passed over because they asked a different question (another business name, market or queries) or do not record what they asked.
to_captured_atstringWhen the later one was.

No examples provided.

get_gtm_plan ~309

Build a written go-to-market plan from a website's latest audit, grounded in its citation evidence. Use this when someone asks "what should I do about my AI visibility," "turn this audit into a plan," or wants a GTM or marketing plan for their site. The plan is built from the `sources` the assistants actually read — each marked `yours`, `competitor` or `third_party`; competitor sources shape the analysis but are never placement targets. When the audit recorded no citation evidence the plan grounds itself in the report's issues and stats instead. Pass `focus` or `constraints` to steer it, and `prior_plan` (the markdown from an earlier call) to refine rather than start over. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
constraintsstringBudget, team, or time constraints — e.g. "solo founder, $200/mo".
domainstringyesThe website domain, e.g. "example.com".
focusstringWhat to emphasize — e.g. "local directories", "content", "a launch next month".
prior_planstringThe markdown of a plan from an earlier call, to refine instead of starting over.
NameTypeReqDescription
domainstringyes
evidence_notestringAdditive, never an error: set when the plan had no citation evidence.
modelstringyes
planobjectyes
sources_usedarrayyes
summarystringyes

No examples provided.

get_monitoring_status ~300

Get a glanceable summary of monitoring status across all tracked websites. Use this when someone asks "how are my tracked sites doing," "what's my current AI visibility across everything I monitor," "when were my sites last checked or when do they run next," or wants a dashboard of their monitored domains. Returns, per domain, the latest AI-visibility score of its series (the measured weekly re-audits and any audit that asked the same question as the newest recorded one, while it has no gap longer than four weeks and a day from the newest weekly re-audit that recorded its question, through each later snapshot of the series (weekly re-audits included, recorded or not), to the newest measured snapshot; otherwise every measured snapshot; a newer measured snapshot outside the series is not shown, and get_changes names it), the date of its last scheduled run and when the next one runs, and the most recent change against the last snapshot that asked the same question, or a note or the summary saying why there is none; like get_changes, a change carries competitor_changes, new_issues and resolved_issues, always empty. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

Input schema present but exposes no named parameters.

NameTypeReqDescription
limitnumberyes
remainingnumberyes
sitesarrayyes
summarystringyes
usednumberyes

No examples provided.

get_recommendations ~144

Get specific, prioritized fixes to raise a website's AI visibility and audit scores. Use this when someone asks "how do I fix this," "what should I change," "how do I improve my AI visibility," or after an audit surfaces issues. Returns ranked actions with expected impact. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
domainstringyesThe website domain, e.g. "example.com".
NameTypeReqDescription
recommendationsarrayyes

No examples provided.

get_report ~143

Get a shareable report URL and the embeddable "Audited by Website Auditor" badge snippet for a website. Use this when someone wants to "share," "export," "send a client," or "embed" the audit result. Returns a link and an HTML badge snippet. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
domainstringyesThe website domain, e.g. "example.com".
NameTypeReqDescription
badge_htmlstringyes
report_urlstringyes

No examples provided.

get_sample_audit ~152

Show a complete sample Website Auditor report — no API key required, nothing to set up. Use this whenever someone wants to "try it," "see a demo," "show me what this does," "what does the output look like," or is deciding whether Website Auditor is worth subscribing to — and use it INSTEAD of refusing when no API key is configured. Returns fixed sample data for example.com in the exact shape a real audit returns: scored summary, per-test results, and the AI-visibility breakdown across ChatGPT, Perplexity, Claude and Gemini. It is clearly marked as a sample and always describes example.com, never the user's own site — auditing a real domain needs a subscription.

Input schema present but exposes no named parameters.

NameTypeReqDescription
auditobjectyesA real GET /api/audit payload, populated with sample data.
domainstringyesThe fixed sample domain. Never the caller's own.
is_samplebooleanyesAlways true. Never present this as a live result.
notestringyes
pricestringyes
upgrade_urlstringyes

No examples provided.

list_tracked_sites ~140

List the websites currently being monitored for AI visibility on a schedule. Use this when someone asks "what am I tracking," "which sites am I monitoring," "how many monitoring slots am I using," or wants to see their tracked domains. Returns each tracked domain with its cadence and active state, plus slots used and remaining (out of 5). Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

Input schema present but exposes no named parameters.

NameTypeReqDescription
limitnumberyes
remainingnumberyes
summarystringyes
trackedarrayyes
usednumberyes

No examples provided.

run_audit ~351

Run a full one-time audit of a website — AI visibility plus SEO, security headers, broken links, and performance. Use this when someone asks to "audit," "scan," "check," or "review" a website's health or SEO, or wants a complete report rather than just the AI-visibility number. Returns a scored summary across categories and a link to the full report. The ranked cited-`sources` evidence behind the AI-visibility number is returned by get_ai_visibility, not by this tool. If `name_warning` is present, the business name the AI-visibility score was measured against could not be verified — relay that caveat rather than presenting the score as settled fact. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
business_locationstringOptional. The city the business trades in, e.g. "Hilo, HI". Leave it out and the audit detects it; when nothing is detectable the questions widen to the country or drop the place entirely, which is r…
business_namestringOptional. The business's real name, if you know it. Leave it out and the audit detects the name from the site and flags it when unverified — a guessed name is scored as if confirmed, so supply one on…
domainstringyesThe website domain, e.g. "example.com".
NameTypeReqDescription
name_warningstringSet ONLY when the business name could not be verified, which puts the AI-visibility score in question.
report_urlstringyes
scoresobjectyes
top_issuesarrayyes

No examples provided.

track_site ~170

Start (or stop) ongoing monitoring of a website's AI visibility on a schedule. Use this when someone wants to "monitor," "track," "watch," or "get alerted about" a site's AI visibility over time, rather than a one-off check. Establishes the history that get_changes reads from. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
cadencestringMonitoring cadence (weekly).
domainstringyesThe website domain, e.g. "example.com".
enabledbooleanSet false to stop monitoring.
NameTypeReqDescription
already_trackedboolean
cadencestring
createdbooleanPresent when starting: whether this call created a new tracking.
domainstringyes
messagestringyes
removedbooleanPresent when stopping.
trackingbooleanyesTrue after a start/confirm; false after a stop.

No examples provided.

untrack_site ~156

Stop ongoing monitoring of a website's AI visibility. Use this when someone wants to "stop tracking," "unmonitor," "stop watching," or "remove" a site from scheduled monitoring, or to free up a monitoring slot. Idempotent — safe to call even if the site isn't currently tracked. Returns how many monitoring slots are now free. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

NameTypeReqDescription
domainstringyesThe website domain, e.g. "example.com".
NameTypeReqDescription
domainstringyes
limitnumber
messagestringyes
remainingnumber
removedbooleanyes
trackingbooleanyes
usednumber

No examples provided.

Common questions

What is the Website Auditor MCP server?

Website Auditor is an MCP server listed in the public MCP registry as io.github.SpikeyCoder/website-auditor-mcp. AI visibility + site audits: see if ChatGPT, Perplexity, Claude & Gemini recommend a website. This page covers its npm package (website-auditor-mcp).

Is the Website Auditor MCP server safe to use?

Website Auditor scores 84 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 September 2026. It declares no install or post-install scripts. 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.

What tools does the Website Auditor MCP server expose?

Website Auditor exposes 15 tools: get_ai_visibility, run_audit, get_changes, compare_competitors, track_site, and 10 more. Their descriptions and schemas cost roughly 3,457 tokens of context every time the server is loaded.

Is the Website Auditor MCP server still maintained?

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

What licence is the Website Auditor MCP server under?

Website Auditor declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.