com.validoria/validoria-mcp
REMOTE · API.TESTE.NO · 2 COMPONENTS · SCANNED AUG 20
Continuous website testing by Validoria — monitor security, SEO, performance, and accessibility.
Available components
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 →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 74 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability57
- 20% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 5738 tokens (~73/item across 78 items; 74 tools + 4 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
- Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 96% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · api.teste.no
claude mcp add --transport http com-validoria-validoria-mcp https://api.teste.no/api/mcp
[mcp_servers.com-validoria-validoria-mcp] url = "https://api.teste.no/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-validoria-validoria-mcp": {
"type": "remote",
"url": "https://api.teste.no/api/mcp",
"enabled": true
}
}
} openclaw mcp add com-validoria-validoria-mcp --url https://api.teste.no/api/mcp --transport streamable-http
mcp_servers:
com-validoria-validoria-mcp:
url: "https://api.teste.no/api/mcp" {
"mcpServers": {
"com-validoria-validoria-mcp": {
"type": "http",
"url": "https://api.teste.no/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 18 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 10 Aug 26 61
First indexed and scored.
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 20 Aug 2026 · Probed https://api.teste.no/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.teste.no | CN=YR2,O=Let's Encrypt,C=US | 7 Aug 2026 | 5 Nov 2026 | RSA 2048 | SHA256-RSA | 5b42b04ec3cd36270bea67138ee7f9d3129 |
| SANs: api.teste.no | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of api.teste.no. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| no. | present | 38032 | 13 | Verified |
| teste.no. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.teste.no/api/mcp | Verified | 200 | |
| http (plaintext) | http://api.teste.no/api/mcp | HTTPS enforced | 301 | https://api.teste.no/api/mcp |
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.
acknowledge_incident Acknowledge Incident ~47
Acknowledge an open incident to signal that someone is looking at it. Changes status from OPEN to ACKNOWLEDGED.
| Name | Type | Req | Description |
|---|---|---|---|
| incidentId | string | yes | The incident ID to acknowledge |
No output schema declared.
No examples provided.
active_runs Active Runs ~41
Get currently running and queued tests across all targets. Useful for checking what tests are in progress right now.
| Name | Type | Req | Description |
|---|---|---|---|
| targetId | string | – | Filter by target ID |
No output schema declared.
No examples provided.
add_keyword Add Keyword ~82
Add an SEO keyword to track for a target. Max 50 keywords per target.
| Name | Type | Req | Description |
|---|---|---|---|
| isPrimary | boolean | – | Mark as primary keyword |
| keyword | string | yes | The keyword to track |
| pageScope | string | – | URL pathname pattern to scope the keyword to (e.g. /kategori/*) |
| targetId | string | yes | The target ID |
No output schema declared.
No examples provided.
analyze_target Analyze Target ~94
Fingerprint a URL and get test recommendations before creating a target. Detects platform (Shopify, WordPress, etc.), CDN, server stack, frontend framework, analytics, and B2B/ecommerce signals. Returns recommended tests with explanations. Use this before create_target to know what type to assign and which tests will be enabled.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | URL to analyze, e.g. "https://example.com" |
No output schema declared.
No examples provided.
cancel_load_test Cancel Load Test ~32
Cancel a running load test.
| Name | Type | Req | Description |
|---|---|---|---|
| loadTestRunId | string | yes | The load test run ID to cancel |
No output schema declared.
No examples provided.
create_automation_rule Create Automation Rule ~149
Create an automation rule that reacts to events. Triggers: TEST_FAILED, TEST_RECOVERED, INCIDENT_CREATED, INCIDENT_RESOLVED, TARGET_DOWN, TARGET_RECOVERED. Actions: escalate (change severity), suppress (mute), rerun (schedule retry), notify, webhook, add_note.
| Name | Type | Req | Description |
|---|---|---|---|
| actions | array | yes | Actions to execute when triggered |
| conditions | object | – | Optional conditions that must be met |
| name | string | yes | Rule name |
| priorityOrder | integer | – | Priority order (lower = evaluated first) |
| targetId | string | – | Optional target ID to scope rule to a specific target |
| trigger | string | yes | Event that triggers the rule |
No output schema declared.
No examples provided.
create_journey Create Journey ~147
Create a custom browser test flow for a target. Steps are executed sequentially in a Playwright browser. Supports actions: navigate, click, type, fill, select, assert, wait, screenshot, scroll, hover, use_fragment. Variables like {{LOGIN_EMAIL}} are resolved from the target secrets vault.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Journey description |
| name | string | yes | Journey name |
| platform | string | – | Platform tag (e.g. "shopify", "woocommerce") |
| steps | array | yes | Ordered list of browser actions |
| targetId | string | yes | Target ID to create the journey for |
| timeoutSeconds | number | – | Max execution time in seconds |
No output schema declared.
No examples provided.
create_maintenance_window Create Maintenance Window ~173
Schedule a maintenance window for a target. During maintenance, alerts and notifications are suppressed. Supports one-time, daily, and weekly recurring windows.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Optional description |
| endsAt | string | yes | End time as ISO 8601 string, e.g. "2026-04-05T04:00:00Z" |
| isRecurring | boolean | – | Whether this window repeats |
| name | string | yes | Name for the window, e.g. "Weekly deploy" |
| recurrence | string | – | Recurrence pattern (required if isRecurring is true) |
| startsAt | string | yes | Start time as ISO 8601 string, e.g. "2026-04-05T02:00:00Z" |
| targetId | string | yes | The target ID |
No output schema declared.
No examples provided.
create_muting_rule Create Muting Rule ~192
Create a rule to auto-mute findings matching a pattern. Existing open findings matching the rule are muted immediately. Supports muting by fingerprint pattern, test definition, or test+target combination.
| Name | Type | Req | Description |
|---|---|---|---|
| expiresAt | string | – | Optional expiry as ISO 8601 string. Rule auto-expires after this time. |
| fingerprintPattern | string | – | Substring to match in finding fingerprints (required for FINGERPRINT scope) |
| reason | string | – | Reason for muting |
| scope | string | yes | FINGERPRINT: match by finding fingerprint substring. TEST_DEFINITION: mute all findings from a test. TEST_TARGET: mute findings from a specific test on a specific target. |
| targetId | string | – | Target ID to scope the rule to (required for TEST_TARGET, optional for others) |
| testDefinitionId | string | – | Test definition ID (required for TEST_DEFINITION and TEST_TARGET scopes) |
No output schema declared.
No examples provided.
create_notification_rule Create Notification Rule ~139
Create a notification alert rule. Defines which events at which severity levels trigger notifications on which channels. Supports quiet hours and per-target scoping.
| Name | Type | Req | Description |
|---|---|---|---|
| channelTypes | array | yes | Channels to notify |
| enabled | boolean | – | Whether the rule is active |
| eventTypes | array | yes | Events that trigger this rule |
| name | string | yes | Rule name |
| quietHoursEnd | number | – | Quiet hours end (hour UTC) |
| quietHoursStart | number | – | Quiet hours start (hour UTC) |
| severities | array | – | Only trigger for these severities |
| targetId | string | – | Scope to a specific target |
No output schema declared.
No examples provided.
create_page_fragment Create Page Fragment ~65
Create a reusable step sequence that can be shared across multiple Journeys. Fragment names must be unique per team.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Fragment description |
| name | string | yes | Fragment name (unique per team) |
| steps | array | yes | Ordered list of browser actions |
No output schema declared.
No examples provided.
create_scheduled_report Create Scheduled Report ~117
Create a new scheduled email report. Reports include run stats, open findings, composite scores, and per-target status.
| Name | Type | Req | Description |
|---|---|---|---|
| dayOfWeek | number | – | Day of week for WEEKLY reports (0=Sunday, 1=Monday, ..., 6=Saturday) |
| frequency | string | – | How often to send |
| hourUtc | number | – | Hour in UTC to send the report |
| name | string | – | Report name |
| recipients | string | – | Comma-separated email addresses. Empty = all team members. |
No output schema declared.
No examples provided.
create_target Create Target ~197
Add a new website, API, or webshop target for monitoring with full onboarding. Automatically enables compatible tests, triggers an initial scan, and captures a page screenshot. Requires write scope (Free plan: 1 target). Use analyze_target first to detect platform and get test recommendations.
| Name | Type | Req | Description |
|---|---|---|---|
| environment | string | – | Deployment environment |
| name | string | yes | Display name for the target |
| tags | array | – | Optional tags for categorization |
| type | string | yes | Target type: WEBSITE, API, or WEBSHOP. Use analyze_target to auto-detect. |
| uptimeEnabled | boolean | – | Enable background uptime monitoring |
| url | string | yes | URL to monitor, e.g. "https://example.com" |
| weight | string | – | Business weight, used to rank findings by consequence: REVENUE_PATH (checkout, payment, signup), PUBLIC (customer-visible but not transactional), INTERNAL (staging, admin tooling). |
No output schema declared.
No examples provided.
daily_trends Daily Trends ~70
Get daily time-series data for runs, findings, and average duration. Useful for identifying trends over time. Returns up to 90 days of data.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | – | Number of days of history to return |
| targetId | string | – | Filter by target ID (omit for team-wide) |
No output schema declared.
No examples provided.
delete_automation_rule Delete Automation Rule ~31
Permanently delete an automation rule.
| Name | Type | Req | Description |
|---|---|---|---|
| ruleId | string | yes | The automation rule ID to delete |
No output schema declared.
No examples provided.
delete_journey Delete Journey ~32
Permanently delete a journey and all its steps.
| Name | Type | Req | Description |
|---|---|---|---|
| journeyId | string | yes | The journey ID to delete |
No output schema declared.
No examples provided.
delete_maintenance_window Delete Maintenance Window ~45
Remove a scheduled maintenance window.
| Name | Type | Req | Description |
|---|---|---|---|
| targetId | string | yes | The target ID (for access verification) |
| windowId | string | yes | The maintenance window ID to delete |
No output schema declared.
No examples provided.
delete_notification_rule Delete Notification Rule ~30
Permanently delete a notification rule.
| Name | Type | Req | Description |
|---|---|---|---|
| ruleId | string | yes | The notification rule ID to delete |
No output schema declared.
No examples provided.
delete_page_fragment Delete Page Fragment ~29
Permanently delete a page fragment.
| Name | Type | Req | Description |
|---|---|---|---|
| fragmentId | string | yes | The fragment ID to delete |
No output schema declared.
No examples provided.
delete_scheduled_report Delete Scheduled Report ~31
Permanently delete a scheduled report.
| Name | Type | Req | Description |
|---|---|---|---|
| reportId | string | yes | The scheduled report ID to delete |
No output schema declared.
No examples provided.
delete_secret Delete Secret ~47
Permanently delete a secret from a target's vault.
| Name | Type | Req | Description |
|---|---|---|---|
| secretId | string | yes | The secret ID to delete |
| targetId | string | yes | The target ID (for access verification) |
No output schema declared.
No examples provided.
delete_target Delete Target ~58
Permanently delete a target and all its associated data (runs, findings, incidents, artifacts). This cannot be undone.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true to confirm deletion |
| targetId | string | yes | The target ID to delete |
No output schema declared.
No examples provided.
disable_all_tests Disable All Tests ~51
Disable all test definitions globally. Optionally filter by category to only disable tests in that category. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Only disable tests in this category. Omit to disable all. |
No output schema declared.
No examples provided.
enable_all_tests Enable All Tests ~51
Enable all test definitions globally. Optionally filter by category to only enable tests in that category. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Only enable tests in this category. Omit to enable all. |
No output schema declared.
No examples provided.
get_automation_rule Get Automation Rule ~31
Get full details of a specific automation rule.
| Name | Type | Req | Description |
|---|---|---|---|
| ruleId | string | yes | The automation rule ID |
No output schema declared.
No examples provided.
get_finding Get Finding Details ~38
Get full details of a specific finding, including evidence, AI analysis, and recommended fix.
| Name | Type | Req | Description |
|---|---|---|---|
| findingId | string | yes | The finding ID |
No output schema declared.
No examples provided.
get_incident Get Incident Details ~38
Get full details of a specific incident including linked findings, AI analysis, and deployment correlation.
| Name | Type | Req | Description |
|---|---|---|---|
| incidentId | string | yes | The incident ID |
No output schema declared.
No examples provided.
get_journey Get Journey ~31
Get full details of a specific journey including all steps.
| Name | Type | Req | Description |
|---|---|---|---|
| journeyId | string | yes | The journey ID |
No output schema declared.
No examples provided.
get_load_test Get Load Test Results ~34
Get details and results of a load test run.
| Name | Type | Req | Description |
|---|---|---|---|
| loadTestRunId | string | yes | The load test run ID |
No output schema declared.
No examples provided.
get_run Get Run Details ~40
Get full details of a specific test run including metrics, score, summary, errors, and associated findings.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | The run ID |
No output schema declared.
No examples provided.
get_site_map Get Site Map ~108
Get the latest crawl snapshot for a target. Returns page inventory stats, SEO issues, broken pages/assets, response times, and a diff against the previous crawl. Optionally include page-level details.
| Name | Type | Req | Description |
|---|---|---|---|
| includePages | boolean | – | Include individual page data (can be large). Default: false. |
| pageLimit | number | – | Max pages to return when includePages is true |
| pageStatus | string | – | Filter pages by status |
| targetId | string | yes | The target ID |
No output schema declared.
No examples provided.
get_target Get Target Details ~40
Get detailed information about a specific target including status, uptime, fingerprint, and composite scores.
| Name | Type | Req | Description |
|---|---|---|---|
| targetId | string | yes | The target ID to look up |
No output schema declared.
No examples provided.
get_target_scores Get Target Composite Scores ~48
Get composite scores (Security, SEO, Performance, Accessibility) for a target. Each score is 0-100 with a status rating.
| Name | Type | Req | Description |
|---|---|---|---|
| targetId | string | yes | The target ID |
No output schema declared.
No examples provided.
get_team_settings Get Team Settings ~40
Get the team's configuration including AI enrichment, uptime monitoring, severity escalation, run policies, notification coalescing, SEO, and Kloner Tasks integration settings.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
guest_get_scan Get guest scan results ~67
Poll results for a guest_start_scan. Pass the scanId and guestSessionId from the start response. No API key required.
| Name | Type | Req | Description |
|---|---|---|---|
| guestSessionId | string | – | Guest session id returned by guest_start_scan |
| scanId | string | yes | Scan workflow id from guest_start_scan |
No output schema declared.
No examples provided.
guest_start_scan Guest quick scan (no account) ~92
Run a free 6-test HTTP scan against a public URL without an API key. Rate-limited (5/IP/hour, 3/session/day). Returns scanId — poll with guest_get_scan. For continuous monitoring, sign up free and use create_target. See teste-no://docs/quickstart.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Public http(s) URL to scan, e.g. https://example.com |
No output schema declared.
No examples provided.
import_targets Import Targets ~60
Bulk import up to 100 websites for monitoring. Each URL gets a target created with auto-enabled tests, initial scan, and screenshot capture. Partial success — failed URLs are reported individually without blocking others.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Array of targets to import |
No output schema declared.
No examples provided.
list_automation_rules List Automation Rules ~62
List all automation rules for the team. Rules automatically react to events (test failures, incidents, downtime) with configurable actions (escalate severity, suppress, rerun, webhook, notify).
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | Filter by enabled/disabled status |
No output schema declared.
No examples provided.
list_findings List Findings ~95
List findings (discovered issues) across your targets. Filter by status, severity, or target. Returns title, severity, status, test name, and AI enrichment if available.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max number of findings to return |
| severity | string | – | Filter by severity |
| status | string | – | Filter by finding status (default: OPEN) |
| targetId | string | – | Filter by target ID |
No output schema declared.
No examples provided.
list_incidents List Incidents ~75
List incidents (grouped operational issues) across your targets. Filter by status. Returns title, severity, status, findings count, and deployment correlation.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max number of incidents to return |
| status | string | – | Filter by incident status |
| targetId | string | – | Filter by target ID |
No output schema declared.
No examples provided.
list_journeys List Journeys ~67
List custom browser test flows (journeys) for a target or all team targets. Journeys are multi-step Playwright tests that verify user flows like checkout, login, and search.
| Name | Type | Req | Description |
|---|---|---|---|
| targetId | string | – | Filter by target ID. If omitted, lists all team journeys. |
No output schema declared.
No examples provided.
list_keywords List Target Keywords ~40
List all SEO keywords tracked for a target, including latest Google rank position. Max 50 per target.
| Name | Type | Req | Description |
|---|---|---|---|
| targetId | string | yes | The target ID |
No output schema declared.
No examples provided.
list_load_tests List Load Test History ~38
List recent load test runs for a target.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results |
| targetId | string | yes | The target ID |
No output schema declared.
No examples provided.
list_maintenance_windows List Maintenance Windows ~38
List maintenance windows for a target. Shows scheduled and recurring maintenance periods that suppress alerts.
| Name | Type | Req | Description |
|---|---|---|---|
| targetId | string | yes | The target ID |
No output schema declared.
No examples provided.
list_notification_channels List Notification Channels ~38
List all notification channels (Email, Slack, Webhook, SMS, Web Push) configured for the team. Sensitive config values are redacted.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_notification_rules List Notification Rules ~29
List all notification alert rules for the team. Rules map event types + severity levels to notification channels.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_page_fragments List Page Fragments ~50
List all reusable page fragments for the team. Fragments are shared step sequences (e.g. "Login", "Dismiss Cookies") that can be inserted into multiple Journeys via the use_fragment action.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_runs List Runs ~94
List recent test runs. Filter by target, status, or test slug. Returns run status, score, summary, duration, and finding count.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max number of runs to return |
| status | string | – | Filter by run status |
| targetId | string | – | Filter by target ID |
| testSlug | string | – | Filter by test definition slug (e.g. "security-headers") |
No output schema declared.
No examples provided.
list_scheduled_reports List Scheduled Reports ~31
List all scheduled reports for the team. Reports are automatically generated and emailed on a daily or weekly basis.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_secrets List Target Secrets ~70
List secrets stored in a target's vault. Values are masked — only key names and labels are shown. Secrets are used by test plugins (e.g. LOGIN_EMAIL, LOGIN_PASSWORD for B2B shops, ga4_service_account for GA4).
| Name | Type | Req | Description |
|---|---|---|---|
| targetId | string | yes | The target ID |
No output schema declared.
No examples provided.