# Rafid Agent Intelligence (remote · api.rafidsystem.com)

Decision intelligence for AI agents: due diligence, risk, property, documents, finance and more.

- Trust score: 64/100 (medium)
- Change this week: −6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-29

> **Recent critical change**: Authorization (2026-09-29). See the changelog below before you install this server.

## Components

- remote · `api.rafidsystem.com`: 64/100 (this document), [markdown](https://verifymcp.io/servers/iabdullahm-rafid-agent-api/api.md), [page](https://verifymcp.io/servers/iabdullahm-rafid-agent-api/api)

## Channel facts

- Endpoint: `https://api.rafidsystem.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.2`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-29.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (website_download).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 49/100
  - AI-judged instruction clarity (fair).
  - Context-footprint check failed: tool/resource definitions use about 9763 tokens (~139/item across 70 items; 70 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 79/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 26% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 70 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 70 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Rafid Agent Intelligence MCP server?

Rafid Agent Intelligence is a hosted endpoint at https://api.rafidsystem.com/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.

### Claude

```bash
claude mcp add --transport http iabdullahm-rafid-agent-api 'https://api.rafidsystem.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "iabdullahm-rafid-agent-api": {
      "url": "https://api.rafidsystem.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "iabdullahm-rafid-agent-api": {
      "type": "http",
      "url": "https://api.rafidsystem.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.iabdullahm-rafid-agent-api]
url = "https://api.rafidsystem.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "iabdullahm-rafid-agent-api": {
      "type": "remote",
      "url": "https://api.rafidsystem.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add iabdullahm-rafid-agent-api --url 'https://api.rafidsystem.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  iabdullahm-rafid-agent-api:
    url: "https://api.rafidsystem.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "iabdullahm-rafid-agent-api": {
      "Transport": "http",
      "Url": "https://api.rafidsystem.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add iabdullahm-rafid-agent-api -t streamable-http -u 'https://api.rafidsystem.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "iabdullahm-rafid-agent-api": {
      "type": "http",
      "url": "https://api.rafidsystem.com/mcp"
    }
  }
}
```

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-29 (score 64, +39)

- [critical regression] Authorization: unverified → fail
- [security improvement] Injection markers: unverified → pass
- [security improvement] Transport: fail → pass
- [security] New tool “ai_call_agent”, which the server declares destructive
- [security] New tool “appointment_call_agent”, which the server declares destructive
- [security] New tool “news_video_generate”, which the server declares destructive
- [security] New tool “product_promo_video”, which the server declares destructive
- [security] New tool “social_video_generate”, which the server declares destructive
- [security] New tool “voice_lead_qualifier”, which the server declares destructive
- [security] New tool “website_download”, which the server declares destructive
- [security] Tool “business_risk_score” rewrote its description, which is the text the model reads
- [security] Tool “company_reputation_check” rewrote its description, which is the text the model reads
- [security] Tool “document_facts_extract” rewrote its description, which is the text the model reads
- [security] Tool “due_diligence_oman_company” rewrote its description, which is the text the model reads
- [security] Tool “invoice_anomaly_check” rewrote its description, which is the text the model reads
- [functional regression] Tool coverage: 48% → 26%
- [functional improvement] Endpoint reachability: not serving MCP → reachable
- [functional improvement] Schema quality: 207 → 139
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] MCP protocol: unverified → pass
- [functional] Schema quality: good → fair
- [functional] New tool “break_even_calculator”
- [functional] New tool “business_90_day_growth_plan”
- [functional] New tool “business_idea_generator”
- [functional] New tool “business_idea_validate”
- [functional] New tool “business_model_builder”
- [functional] New tool “business_profitability_analysis”
- [functional] New tool “business_risk_check”
- [functional] New tool “business_validation_plan”
- [functional] New tool “candidate_shortlist_score”
- [functional] New tool “company_due_diligence”
- [functional] New tool “company_risk_batch”
- [functional] New tool “company_risk_report”
- [functional] New tool “competitor_analysis”
- [functional] New tool “content_plan_generator”
- [functional] New tool “cv_improve”
- [functional] New tool “cv_job_match”
- [functional] New tool “cv_score”
- [functional] New tool “extract_candidate_profile”
- [functional] New tool “final_business_plan_builder”
- [functional] New tool “first_10_customers_plan”
- [functional] New tool “generate_job_profile”
- [functional] New tool “ideal_customer_profile”
- [functional] New tool “monthly_business_financial_report”
- [functional] New tool “offer_builder”
- [functional] New tool “oman_business_launch_advisor”
- [functional] New tool “oman_business_launch_plan”
- [functional] New tool “oman_business_plan_generator”
- [functional] New tool “oman_go_to_market_plan”
- [functional] New tool “oman_small_business_guide”
- [functional] New tool “portfolio_exposure_check”
- [functional] New tool “portfolio_screen”
- [functional] New tool “procurement_vendor_shortlist”
- [functional] New tool “product_pricing_calculator”
- [functional] New tool “property_investment_report”
- [functional] New tool “sales_response_builder”
- [functional] New tool “startup_cost_estimate”
- [functional] New tool “startup_readiness_score”
- [functional] New tool “strategy_performance_analysis”
- [functional] New tool “supplier_due_diligence_report”
- [functional] New tool “trade_log_analysis”
- [functional] New tool “trade_risk_score”
- [functional] New tool “website_audit”
- [functional] New tool “website_project_estimate”
- [functional] New tool “whatsapp_business_setup”

### 2026-09-28 (score 25, 0)

- [security] Authorization: Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-27 (score 25, −46)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Stability: 0.13 → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: partial → unverified
- [security regression] Transport: pass → fail
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-09-26 (score 71, +1)

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

### 2026-09-25 (score 70, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-24 (score 70, −1)

- [security] Tool “analyze_oman_property” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 120 → 207
- [functional improvement] Tool coverage: 16% → 48%
- [functional] New tool “business_risk_score”
- [functional] New tool “document_facts_extract”
- [functional] New tool “invoice_anomaly_check”
- [functional] New tool “preview_capability”
- [functional] New tool “shipping_cost_estimate”
- [functional] New tool “vehicle_value_estimate”

### 2026-09-23 (score 71, +1)

- [functional regression] Schema quality: pass → fail
- [functional improvement] Tool coverage: 6% → 16%
- [functional improvement] Stability: unverified → 0.03
- [functional] New tool “analyze_company_risk”
- [functional] New tool “company_reputation_check”
- [functional] New tool “find_companies”
- [functional] New tool “oman_supplier_check”
- [functional] New tool “research_company”

### 2026-09-22 (score 70)

First indexed and scored.

## MCP tools (70)

### `analyze_company_risk` (~106 tokens)

Gather evidence-tiered risk signals for a company across corporate identity, domain, website, sanctions-list name-matching, adverse news, reputation and legal/regulatory signals — never a safe/unsafe verdict. Use when an agent needs risk evidence to weigh before a transaction, partnership, or onboarding decision — not a substitute for compliance/legal sign-off.

Input parameters:

- `checks` (array)
- `company` (string)
- `country` (string)
- `website` (string)

Output parameters:

- `cached` (boolean)
- `checks` (object)
- `company` (object)
- `confidence` (number)
- `dataMode` (string)
- `limitations` (array)
- `riskSignals` (array)
- `sources` (array)

### `analyze_oman_company` (~82 tokens)

Generate deterministic commercial-intelligence signals, risk flags and positive signals for one Oman company by companyId, for a stated evaluation purpose. Use when an agent needs to assess whether an Oman company looks like a serious, established operating business — as a supplier, customer, partner or investment target.

Input parameters:

- `companyId` (string, required)
- `purpose` (string, required)

Output parameters:

- `commercialSignals` (object)
- `companyId` (string)
- `confidence` (number)
- `confidenceReasons` (array)
- `dataCoverage` (object)
- `positiveSignals` (array)
- `recommendedChecks` (array)
- `riskFlags` (array)
- `sources` (array)

### `business_risk_score` (~506 tokens)

Assess the risk of doing business with a company in any country using corporate, financial, compliance, reputation, operational and digital evidence. Returns a 0–100 risk score (100 = highest detected risk), a separate 0–1 confidence, per-category component scores, evidence-backed risk flags and positive signals, sanctions/restricted-party screening with match strength, and machine-readable due-diligence guidance (proceed / proceed_with_monitoring / enhanced_due_diligence / manual_review / avoid_automated_transaction). Use before onboarding a supplier or vendor, paying a new business, entering a B2B transaction, approving a marketplace seller, extending credit or insurance, or recommending a company — whenever an autonomous agent needs structured, evidence-backed business due diligence it cannot reliably generate from its own model knowledge. Full execution is paid per call via x402; an unpaid MCP call returns payment instructions and a free qualification preview.

Input parameters:

- `address` (string): Street address as supplied by the company (checked against the registered address when the registry publishes one).
- `city` (string): City of registration/headquarters (helps disambiguation).
- `companyName` (string, required): Company name as known to the caller (trading or legal name). Required.
- `country` (string): Country of registration/operation — ISO 3166 alpha-2 (e.g. GB), alpha-3 or English name. Strongly recommended: prevents same-name companies in other countries from being confused.
- `includeDigitalSignals` (boolean): Default true. false skips website, domain-registration and threat-feed checks (digital coverage becomes 'none').
- `includeNews` (boolean): Default true. false skips news, customer-review and regulator web searches (faster, cheaper; reputation coverage becomes 'none').
- `industry` (string): Claimed industry/business activity (checked for consistency with the company's public presence; never scored by itself).
- `knownAliases` (array): Other names the company trades or traded under (max 5). Screened against sanctions/restricted-party lists and used to attribute media.
- `lei` (string): Legal Entity Identifier (ISO 17442), if known — decisive for entity resolution.
- `registrationNumber` (string): Company registration number in its home registry (e.g. UK Companies House number, Oman CR number). The strongest disambiguator.
- `website` (string): Company website or domain, e.g. https://example.com (normalized to its https origin).

### `company_due_diligence` (~164 tokens)

Perform company due diligence for onboarding, procurement, partnership, investment or customer-risk decisions: resolve the entity, evaluate registration, website identity, sanctions, adverse news, legal, financial and reputation signals, then return a deterministic risk assessment with evidence and a machine-actionable next action. Use when an autonomous agent must decide whether to continue doing business with a company and what verification or escalation should happen next.

Input parameters:

- `checks` (object)
- `company` (string, required): Company legal or trading name.
- `country` (string)
- `depth` (string)
- `domain` (string): Public company domain, without credentials or a private/localhost host.
- `lei` (string)
- `purpose` (string)
- `registrationNumber` (string)

Output parameters:

- `adverseMediaCheck` (object)
- `businessRiskCheck` (object)
- `checks` (object)
- `company` (object)
- `confidence` (number)
- `coverage` (object)
- `decision` (object)
- `depth` (string)
- `entityMatch` (object)
- `entityResolution` (object)
- `evidence` (array)
- `financialSignals` (object)
- `generatedAt` (string)
- `legalSignals` (array)
- `management` (array)
- `negativeNews` (object)
- `providers` (array)
- `purpose` (string)
- `reasonCodes` (array)
- `recommendation` (string)
- `redFlags` (array)
- `registration` (object)
- `registrationCheck` (object)
- `reputation` (object)
- `reputationCheck` (object)
- `riskBreakdown` (object)
- `riskLevel`
- `riskScore`
- `sanctions` (object)
- `sanctionsCheck` (object)
- `sources` (array)
- `success` (boolean)
- `websiteSignals` (object)

### `company_reputation_check` (~331 tokens)

Investigate the public reputation and commercial risk signals of a company in any country — identity consistency against official registries, sanctions-list name screening, adverse media (with legal stage: allegation vs. outcome), customer reputation, online presence, business stability and domain signals — returning evidence-linked scores with a separate confidence score. Use this capability when an AI agent needs to assess a company's public reputation, credibility, adverse-media exposure, sanctions signals, customer reputation, online presence, identity consistency and other publicly observable commercial risk indicators before entering a business relationship. Full execution is paid per call via x402; an unpaid MCP call returns payment instructions and a free qualification preview.

Input parameters:

- `city` (string): City of registration/headquarters (helps disambiguation).
- `companyName` (string, required): Company name as known to the caller (trading or legal name).
- `country` (string): Country of registration/operation — ISO alpha-2 (e.g. GB), alpha-3 or English name. Strongly recommended to avoid same-name confusion.
- `domain` (string): Company domain if no website URL is known, e.g. example.com.
- `industry` (string): Industry/sector (context only; not used to score).
- `legalName` (string): Full registered legal name, if different from companyName.
- `lei` (string): Legal Entity Identifier (ISO 17442), if known.
- `registrationNumber` (string): Company registration number in its home registry (e.g. UK Companies House number).
- `website` (string): Company website, e.g. https://example.com.

### `company_risk_batch` (~67 tokens)

Assess 1–100 companies from structured rows or CSV in one bounded batch, preserving per-row risk results and provider failures. Use when an agent needs to screen many companies efficiently instead of making separate risk-report calls.

Input parameters:

- `companies` (array)
- `csv` (string)

Output parameters:

- `limitations` (array)
- `result`
- `workflow` (string)

### `company_risk_report` (~254 tokens)

Combine evidence-first public reputation analysis with structured business-risk scoring into one company risk report. Use when an agent needs a consolidated company risk report with both evidence and an explicit risk model.

Input parameters:

- `city` (string): City of registration/headquarters (helps disambiguation).
- `companyName` (string, required): Company name as known to the caller (trading or legal name).
- `country` (string): Country of registration/operation — ISO alpha-2 (e.g. GB), alpha-3 or English name. Strongly recommended to avoid same-name confusion.
- `domain` (string): Company domain if no website URL is known, e.g. example.com.
- `includeDigitalSignals` (boolean)
- `includeNews` (boolean)
- `industry` (string): Industry/sector (context only; not used to score).
- `legalName` (string): Full registered legal name, if different from companyName.
- `lei` (string): Legal Entity Identifier (ISO 17442), if known.
- `registrationNumber` (string): Company registration number in its home registry (e.g. UK Companies House number).
- `website` (string): Company website, e.g. https://example.com.

Output parameters:

- `limitations` (array)
- `result`
- `workflow` (string)

### `due_diligence_oman_company` (~132 tokens)

Perform structured commercial due diligence on one Oman company by companyId ahead of a stated transaction, returning identity verification, risk assessment, a prioritized due-diligence checklist and known information gaps. Use before awarding a contract, entering a partnership, extending credit or investing, when a structured, source-backed due-diligence pass is needed ahead of the decision. Full execution is paid per call via x402; an unpaid MCP call returns payment instructions and a free qualification preview.

Input parameters:

- `companyId` (string, required)
- `transactionType` (string, required)
- `transactionValueOMR` (number)

### `find_companies` (~130 tokens)

Discover companies from public web sources matching an industry, location, size and/or keyword criteria, returning cited candidate companies (never fabricated) with a stated confidence score. Use when an agent needs to discover a list of candidate companies matching criteria (industry, location, size, keywords) rather than analyze one already-known company.

Input parameters:

- `city` (string)
- `country` (string)
- `employeeMax` (integer)
- `employeeMin` (integer)
- `industry` (string)
- `keywords` (array)
- `limit` (integer)
- `query` (string)

Output parameters:

- `appliedLimit` (integer)
- `cached` (boolean)
- `companies` (array)
- `confidence` (number)
- `dataMode` (string)
- `limitations` (array)
- `requestedLimit` (integer)
- `resultCount` (integer)
- `sources` (array)

### `get_oman_company_profile` (~77 tokens)

Return a structured profile for one Oman company by companyId — identity, registration, location and contact fields, digital-presence detection and full source provenance. Use after search_oman_company resolves a companyId, to retrieve the company's structured profile before deciding whether deeper analysis or due diligence is warranted.

Input parameters:

- `companyId` (string, required)

Output parameters:

- `company` (object)
- `dataCoverage` (object)
- `digitalPresence` (object)
- `procurement` (object)
- `sources` (array)
- `verification` (object)

### `research_company` (~120 tokens)

Research a company from public web sources: overview, products, leadership, funding, competitors, technology signals, recent developments and risk flags, with cited sources and a confidence score. Use when an agent needs a structured research brief on a named company — for sales/investment/partnership research, competitive analysis, or general company background — beyond what a structured company registry alone provides.

Input parameters:

- `company` (string, required)
- `country` (string)
- `depth` (string)
- `focusAreas` (array)
- `website` (string)

Output parameters:

- `cached` (boolean)
- `company` (object)
- `competitors` (array)
- `confidence` (number)
- `dataFreshness` (object)
- `dataMode` (string)
- `funding` (object)
- `leadership` (array)
- `limitations` (array)
- `overview` (string|null)
- `productsAndServices` (array)
- `recentDevelopments` (array)
- `riskFlags` (array)
- `sources` (array)
- `technologySignals` (array)

### `search_oman_company` (~105 tokens)

Search structured Oman business records by name, registration number, governorate, wilayat and/or industry, returning candidate companies ranked by deterministic identity-match confidence. Use before company analysis or due diligence when the exact company identity is uncertain, or to find candidate Oman companies matching a name or registration number.

Input parameters:

- `governorate` (string)
- `industry` (string)
- `limit` (integer)
- `query` (string, required)
- `wilayat` (string)

Output parameters:

- `matches` (array)
- `totalMatches` (integer)

### `invoice_anomaly_check` (~375 tokens)

Detect duplicate, inconsistent, unusual or potentially fraudulent invoices before payment using arithmetic, supplier-history, purchase-order and payment-detail checks. Returns a 0–100 risk score, a risk level, an advisory decision (continue / review / hold) and machine-readable anomalies (e.g. DUPLICATE_INVOICE, POSSIBLE_DUPLICATE, BANK_ACCOUNT_CHANGED, PO_AMOUNT_EXCEEDED, SPLIT_INVOICE_PATTERN, SUBTOTAL_MISMATCH), each with severity, confidence and structured evidence. Works on a single invoice (standalone) or with optional historical invoices, supplier profile, purchase order, contract, approval threshold and payment history (context-aware). Deterministic, decimal-safe, any country and currency. Use before approving, paying, booking, reconciling or auditing an invoice, especially when an agent needs to determine whether the invoice requires human review. Full execution is paid per call via x402; an unpaid MCP call returns payment instructions and a free qualification preview.

Input parameters:

- `approvalContext` (object)
- `contract` (object): The governing contract.
- `historicalInvoices` (array): Previously received invoices (any supplier; up to 1000). Enables duplicate, supplier-behavior, payment-detail and split checks.
- `invoice` (object, required): The invoice to check. Only `total` is required. Amounts: number or plain decimal string ("9200.50"); dates: ISO 8601; currency: ISO 4217 code; bankAccount is never echoed unmasked.
- `options` (object)
- `paymentHistory` (array): Past payments (any supplier). Used for known payment accounts and already-paid detection.
- `purchaseOrder` (object): The purchase order the invoice is billed against.
- `supplierProfile` (object): Supplier master data for the invoice's supplier.

### `document_facts_extract` (~507 tokens)

Extract structured, evidence-backed facts, entities, dates, amounts, obligations, deadlines and risk indicators from business documents (contracts, invoices, purchase orders, quotations, tenders/RFPs, leases, policies, financial reports, legal documents, CVs, company profiles) from any country. Every fact carries a 0–1 extraction confidence and source evidence (verbatim excerpt, character offsets, section, and the page when the document has real pages); dates, amounts, currencies, percentages and durations are normalized only when unambiguous. Accepts an https documentUrl (PDF with a text layer, DOCX, HTML, text) or extracted text, up to 25 pages. Use when an agent needs reliable machine-readable facts from a contract, invoice, tender, lease, purchase order, policy, financial report or other business document instead of a general summary. Full execution is paid per call via x402; an unpaid MCP call returns payment instructions and a free qualification preview.

Input parameters:

- `documentType` (string): Document type, or "auto" (default) to classify automatically. Selects which facts are prioritized.
- `documentUrl` (string): https URL of the document (PDF with a text layer, DOCX, HTML, plain text, Markdown or CSV; max 25 pages / 15 MB). Fetched once, server-side, with SSRF protection; private/internal addresses are rejec…
- `includeSourceEvidence` (boolean): Default true. false omits sourceEvidence objects to reduce response size (facts remain the same).
- `language` (string): Document language (ISO 639-1, e.g. en, ar, fr). Detected automatically when omitted.
- `mode` (string): "auto" (default): full extraction plus any requestedFacts. "requested_only": return only the requested facts (requires requestedFacts).
- `requestedFacts` (array): Specific facts to establish, in plain language (max 20), e.g. ["contract expiry date", "termination notice period", "annual contract value"]. Each is answered in requestedFacts with status found / no…
- `text` (string): The document's already-extracted text (max 200,000 characters; longer text is rejected with DOCUMENT_TOO_LARGE, never truncated). Separate pages with form-feed characters (\f) to get page-level evide…

### `vehicle_value_estimate` (~760 tokens)

Estimate the fair market value of a vehicle using make, model, year, trim, mileage, condition, ownership history, location and available market comparables. Returns a valuation range, private-sale estimate, dealer buy/retail estimates, depreciation, transparent valuation adjustments, confidence and risk flags. Use this capability when an AI agent needs to estimate the current market value of a passenger vehicle, determine whether an asking price is reasonable, estimate private-sale or dealer values, assess depreciation, or evaluate a vehicle using local or regional market comparables.

Input parameters:

- `accidentHistory`: false / "none" = no known accident; "minor_cosmetic", "repaired", "structural"; true / "reported" = an accident with unstated severity; "unknown".
- `askingPrice` (number): Asking price to assess, in `currency` (or the market currency). Adds askingPriceAnalysis with the exact difference from the estimated midpoint.
- `bodyType` (string): sedan, hatchback, suv, crossover, pickup, coupe, convertible, wagon, van, minivan or other.
- `city` (string): City or region, e.g. Muscat. Strongly recommended — same-city comparables score higher.
- `color` (string): Exterior colour (recorded; not priced separately).
- `condition` (string): Overall condition: excellent, very_good, good, fair, poor or unknown. Strongly recommended.
- `country` (string, required): Market the vehicle is sold in — ISO 3166 alpha-2 (e.g. OM, AE, US, GB) or country name. Required.
- `currency` (string): Result currency (ISO 4217). Defaults to the market's local currency; askingPrice is interpreted in this currency.
- `drivetrain` (string): fwd, rwd, awd or 4wd.
- `engine` (string): Engine description, e.g. 4.0L V6 (recorded; not priced separately).
- `fuelType` (string): petrol, diesel, hybrid, plug_in_hybrid, electric, lpg, cng, hydrogen or other (synonyms such as gasoline accepted).
- `make` (string, required): Manufacturer, e.g. Toyota. Required. Common aliases are normalized (VW → Volkswagen, Mercedes → Mercedes-Benz).
- `mileageKm` (integer): Odometer reading in kilometres. Strongly recommended — without it no mileage adjustment is possible and confidence drops.
- `model` (string, required): Model, e.g. Land Cruiser. Required.
- `options` (array): Notable equipment, e.g. ["sunroof", "leather seats", "360 camera"] (max 40).
- `owners` (integer): Number of previous registered owners (1–20).
- `serviceHistory` (string): full, partial, none or unknown.
- `transmission` (string): automatic, manual, cvt, dct or other.
- `trim` (string): Trim / grade, e.g. GXR, VXR, XLE. Strongly recommended — trim-level comparables are preferred over model-level ones.
- `valuationDate` (string): Optional as-of date (YYYY-MM-DD, not in the future). Defaults to today (UTC). Market evidence observed after this date is ignored — useful for insurance or historical valuation.
- `vin` (string): Optional 17-character VIN. Validated (and decoded when the deployment enables a VIN decoder) to confirm make/model/year, fill missing trim/body/fuel/drivetrain, and exclude the vehicle's own listing…
- `year` (integer, required): Model year (1950–next calendar year). Required.

Output parameters:

- `adjustments` (array)
- `askingPriceAnalysis`
- `assumptions` (array)
- `confidence` (object)
- `currency` (string)
- `currencyConversion` (object)
- `dataFreshness` (object)
- `depreciation` (object)
- `disclaimer` (string)
- `estimatedDealerBuyPrice` (number|null)
- `estimatedDealerRetailPrice` (number|null)
- `estimatedPrivateSalePrice` (number|null)
- `estimatedValue`
- `marketComparables` (array)
- `marketCoverage` (object)
- `marketStats` (object)
- `methodology` (object)
- `riskFlags` (array)
- `status` (string)
- `valuationDate` (string)
- `vehicle` (object)
- `vinCheck`

### `shipping_cost_estimate` (~125 tokens)

Estimate domestic or international shipping cost, chargeable weight, transit time and common shipping surcharges using shipment dimensions, weight, origin, destination and service level. Estimates are not guaranteed carrier quotes; duties and taxes are excluded. Use when an agent needs to estimate delivery cost for a physical shipment before purchasing, selling, importing, exporting or selecting a shipping option.

Input parameters:

- `currency` (string)
- `destination` (object, required)
- `origin` (object, required)
- `serviceLevel` (string)
- `shipment` (object, required)
- `shippingMode` (string)

Output parameters:

- `actualWeightKg` (number)
- `assumptions` (array)
- `chargeableWeightKg` (number)
- `confidence` (object)
- `costBreakdown` (object)
- `dutiesAndTaxes` (object)
- `estimatedCost` (object)
- `estimatedTransitDays` (object)
- `generatedAt` (string)
- `options` (array)
- `provider` (string|null)
- `rateSource` (string)
- `recommendedEstimate` (number)
- `recommendedOptionReason`
- `riskFlags` (array)
- `serviceLevel` (string)
- `shippingMode` (string)
- `volumetricWeightKg` (number)

### `analyze_oman_property` (~176 tokens)

Analyze an Oman residential property using local rental comparables, market context and investment metrics, including partner-supplied historical and recent Al Mouj Muscat property sales records with provenance and freshness metadata when coverage is available. Use when an agent needs Oman-specific rental, yield, sale price positioning or operating-cost analysis, especially for an Al Mouj Muscat property.

Input parameters:

- `area` (string, required)
- `askingPriceOMR` (number, required)
- `bathrooms` (integer)
- `bedrooms` (integer)
- `furnished` (string)
- `governorate` (string, required)
- `optionalAnnualMaintenanceOMR` (number)
- `optionalAnnualServiceChargeOMR` (number)
- `propertyType` (string, required)
- `sizeSqm` (number, required)
- `wilayat` (string)

Output parameters:

- `assumptions` (array)
- `comparablesSummary`
- `confidence` (object)
- `currency` (string)
- `dataQuality` (object)
- `historicalSalesContext` (object)
- `insufficientMarketData` (boolean)
- `investment` (object)
- `market` (object)
- `normalizedLocation` (object)
- `officialMarketContext` (object)
- `pricePosition` (object)
- `provenance` (array)
- `riskFlags` (array)
- `subjectProperty` (object)
- `unavailableOutputs` (array)

### `analyze_property` (~116 tokens)

Calculate gross/net rental yield, income, operating costs and simple payback in OMR. Calculations only. Use when an agent needs financial metrics (yield, income, payback) for a single property.

Input parameters:

- `annualRent` (number, required)
- `maintenance` (number): Legacy alias for maintenanceCost; supply only one
- `maintenanceCost` (number)
- `otherAnnualCosts` (number)
- `propertyValue` (number, required)
- `serviceCharge` (number)
- `vacancyRatePct` (number)

Output parameters:

- `annualNetIncome` (number)
- `annualOperatingCost` (number)
- `annualOperatingCosts` (number)
- `annualRent` (number)
- `currency` (string)
- `effectiveAnnualRent` (number)
- `grossAnnualIncome` (number)
- `grossYield` (number)
- `grossYieldPct` (number)
- `netYield` (number)
- `netYieldPct` (number)
- `note` (string)
- `paybackYears` (number|null)
- `propertyValue` (number)

### `compare_properties` (~62 tokens)

Compare 2–20 uniquely named properties in OMR using the same metrics; order by rounded net yield, preserving input order for ties. Use when an agent must rank or choose between 2-20 candidate properties by net yield.

Input parameters:

- `properties` (array, required)

Output parameters:

- `properties` (array)
- `sortedByNetYield` (array)

### `estimate_maintenance` (~105 tokens)

Estimate an annual maintenance reserve in OMR from value, age and unit count with explicit optional assumptions. Uncalibrated heuristic, not a survey. Use when an agent needs an annual maintenance reserve estimate for a property, not an actual inspection.

Input parameters:

- `ageYears` (number)
- `annualRent` (number): Legacy input; unused in this value-based estimate
- `assumptions` (object)
- `propertyValue` (number, required)
- `units` (integer)

Output parameters:

- `assumptionsUsed` (object)
- `currency` (string)
- `estimatedAnnualMaintenance` (number)
- `maintenancePercentage` (number)
- `methodology` (string)
- `monthlyReserve` (number)

### `portfolio_screen` (~53 tokens)

Screen and rank a portfolio of 2–20 supplied properties using the shared rental-yield and income calculations. Use when an agent needs a first-pass ranking of multiple properties before deeper analysis.

Input parameters:

- `properties` (array, required)

Output parameters:

- `limitations` (array)
- `result`
- `workflow` (string)

### `property_investment_report` (~65 tokens)

Combine Oman property market comparables, price positioning and rental-yield calculations into one investment report. Use when an agent needs one structured investment analysis for a property rather than separate market and calculator calls.

Input parameters:

- `financials` (object)
- `property` (object, required)

Output parameters:

- `limitations` (array)
- `result`
- `workflow` (string)

### `website_audit` (~83 tokens)

Perform a bounded, passive technical website inspection covering measurable SEO, performance, accessibility, security, UX and crawlability indicators; unavailable checks are reported honestly. Use when an agent needs evidence-backed website issues from a public HTTPS URL before estimating remediation or rebuild work.

Input parameters:

- `auditTypes` (array)
- `maxPages` (integer)
- `url` (string, required)

Output parameters:

- `accessibilityIssues` (array)
- `confidenceScore` (number)
- `criticalIssues` (array)
- `estimatedFixHours` (object)
- `highPriorityIssues` (array)
- `limitations` (array)
- `lowPriorityIssues` (array)
- `mediumPriorityIssues` (array)
- `overallScore` (integer)
- `pagesAudited` (array)
- `performanceIssues` (array)
- `quickWins` (array)
- `scores` (object)
- `securityFindings` (array)
- `seoIssues` (array)
- `technicalIssues` (array)
- `uxIssues` (array)

### `website_download` (~132 tokens)

Download and mirror a publicly accessible website, including HTML pages and required frontend assets, and return a machine-readable manifest and optional downloadable archive. Use when an agent needs an offline mirror of a public website and its frontend assets.

Input parameters:

- `adjustExtensions` (boolean)
- `convertLinks` (boolean)
- `includeAssets` (boolean)
- `maxDepth` (integer)
- `maxFiles` (integer)
- `maxSizeMb` (integer)
- `output` (string)
- `sameDomainOnly` (boolean)
- `timeoutSeconds` (integer)
- `url` (string, required)

Output parameters:

- `archive`
- `assetsDownloaded` (integer)
- `durationMs` (integer)
- `finalUrl` (string)
- `manifest` (object)
- `pagesDownloaded` (integer)
- `sourceUrl` (string)
- `success` (boolean)
- `totalFiles` (integer)
- `totalSizeBytes` (integer)
- `warnings` (array)

### `website_project_estimate` (~138 tokens)

Produce a deterministic website project estimate with cost, timeline, hours, effort breakdown, maintenance range, assumptions and risk flags. It is an estimate, not a fixed quotation. Use when an agent needs a transparent cost and delivery estimate for building or remediating a website.

Input parameters:

- `currency` (string)
- `deadlineDays` (integer)
- `designComplexity` (string)
- `ecommerce` (boolean)
- `features` (array)
- `integrations` (array)
- `languages` (array, required)
- `market` (string)
- `pages` (integer, required)
- `projectType` (string, required)

Output parameters:

- `assumptions` (array)
- `breakdown` (object)
- `complexity` (string)
- `confidenceScore` (number)
- `estimatedCost` (object)
- `estimatedHours` (object)
- `estimatedTimelineDays` (object)
- `maintenance` (object)
- `methodology` (object)
- `riskFlags` (array)

### `candidate_shortlist_score` (~78 tokens)

Score up to 100 supplied candidate profiles against one job profile with auditable matched requirements, gaps and confidence; no hiring decision is emitted. Use after extracting multiple candidate profiles when an agent needs transparent batch comparison against one job.

Input parameters:

- `candidates` (array, required)
- `job_profile` (object, required)
- `max_candidates` (integer)

Output parameters:

- `candidates` (array)
- `job` (object)
- `scoring_methodology` (object)

### `cv_improve` (~71 tokens)

Produce evidence-grounded CV improvement recommendations, optional job-specific guidance and ATS actions without inventing candidate facts. Use when a candidate or recruitment agent needs actionable CV improvement guidance.

Input parameters:

- `candidate_profile`
- `cv_text` (string)
- `mode` (string)
- `target_job_description`

Output parameters:

- `ats_recommendations` (array)
- `current_score` (number)
- `experience_recommendations` (array)
- `job_specific_recommendations` (array)
- `keywords_to_consider` (array)
- `priority_actions` (array)
- `rewrite_examples` (array)
- `skill_recommendations` (array)
- `summary_recommendations` (array)
- `warnings` (array)

### `cv_job_match` (~75 tokens)

Compare a candidate profile or CV with a job profile or description using normalized skills, experience evidence and transparent weighted scoring. Use when an agent needs evidence-based candidate-to-job matching for one candidate.

Input parameters:

- `candidate_profile`
- `cv_text` (string)
- `job_description` (string)
- `job_profile`

Output parameters:

- `category_scores` (object)
- `confidence` (number)
- `decision_support` (object)
- `experience_analysis` (object)
- `explanation` (string)
- `gaps` (array)
- `match_score` (number)
- `risk_flags` (array)
- `skill_match` (array)
- `transferable_skills` (array)

### `cv_score` (~70 tokens)

Score the completeness, clarity and ATS-readability of a CV on a transparent 0–100 scale; this is not job matching. Use when an agent needs general CV quality feedback independent of a specific job.

Input parameters:

- `candidate_profile`
- `cv_text` (string)
- `target_role`

Output parameters:

- `confidence` (number)
- `dimensions` (object)
- `high_priority_improvements` (array)
- `missing_sections` (array)
- `score` (number)
- `strengths` (array)
- `warnings` (array)
- `weaknesses` (array)

### `extract_candidate_profile` (~84 tokens)

Normalize an English, Arabic or mixed-language CV into a machine-readable candidate profile using only stated professional evidence; protected personal attributes are ignored. Use before scoring or matching a CV when an agent needs reusable structured candidate evidence.

Input parameters:

- `cv_text` (string)
- `document_url` (string)
- `language` (string)
- `target_schema_version` (string)

Output parameters:

- `candidate` (object)
- `candidate_keywords` (array)
- `career_progression` (array)
- `certifications` (array)
- `education` (array)
- `evidence_quality` (object)
- `experience` (array)
- `industries` (array)
- `languages` (array)
- `management_experience` (boolean|null)
- `projects` (array)
- `recent_role` (string|null)
- `seniority_estimate` (string|null)
- `skills` (array)
- `total_experience_years` (number|null)

### `generate_job_profile` (~66 tokens)

Normalize a job description into required and preferred professional requirements with transparent weights totaling 100. Use before candidate matching or shortlisting when an agent needs a structured job requirement profile.

Input parameters:

- `job_description` (string, required)
- `job_title` (string)
- `language` (string)

Output parameters:

- `certifications` (array)
- `domain_experience` (array)
- `employment_type` (string|null)
- `industry` (array)
- `job_title` (string)
- `keywords` (array)
- `language_requirements` (array)
- `leadership_requirements` (array)
- `location_requirements` (string|null)
- `preferred_experience_years` (number|null)
- `preferred_skills` (array)
- `required_education` (array)
- `required_experience_years` (number|null)
- `required_skills` (array)
- `responsibilities` (array)
- `role_family` (string)
- `scoring_model` (object)
- `seniority` (string)
- `technical_requirements` (array)

### `oman_supplier_check` (~112 tokens)

Screen an Oman supplier for procurement using company identity, business activity, website, contact consistency, address signals, public-risk indicators and sanctions screening. Use before adding an Oman supplier to an RFQ, vendor shortlist, procurement process or supplier onboarding workflow.

Input parameters:

- `address` (string)
- `companyName` (string, required)
- `crNumber` (string)
- `email` (string)
- `phone` (string)
- `requiredProductOrService` (string)
- `website` (string)

Output parameters:

- `checks` (object)
- `confidence` (number)
- `dataCoverage` (object)
- `limitations` (array)
- `normalizedInput` (object)
- `riskFlags` (array)
- `riskModel` (object)
- `screeningResult` (object)
- `sources` (array)
- `supplier` (object)

### `procurement_vendor_shortlist` (~72 tokens)

Screen and rank 2–50 Oman suppliers in one procurement workflow using identity, risk, sanctions and public-evidence signals. Use when a procurement agent needs a ranked vendor shortlist from several candidate suppliers.

Input parameters:

- `csv` (string)
- `maxResults` (integer)
- `suppliers` (array)

Output parameters:

- `limitations` (array)
- `result`
- `workflow` (string)

### `supplier_due_diligence_report` (~118 tokens)

Run an end-to-end Oman supplier screening workflow covering identity, activity, website, contact consistency, address, sanctions and public-risk evidence in one structured report. Use when a procurement agent needs one paid supplier due-diligence result instead of coordinating several screening steps.

Input parameters:

- `address` (string)
- `companyName` (string, required)
- `crNumber` (string)
- `email` (string)
- `phone` (string)
- `requiredProductOrService` (string)
- `website` (string)

Output parameters:

- `limitations` (array)
- `result`
- `workflow` (string)

### `portfolio_exposure_check` (~80 tokens)

Aggregate supplied open and proposed positions into gross, net, directional and concentration exposure with stop-risk and margin indicators. Use when an agent needs to assess portfolio concentration or directional exposure before adding or modifying a position.

Input parameters:

- `account` (object)
- `correlations` (array)
- `positions` (array, required)
- `proposedPosition` (object)

Output parameters:

- `accountEquity` (number|null)
- `availableFreeMargin` (number|null)
- `concentrationFlags` (array)
- `exposurePctOfEquity` (number|null)
- `grossExposure` (number)
- `largestConcentrationPct` (number|null)
- `leverage` (number|null)
- `longExposure` (number)
- `marginUsage` (number|null)
- `netExposure` (number)
- `openRisk` (number|null)
- `positions` (array)
- `riskFlags` (array)
- `shortExposure` (number)
- `sourceTraceability` (object)
- `summary` (string)

### `strategy_performance_analysis` (~104 tokens)

Calculate historical trade-level strategy performance metrics from supplied records, including P&L, win/loss statistics and supported drawdown metrics; this is historical analysis, not a forecast. Use when an agent needs deterministic historical performance analysis for a supplied trading strategy or trade set.

Input parameters:

- `accountEquity` (number)
- `initialEquity` (number)
- `period` (object)
- `riskPerTrade` (number)
- `trades` (array, required)

Output parameters:

- `calculationAssumptions` (array)
- `dataQuality` (object)
- `methodology` (array)
- `metrics` (object)
- `performanceSummary` (string)
- `riskFlags` (array)
- `sourceTraceability` (object)
- `strengths` (array)
- `weaknesses` (array)

### `trade_log_analysis` (~76 tokens)

Analyze supplied raw trade records for deterministic performance, execution quality, grouping, streaks, data-quality issues and risk patterns. Use when an agent needs structured statistics and findings from a trading log or execution history.

Input parameters:

- `accountEquity` (number)
- `duplicateTradeIdPolicy` (string)
- `records` (array, required)

Output parameters:

- `anomalies` (array)
- `behavioralPatterns` (array)
- `dataQuality` (object)
- `executionMetrics` (object)
- `performanceBySession` (array)
- `performanceByStrategy` (array)
- `performanceBySymbol` (array)
- `riskFlags` (array)
- `sourceTraceability` (object)
- `summary` (object)

### `trade_risk_score` (~89 tokens)

Calculate a transparent deterministic 0–100 risk score for a proposed trade from entry, protection, sizing, account and portfolio context. Use before an agent recommends or executes a trade and needs an auditable risk score rather than an opaque model judgment.

Input parameters:

- `account` (object)
- `existingPositions` (array)
- `historicalRisk` (object)
- `trade` (object, required)

Output parameters:

- `accountRiskPct` (number|null)
- `calculationBreakdown` (object)
- `leverage` (number|null)
- `positionExposurePct` (number|null)
- `positiveFactors` (array)
- `riskAmount` (number|null)
- `riskFactors` (array)
- `riskLevel` (string)
- `riskRewardRatio` (number|null)
- `riskScore` (integer)
- `safeLeverage` (number|null)
- `sourceTraceability` (object)
- `warnings` (array)

### `ai_call_agent` (~100 tokens)

Initiate an authorized outbound AI telephone call and return a call identifier immediately; completion and duration arrive asynchronously. Use when an authorized agent must contact a customer by telephone for a lawful, consent-aware objective and retrieve a structured result later.

Input parameters:

- `context` (object)
- `language` (string, required)
- `maxDurationSeconds` (integer)
- `objective` (string, required)
- `phoneNumber` (string, required)
- `safety` (object)

Output parameters:

- `answered` (boolean)
- `callId` (string)
- `completedAt`
- `createdAt` (string)
- `durationSeconds` (integer)
- `nextAction` (string|null)
- `outcome` (string|null)
- `status` (string)
- `structuredFacts` (object)
- `summary` (string|null)
- `transcript` (array)

### `appointment_call_agent` (~121 tokens)

Place an asynchronous appointment call to propose, book, confirm, reschedule or cancel a slot through a calendar-provider abstraction. Use when an authorized agent must coordinate a customer appointment by telephone and return a machine-readable scheduling result.

Input parameters:

- `action` (string, required)
- `appointmentType` (string, required)
- `availableSlots` (array)
- `context` (object)
- `language` (string, required)
- `maxDurationSeconds` (integer)
- `phoneNumber` (string, required)
- `safety` (object)
- `timezone` (string, required)

Output parameters:

- `calendarEventId` (string|null)
- `callId` (string)
- `confirmedSlot`
- `customerNotes` (string|null)
- `status` (string)

### `voice_lead_qualifier` (~96 tokens)

Place an asynchronous sales qualification call and score captured evidence against a configurable rubric. Use when an agent needs structured lead qualification from a lawful customer conversation rather than an ungrounded free-form model opinion.

Input parameters:

- `context` (object)
- `criteria` (object)
- `language` (string, required)
- `maxDurationSeconds` (integer)
- `phoneNumber` (string, required)
- `safety` (object)

Output parameters:

- `answered` (boolean)
- `callId` (string)
- `completedAt`
- `createdAt` (string)
- `durationSeconds` (integer)
- `nextAction` (string|null)
- `outcome` (string|null)
- `qualification` (object)
- `recommendedNextAction` (string)
- `status` (string)
- `structuredFacts` (object)
- `summary` (string|null)
- `transcript` (array)

### `news_video_generate` (~128 tokens)

Turn supplied factual news content into a publish-ready short-form news video without independently researching or fabricating current events. Use when an agent already has a verified headline, summary, facts and source URLs and needs a short news video.

Input parameters:

- `aspectRatio` (string)
- `backgroundMusic` (boolean)
- `durationSeconds` (integer)
- `facts` (array, required)
- `headline` (string, required)
- `language` (string)
- `sourceUrls` (array, required)
- `subtitles` (boolean)
- `summary` (string, required)
- `voice` (string)

Output parameters:

- `assets` (object)
- `billing` (object)
- `capability` (string)
- `content` (object)
- `engine` (object)
- `generatedAt` (string)
- `metadata` (object)
- `success` (boolean)
- `task` (object)
- `video` (object)

### `product_promo_video` (~129 tokens)

Generate a promotional short video from structured product information, features, call to action and optional website. Use when an agent needs a publish-ready product or service promotion from structured marketing input.

Input parameters:

- `aspectRatio` (string)
- `backgroundMusic` (boolean)
- `callToAction` (string, required)
- `description` (string, required)
- `durationSeconds` (integer)
- `features` (array, required)
- `language` (string)
- `productName` (string, required)
- `subtitles` (boolean)
- `voice` (string)
- `website` (string)

Output parameters:

- `assets` (object)
- `billing` (object)
- `capability` (string)
- `content` (object)
- `engine` (object)
- `generatedAt` (string)
- `metadata` (object)
- `success` (boolean)
- `task` (object)
- `video` (object)

### `social_video_generate` (~138 tokens)

Generate a complete short-form social video from a topic or supplied script, including narration, visual materials, subtitles and final video composition. Use when an agent needs a publish-ready TikTok, Reel, Short or generic social video from a topic or script.

Input parameters:

- `aspectRatio` (string)
- `backgroundMusic` (boolean)
- `durationSeconds` (integer)
- `language` (string)
- `materialSource` (string)
- `platform` (string)
- `script`
- `style` (string)
- `subtitles` (boolean)
- `topic` (string)
- `voice` (string)

Output parameters:

- `assets` (object)
- `billing` (object)
- `capability` (string)
- `content` (object)
- `engine` (object)
- `generatedAt` (string)
- `metadata` (object)
- `success` (boolean)
- `task` (object)
- `video` (object)

### `break_even_calculator` (~126 tokens)

Calculate break-even and target-profit units from supplied fixed and variable costs. Use when an agent needs the Creative Techno book framework for break even calculator.

Input parameters:

- `language` (string)
- `monthlyFixedCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `sellingPriceOMR` (number, required): OMR; calculations use integer baisa internally
- `targetProfitOMR` (number): OMR; calculations use integer baisa internally
- `variableCostPerUnitOMR` (number, required): OMR; calculations use integer baisa internally

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `business_90_day_growth_plan` (~56 tokens)

Generate the book's three-month post-launch goals, milestones, KPIs and review gates. Use when an agent needs the Creative Techno book framework for business 90 day growth plan.

Input parameters:

- `language` (string)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `business_idea_generator` (~146 tokens)

Generate candidate ideas from user-observed problems and constraints; does not claim market demand. Use when an agent needs the Creative Techno book framework for business idea generator.

Input parameters:

- `availableHoursPerWeek` (number)
- `budgetOMR` (number): OMR; calculations use integer baisa internally
- `city` (string)
- `customer` (string)
- `language` (string)
- `observedProblems` (array)
- `paymentEvidence` (array)
- `preferredBusinessModel` (string)
- `problem` (string)
- `skills` (array)
- `solution` (string)
- `startupDifficulty` (string)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `business_idea_validate` (~95 tokens)

Evaluate problem, customer, solution and willingness-to-pay evidence; does not independently verify live demand. Use when an agent needs the Creative Techno book framework for business idea validate.

Input parameters:

- `customer` (string, required)
- `idea` (string, required)
- `language` (string)
- `paymentEvidence` (array)
- `problem` (string, required)
- `prospects` (array)
- `solution` (string, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `business_model_builder` (~118 tokens)

Build the book's ten-element one-page business map from supplied inputs. Use when an agent needs the Creative Techno book framework for business model builder.

Input parameters:

- `channels` (array, required)
- `costs` (array)
- `customer` (string, required)
- `keyActivities` (array)
- `language` (string)
- `pricing` (string, required)
- `problem` (string, required)
- `product` (string, required)
- `revenue` (string, required)
- `suppliersPartners` (array)
- `value` (string, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `business_profitability_analysis` (~172 tokens)

Calculate revenue, gross profit, net profit and margins from monthly supplied data. Use when an agent needs the Creative Techno book framework for business profitability analysis.

Input parameters:

- `language` (string)
- `marketingOMR` (number): OMR; calculations use integer baisa internally
- `monthlyFixedCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `otherExpensesOMR` (number): OMR; calculations use integer baisa internally
- `priorRevenueOMR` (number): OMR; calculations use integer baisa internally
- `sellingPriceOMR` (number, required): OMR; calculations use integer baisa internally
- `unitsSold` (number, required)
- `variableCostPerUnitOMR` (number, required): OMR; calculations use integer baisa internally

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `business_risk_check` (~63 tokens)

Diagnose the book's common mistakes from supplied signals; no unsupported probabilities are assigned. Use when an agent needs the Creative Techno book framework for business risk check.

Input parameters:

- `business` (string, required)
- `language` (string)
- `signals` (object)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `business_validation_plan` (~94 tokens)

Create the book's structured seven-day validation workflow; execution and evidence collection remain with the caller. Use when an agent needs the Creative Techno book framework for business validation plan.

Input parameters:

- `customer` (string, required)
- `idea` (string, required)
- `language` (string)
- `paymentEvidence` (array)
- `problem` (string, required)
- `prospects` (array)
- `solution` (string, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `competitor_analysis` (~58 tokens)

Compare 3-20 user-supplied competitors; does not discover or verify competitors without live evidence. Use when an agent needs the Creative Techno book framework for competitor analysis.

Input parameters:

- `competitors` (array, required)
- `language` (string)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `content_plan_generator` (~95 tokens)

Generate a 14- or 30-day structured content calendar from an offer and selected channels. Use when an agent needs the Creative Techno book framework for content plan generator.

Input parameters:

- `business` (string, required)
- `channels` (array, required)
- `days`
- `icp` (string, required)
- `language` (string)
- `offer` (string, required)
- `postingFrequencyPerWeek` (integer, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `final_business_plan_builder` (~217 tokens)

Assemble the book's final project plan from supplied business and financial inputs. Use when an agent needs the Creative Techno book framework for final business plan builder.

Input parameters:

- `breakEvenUnits` (integer, required)
- `businessName` (string, required)
- `competitors` (array)
- `customer` (string, required)
- `differentiation` (string, required)
- `idea` (string, required)
- `immediateNextStep` (string, required)
- `language` (string)
- `marketingChannels` (array, required)
- `monthlySalesTarget` (integer, required)
- `problem` (string, required)
- `product` (string, required)
- `profitGoalOMR` (number, required): OMR; calculations use integer baisa internally
- `salesChannels` (array, required)
- `sellingPriceOMR` (number, required): OMR; calculations use integer baisa internally
- `startupCapitalOMR` (number, required): OMR; calculations use integer baisa internally
- `unitCostOMR` (number, required): OMR; calculations use integer baisa internally

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `first_10_customers_plan` (~102 tokens)

Create a non-spammy plan for 20 prospects and the first 10 paying customers. Use when an agent needs the Creative Techno book framework for first 10 customers plan.

Input parameters:

- `business` (string, required)
- `customer` (string, required)
- `language` (string)
- `offer` (string, required)
- `priceOMR` (number): OMR; calculations use integer baisa internally
- `prospects` (array)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `ideal_customer_profile` (~144 tokens)

Structure an ideal-customer profile from supplied observations; does not infer verified demographics. Use when an agent needs the Creative Techno book framework for ideal customer profile.

Input parameters:

- `ageRange` (string)
- `business` (string, required)
- `buyingBehavior` (string)
- `city` (string)
- `gender` (string)
- `governorate` (string)
- `incomeLevel` (string)
- `language` (string)
- `need` (string)
- `objections` (array)
- `occupation` (string)
- `onlineChannels` (array)
- `problem` (string)
- `triggers` (array)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `monthly_business_financial_report` (~181 tokens)

Generate a monthly business financial report from supplied OMR figures; not accounting advice. Use when an agent needs the Creative Techno book framework for monthly business financial report.

Input parameters:

- `directCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `fixedCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `language` (string)
- `marketingOMR` (number): OMR; calculations use integer baisa internally
- `otherExpensesOMR` (number): OMR; calculations use integer baisa internally
- `priorRevenueOMR` (number): OMR; calculations use integer baisa internally
- `reinvestmentPercent` (number)
- `reservePercent` (number)
- `revenueOMR` (number, required): OMR; calculations use integer baisa internally

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `offer_builder` (~126 tokens)

Construct a commercial offer from supplied outcome, bundle and delivery terms; never invents scarcity. Use when an agent needs the Creative Techno book framework for offer builder.

Input parameters:

- `bonuses` (array)
- `bundle` (array)
- `coreOutcome` (string, required)
- `customer` (string, required)
- `deliveryPromise` (string, required)
- `genuineScarcity` (string)
- `guarantee` (string)
- `language` (string)
- `priceOMR` (number, required): OMR; calculations use integer baisa internally
- `product` (string, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `oman_business_launch_advisor` (~218 tokens)

Combine readiness, idea validation, finance and launch logic for an Oman-oriented founder workflow. Use when an agent needs the Creative Techno book framework for oman business launch advisor.

Input parameters:

- `answers` (array, required)
- `business` (string, required)
- `customer` (string, required)
- `idea` (string, required)
- `initialInventoryOMR` (number, required): OMR; calculations use integer baisa internally
- `language` (string)
- `monthlyFixedCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `offer` (string)
- `problem` (string, required)
- `sellingPriceOMR` (number, required): OMR; calculations use integer baisa internally
- `setupCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `solution` (string, required)
- `targetProfitOMR` (number): OMR; calculations use integer baisa internally
- `variableCostPerUnitOMR` (number, required): OMR; calculations use integer baisa internally

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `oman_business_launch_plan` (~49 tokens)

Generate the book's 30-day launch workflow with dependencies and status placeholders. Use when an agent needs the Creative Techno book framework for oman business launch plan.

Input parameters:

- `language` (string)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `oman_business_plan_generator` (~235 tokens)

Generate a premium structured business plan from supplied assumptions; not legal, tax, accounting or investment advice. Use when an agent needs the Creative Techno book framework for oman business plan generator.

Input parameters:

- `answers` (array, required)
- `business` (string, required)
- `businessName` (string)
- `channels` (array)
- `customer` (string, required)
- `idea` (string, required)
- `initialInventoryOMR` (number, required): OMR; calculations use integer baisa internally
- `language` (string)
- `monthlyFixedCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `offer` (string)
- `problem` (string, required)
- `sellingPriceOMR` (number, required): OMR; calculations use integer baisa internally
- `setupCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `solution` (string, required)
- `targetProfitOMR` (number): OMR; calculations use integer baisa internally
- `variableCostPerUnitOMR` (number, required): OMR; calculations use integer baisa internally

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `oman_go_to_market_plan` (~114 tokens)

Select supplied Oman-relevant channels for an ICP and create a 14-day action plan; live popularity is not checked. Use when an agent needs the Creative Techno book framework for oman go to market plan.

Input parameters:

- `availableBudgetOMR` (number): OMR; calculations use integer baisa internally
- `business` (string, required)
- `channels` (array, required)
- `customer` (string, required)
- `language` (string)
- `offer` (string, required)
- `problem` (string, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `oman_small_business_guide` (~62 tokens)

Answer a question using book-grounded frameworks; current legal, tax and regulatory details require official verification. Use when an agent needs the Creative Techno book framework for oman small business guide.

Input parameters:

- `language` (string)
- `question` (string, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `product_pricing_calculator` (~221 tokens)

Calculate unit cost, price, margin and markup in OMR; does not validate market willingness to pay. Use when an agent needs the Creative Techno book framework for product pricing calculator.

Input parameters:

- `commissionOMR` (number): OMR; calculations use integer baisa internally
- `deliveryOMR` (number): OMR; calculations use integer baisa internally
- `desiredMarginPercent` (number)
- `desiredMarkupPercent` (number)
- `desiredProfitOMR` (number): OMR; calculations use integer baisa internally
- `laborOMR` (number): OMR; calculations use integer baisa internally
- `language` (string)
- `marketingOMR` (number): OMR; calculations use integer baisa internally
- `otherVariableCostsOMR` (number): OMR; calculations use integer baisa internally
- `packagingOMR` (number): OMR; calculations use integer baisa internally
- `productCostOMR` (number, required): OMR; calculations use integer baisa internally

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `sales_response_builder` (~95 tokens)

Draft a customer-facing response for a supplied sales situation; does not send messages. Use when an agent needs the Creative Techno book framework for sales response builder.

Input parameters:

- `business` (string, required)
- `case` (string, required)
- `customerMessage` (string, required)
- `language` (string)
- `priceOMR` (number): OMR; calculations use integer baisa internally
- `product` (string, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `startup_cost_estimate` (~123 tokens)

Calculate startup capital, runway and reserve in OMR using integer baisa internally. Use when an agent needs the Creative Techno book framework for startup cost estimate.

Input parameters:

- `initialInventoryOMR` (number, required): OMR; calculations use integer baisa internally
- `language` (string)
- `monthlyFixedCostsOMR` (number, required): OMR; calculations use integer baisa internally
- `reservePercent` (number)
- `runwayMonths` (integer)
- `setupCostsOMR` (number, required): OMR; calculations use integer baisa internally

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `startup_readiness_score` (~58 tokens)

Score the book's 15-question readiness assessment deterministically; does not predict business success. Use when an agent needs the Creative Techno book framework for startup readiness score.

Input parameters:

- `answers` (array, required)
- `language` (string)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `whatsapp_business_setup` (~86 tokens)

Create Arabic/English WhatsApp Business profile, reply and order-message templates. Use when an agent needs the Creative Techno book framework for whatsapp business setup.

Input parameters:

- `businessName` (string, required)
- `delivery` (string)
- `language` (string)
- `location` (string)
- `paymentMethods` (array)
- `productOrService` (string, required)

Output parameters:

- `frameworkSource` (object)
- `language` (string)
- `result` (object)

### `preview_capability` (~131 tokens)

Free preview of a paid capability: checks whether useful data/analysis is available for a given input, before paying — proof of "I have information for this request," never the paid analysis itself. No payment, charge or account is ever involved. Not every capability supports preview (status is "unavailable" when it doesn't). Recommended flow: discover -> preview -> evaluate -> pay -> execute.

Input parameters:

- `capability` (string, required): A capability name from this tool list, e.g. "research_company".
- `input`: The same input the paid capability accepts. Optional for a capability whose preview needs no input fields.

Output parameters:

- `capability` (string)
- `fullResult` (object)
- `inputRecognized` (boolean)
- `preview` (object)
- `status` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/iabdullahm-rafid-agent-api/api#diagnostics

## Score history

- 2026-09-29: 64
- 2026-09-28: 25
- 2026-09-27: 25
- 2026-09-26: 71
- 2026-09-25: 70
- 2026-09-24: 70
- 2026-09-23: 71
- 2026-09-22: 70

## Common questions

### What is the Rafid Agent Intelligence MCP server?

Rafid Agent Intelligence is an MCP server listed in the public MCP registry as io.github.iabdullahm/rafid-agent-api. Decision intelligence for AI agents: due diligence, risk, property, documents, finance and more. This page covers its hosted endpoint (https://api.rafidsystem.com/mcp).

### Is the Rafid Agent Intelligence MCP server safe to use?

Rafid Agent Intelligence scores 64 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.

### What tools does the Rafid Agent Intelligence MCP server expose?

Rafid Agent Intelligence exposes 70 tools: analyze_company_risk, analyze_oman_company, business_risk_score, company_due_diligence, company_reputation_check, and 65 more. Their descriptions and schemas cost roughly 9,763 tokens of context every time the server is loaded.

### Does the Rafid Agent Intelligence MCP server require authentication?

No. We connected to Rafid Agent Intelligence without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Rafid Agent Intelligence MCP server still maintained?

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

## Links

- Remote endpoint: https://api.rafidsystem.com/mcp
- Repository: https://github.com/iabdullahm/rafid-agent-api
- Website: https://api.rafidsystem.com/
- Changelog RSS feed: https://verifymcp.io/servers/iabdullahm-rafid-agent-api/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/iabdullahm-rafid-agent-api/api.json
- HTML version of this page: https://verifymcp.io/servers/iabdullahm-rafid-agent-api/api
