For Developers & AI Agents
WebMCP & MCP API
Structured, AI-agent-friendly access to DMF content: services, FAQ, loan process, blog posts, and company profile. REST endpoints plus a hosted MCP server.
Overview
Davis Monroe Financial publishes a machine-readable API for AI agents, LLM crawlers, answer engines, and MCP-native clients. The same business-logic layer powers both a REST API (WebMCP) and a hosted MCP server, so responses stay consistent across surfaces.
- Schema:
https://www.mydmf.com/api/webmcp/schema - MCP server:
https://www.mydmf.com/mcp - llms.txt:
/llms.txt·/llms-full.txt - Feeds:
/feed.json·/feed.atom
Endpoints
| Tool | Method | Path | Description |
|---|---|---|---|
searchDocs | GET | /api/webmcp/searchDocs | Keyword (BM25) search across Davis Monroe Financial site content: services, process, FAQ, blog posts. |
getServices | GET | /api/webmcp/getServices | List of loan services DMF offers, including availability and covered loan types. |
getFAQs | GET | /api/webmcp/getFAQs | Frequently asked questions with canonical answers. Optionally filter by category. |
getProcess | GET | /api/webmcp/getProcess | The three-step DMF loan process. |
getCompany | GET | /api/webmcp/getCompany | Company profile: name, address, phone, service area, knowsAbout topics. |
getPosts | GET | /api/webmcp/getPosts | Recent blog posts from the Sanity CMS. |
contact | POST | /api/webmcp/contact | Submit a contact inquiry. Rate-limited to 5 requests per hour per IP. Stricter CORS than GET endpoints. |
Example: search the site
curl -s "https://www.mydmf.com/api/webmcp/searchDocs?q=construction+loan&limit=3"Standard response format
{
"data": { /* endpoint-specific payload */ },
"meta": {
"lastUpdated": "ISO-8601 timestamp",
"source": "string",
"citationUrl": "https://www.mydmf.com/...",
"schemaVersion": "1.0"
}
}Error format
{
"error": "error_code",
"message": "Human-readable description",
"docs": "https://www.mydmf.com/docs/webmcp#errors"
}invalid_parameter(400)missing_parameter(400)not_found(404)rate_limit_exceeded(429)internal_error(500)
Rate limits
- Public GET endpoints: 60 requests per 60 seconds per IP
- Contact endpoint: 5 requests per 60 minutes per IP
Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (epoch seconds) headers. 429 responses also include Retry-After.
Using the hosted MCP server
Point any MCP-compatible client at the Streamable HTTP endpoint below. Stateless mode, no auth required.
{
"mcpServers": {
"davis-monroe-financial": {
"url": "https://www.mydmf.com/mcp"
}
}
}Discovery surfaces
- Sitemap: /sitemap.xml
- Robots: /robots.txt
- JSON-LD: Organization, WebSite, FAQPage, ItemList of Services, HowTo process (on home)
- Security contact: /.well-known/security.txt
User-agent etiquette
AI crawlers are explicitly allow-listed in robots.txt. Include a descriptive User-Agent header identifying your agent. No authentication is required for public GET endpoints.
