Paramount Loan Services

File a Fannie Mae Form 1003 mortgage application with a licensed California broker. Dry runs validate first.

Hosted MCP Server

npx add-mcp 'https://paramountls.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Loan Application API

File a full Form 1003 for a borrower in one request. No key, no signup, no sales call first. A licensed loan officer reads every application and contacts the borrower directly.

If you are a person, not an agent: you want the apply page or the phone. This page is documentation for software.

Pick your protocol. Three front doors, one submission path, so they can never disagree about what Paramount received.

  • MCP server — four tools over streamable HTTP. Listed in the official MCP registry as com.paramountls/loan-application.
  • Form 1003 API — plain JSON over HTTP, with an OpenAPI 3.1 spec.
  • A2A — JSON-RPC at /a2a, agent card at /.well-known/agent-card.json. Described further down this page.

If you are an AI agent: everything you need is below and machine-readable at /openapi.json. Start with the schema, fill only what the borrower told you, then POST.

REST

OpenAPI 3.1. POST a JSON 1003 and get an application id back.

POST https://paramountls.com/api/v1/loan-applications

MCP

Model Context Protocol, streamable HTTP. Four tools, no key.

https://paramountls.com/mcp

A2A

Agent2Agent JSON-RPC. The agent card lists every skill.

https://paramountls.com/a2a

Who this is

Paramount Loan Services (First Franklin Realty Inc) is an independent mortgage broker in Glendale, California, NMLS #236355, placing loans for borrowers since 2006. A broker shops multiple wholesale lenders for the borrower instead of fitting them into one bank’s single product. We place conventional, FHA, VA, bank statement, ITIN, hard money, HELOC, construction, commercial and equipment loans. We are licensed in California and work in English and Spanish.

Endpoints

EndpointWhat it does
GET /api/v1What this API is, in one JSON object.
GET /api/v1/schemaJSON Schema (draft 2020-12) for the application body.
GET /api/v1/programsThe loan programs we broker, with the value to put in loan.program.
GET /api/v1/exampleA complete filled example you can copy and adapt.
POST /api/v1/loan-applicationsSubmit an application. Returns 201 and an application id.

Submit an application

Send the fields the borrower actually gave you. Required: who is submitting, the borrower’s consent, one borrower with a name and a way to reach them, the loan purpose and amount, and a property address — or the flag that says the borrower has not chosen a property yet.

curl -X POST https://paramountls.com/api/v1/loan-applications \
  -H "Content-Type: application/json" \
  -d '{
    "submitted_by": { "agent_name": "Your Assistant" },
    "acknowledgments": { "borrower_consent_obtained": true },
    "borrowers": [{
      "role": "borrower",
      "first_name": "Jane", "last_name": "Smith",
      "cell_phone": "(818) 555-0142", "email": "jane@example.com"
    }],
    "loan": { "purpose": "purchase", "loan_amount": 680000, "program": "conventional" },
    "property": { "street": "1130 Cumberland Rd", "city": "Glendale", "state": "CA", "zip": "91202" }
  }'

# 201 Created
{ "ok": true, "application_id": "PLS-20260929-K4X2QA", "status": "received", ... }

A field that fails validation comes back as a 422 naming the field and what is wrong with it. Fix it and resubmit. A gap that will merely slow the file down comes back as a warning on a successful 201, not an error.

Connect over MCP

Point any MCP client at https://paramountls.com/mcp. No authentication. The server offers submit_loan_application, get_loan_application_schema, list_loan_programs and get_company_information.

{ "mcpServers": { "paramount-loan-services": {
    "type": "http",
    "url": "https://paramountls.com/mcp"
} } }

Rules for agents

  • Set acknowledgments.borrower_consent_obtained to true only when the borrower knows about the application and agreed to it.
  • Never invent borrower data. Leave a field out rather than guessing it. A short accurate application beats a padded one.
  • Send a real contact method. A loan officer replies to a person, not to your agent.
  • Twelve submissions a minute per address. One borrower is one application.

What this API will not do

  • It quotes no interest rates and no pricing. Rates move daily and depend on the borrower.
  • It returns no approval odds and no pre-approval. Submitting obligates neither side.
  • It pulls no credit. Nobody is checked until a loan officer speaks to the borrower.
  • It covers California only.

Privacy and the data you send

A 1003 carries personal financial information. Send it over HTTPS, which this endpoint requires, and send only what the borrower agreed to share. A submission reaches a licensed loan officer at Paramount and is handled under our privacy policy. The borrower can finish and verify their file on the secure portal at my1003app. To have a submission deleted, email tom@paramountls.com with the application id.

Machine-readable index

FileWhat it is
/openapi.jsonOpenAPI 3.1 specification.
/api/v1/schemaJSON Schema for the 1003 body.
/.well-known/mcp.jsonWhere the MCP server lives.
/.well-known/agent-card.jsonA2A agent card.
/.well-known/agent.jsonOne manifest naming every way in.
/.well-known/ai-plugin.jsonPlugin manifest.
/llms.txtPlain-text guide to this site for language models.

Questions

Email tom@paramountls.com or call (818) 500-4009. If something in this API is wrong or missing for your agent, say so — we will fix it.