Vitta Lending

v1.0.0

A powerful MCP server built with NitroStack

Connection Setup

Add via Cursor Settings UI (Settings > Features > MCP > Add New MCP Server):

{
  "mcpServers": {
    // your other mcp servers
    "vitta-lending": {
      "url": "https://vitta-6a5a5835-the-beetles-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp"
    }
  }
}

Connect remote tools directly via Claude's Web UI:

Add custom connector BETA
Connect Claude to your data and tools. Learn more about connectors or get started with pre-built ones.
Advanced settings
Only use connectors from developers you trust. Anthropic does not control which tools developers make available and cannot verify that they will work as intended or that they won't change.

Configure custom tools directly via ChatGPT's Web UI:

New App
PNG only. Best results at 256 x 256 px or larger. Max file size: 10 KB
Custom MCP servers introduce risk. Learn more
OpenAI hasn't reviewed this MCP server. Attackers may attempt to steal your data or trick the model into taking unintended actions, including destroying data.

Add the following configuration block under mcpServers in your Antigravity configuration file (~/.gemini/config/mcp_config.json):

{
  "mcpServers": {
    // your other mcp servers
    "vitta-lending": {
      "serverUrl": "https://vitta-6a5a5835-the-beetles-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp"
    }
  }
}

Add the following configuration block to your Codex configuration file (~/.codex/config.toml):

[mcp_servers.vitta-lending]
url = "https://vitta-6a5a5835-the-beetles-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp"

Connect directly using the Server-Sent Events endpoint:

https://vitta-6a5a5835-the-beetles-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp
Available Tools
qualify_lead

Start a loan application: capture intent (purpose, amount, tenure, employment, city) and run quick eligibility. Returns a lead_id and a session_id you MUST reuse for every later tool call. Detects medical/emergency intent as FAST_TRACK.

record_consent

Capture explicit, versioned, timestamped DPDP consent and ISSUE the consent_token that unlocks data-pull tools (also returns jti for revoke_consent). Call this BEFORE pull_bureau or fetch_bank_statements. IMPORTANT: only call with accepted=true AFTER the human has explicitly agreed in this conversation — never assume or pre-fill consent on their behalf. If accepted=false, no token is issued and those tools will refuse.

verify_kyc

PAN name-match + CKYC alignment (mock). Returns PASS / RETRY / FAIL, a kyc_hash, and any risk flags.

screen_fraud

Fraud, velocity and AML/PEP watchlist screening (mock). Returns CLEAR / REVIEW / BLOCK with signals and a score. A REVIEW verdict should pause for human handoff.

pull_bureau

CONSENT-GATED. Pull the credit bureau report (score, DPD, write-offs, inquiries, active EMIs). Refuses with {error:"CONSENT_REQUIRED"} unless a valid consent_token granting CREDIT_BUREAU scope is passed.

fetch_bank_statements

CONSENT-GATED. Fetch 12-month bank/Account-Aggregator cashflow summary (salary credits, variance, bounces, surplus, stability). Refuses with {error:"CONSENT_REQUIRED"} unless a valid consent_token granting BANK_STATEMENTS scope is passed.

compute_affordability

Compute net income, proposed EMI, FOIR and DTI from the pulled bureau + bank data. Run after pull_bureau and fetch_bank_statements.

underwrite

Explainable underwriting: hard negatives + FOIR cap + a pre-baked scorecard → APPROVE / CONDITIONAL / DECLINE, with reason_codes and borrower-friendly explanations. CONDITIONAL should pause for human review before generate_offers.

generate_offers

Produce up to 3 priced offers (amount, ROI, EMI, APR, total cost) with a recommended flag. Intent-aware: FAST_TRACK (medical/emergency) surfaces the lowest-EMI offer first. Only runs after an APPROVE or CONDITIONAL decision.

create_sanction_letter

Generate a signed sanction letter for a chosen offer: borrower + amount + EMI/APR, first-EMI date, a 3-row amortization preview, 3-day cooling-off notice, a mock e-sign line, and a SHA256 integrity hash. Returns a downloadable url. Only after the applicant accepts an offer.

log_audit_event

Append a redacted event to the immutable audit trail (returns an ack + sequence number). Every decision, prompt and parameter version is stamped. PII is redacted automatically.

get_audit_trail

Retrieve the append-only audit trail for a session. view=FULL (all fields), SUMMARY (seq/actor/event/ts) or COMPLIANCE_VIEW (adds version stamps). PII is already redacted at write time.

revoke_consent

DPDP withdrawal: revoke a previously issued consent by its token id (jti — returned by record_consent). After revocation, consent-gated tools refuse with CONSENT_REVOKED.

health_check

Liveness probe. Returns {ok:true, version, commit, server, ts}. Use to verify the deployment is reachable and which build is live.

advance_application

FAST PATH: after record_consent, run the entire post-consent chain in ONE call — verify_kyc, screen_fraud, pull_bureau (consent-gated), fetch_bank_statements (consent-gated), compute_affordability, and underwrite — and return the decision. Use this right after consent instead of calling those six tools one by one. Refuses with {error:"CONSENT_REQUIRED"} if the consent_token is missing, wrong-scope, or issued for a different lead.

simulate_scenario

What-If Simulator: re-run affordability + underwriting with one or two changed levers (net_income, tenure_months, requested_amount, close_existing_emi) WITHOUT changing the real application. Returns baseline vs scenario decisions and a plain-language delta (e.g. "close your ₹4,000 card EMI and the offer rises to ₹3L"). Use after underwrite, especially on CONDITIONAL or DECLINE, to show the applicant a constructive path.

get_reference_rates

LIVE external data: fetch current INR reference FX rates (Frankfurter/ECB free API) plus the policy rate context our ROI bands are set against. Falls back to a cached snapshot if offline, so it always answers.