Titleman

从聊天中获取任何商业物业的经纪人价值意见、可比案例、承保、买方名单和产权尽职调查。

托管 MCP 服务器

npx add-mcp 'https://titleman.ai/_mcp/titleman'

可安装到 Claude Code、Codex、Cursor 等客户端

文档

Titleman connector

Titleman is an AI analyst for commercial real estate. This connector puts it inside the assistant you already use: you ask for a BOV, comparables or an underwriting by address, Titleman runs it, and the finished report comes back in the conversation. It speaks the Model Context Protocol, so one server serves Claude, ChatGPT, Copilot Studio, Slack and Zapier alike.

What you need

  • A Titleman account — sign in, or request a demo if your firm does not have one yet. The connector runs reports as you, against your own workspace.
  • An assistant that supports remote MCP servers (Claude on web, desktop or Claude Code; ChatGPT with apps enabled).

Running a report consumes Titleman credits, exactly as it does in the web app. The read-only tools below are free.

Install it in Slack

Slackbot is an MCP client, so there is no bot to add and no slash command to learn — you ask Slackbot, and it calls Titleman.

  1. Press Add to Slack and approve the one permission the app asks for, mcp:connect. It reads no messages, no channels, no files and no profiles.
  2. Ask Slackbot for something — "Ask Titleman for a BOV on 1101 N Arthur Ashe Blvd, Richmond VA". The first time, Slackbot sends you to titleman.ai to connect your own Titleman account. Everyone in the workspace connects their own; nobody sees a colleague's reports.
  3. The report comes back in the conversation, and the full interactive document waits for you at titleman.ai.

A workspace admin may need to approve the app first, depending on your Slack settings.

Connect it in Claude or ChatGPT

  1. In your assistant, open its connector settings and choose to add a custom or remote MCP server.
  2. Paste the server URL: https://titleman.ai/_mcp/titleman
  3. Your browser opens titleman.ai and asks you to sign in with your Titleman account (accounts are opened for firms — no account yet? request a demo), then shows exactly what the assistant is asking for. Approve it.
  4. You land back in the assistant with the connector live. Start with what is free — "What comparables does Titleman already have for 1101 N Arthur Ashe Blvd, Richmond VA?" — and it calls comps, which starts nothing. zoning_envelope is free too; where Titleman has nothing on file for a parcel, it says so rather than guessing. Ask for a report — "Run a BOV on that address" — and it calls create_bov, which spends credits, so the assistant should confirm with you first, then polls until the report is ready.

In ChatGPT, deep research and company knowledge read your Titleman reports through search and fetch once the connector is added.

Add it to an agent in Microsoft Copilot Studio

  1. In Copilot Studio, open your agent's Tools page and choose Add a tool → New tool → Model Context Protocol.
  2. Name it Titleman, describe it (for example, commercial real estate reports, comps and underwriting from my Titleman account) and paste the server URL: https://titleman.ai/_mcp/titleman
  3. For authentication pick OAuth 2.0 → Dynamic discovery and create the tool — Copilot Studio registers itself with Titleman on its own, no client ID or secret to copy.
  4. Create the connection: you sign in to titleman.ai and approve, exactly as above. Tools that start a report are marked (paid) — they spend your Titleman credits.

Use it in Zapier

Titleman is a Zapier integration, so a report can be the step in a workflow rather than something you ask for. Add the Titleman app to a Zap, connect your account through the same OAuth screen, and pick an action — Start BOV Report takes a property address and returns the room_id and the report link straight away, ready to pass to the next step.

How it authenticates

OAuth 2.1 with PKCE (S256) — no keys to copy, nothing to paste. The server publishes standard discovery documents, so a compliant client finds everything on its own:

  • /.well-known/oauth-authorization-server
  • /.well-known/oauth-protected-resource/_mcp/titleman

A client identifies itself in whichever of the three ways it prefers:

  • Client ID Metadata Document — the client_id is an https URL serving the client's own metadata, which we fetch and validate. Nothing is registered, and this is the mode Claude recommends.
  • Dynamic client registration (RFC 7591) at /oauth/register. Clients register as public by default and are held up by PKCE alone.
  • Confidential registration, for clients that require a secret at the token endpoint — ask for client_secret_post or client_secret_basic at registration and one is issued. Microsoft 365 agent connectors need this.

PKCE is required of every client, secret or not. OAuth 2.1 and the MCP specification both ask for it, and holding a secret does not buy an exemption from it.

Two scopes are requested: reports (start and read your analyses) and portfolio (list the properties in your workspace). Access tokens last 30 days and refresh silently.

Protocol

One endpoint, https://titleman.ai/_mcp/titleman, over Streamable HTTP. Every message is its own POST and is answered with JSON; the server keeps no session between requests.

  • MCP 2024-11-05 to 2025-11-25 — the initialize handshake; the server answers in the version the client asks for.
  • MCP 2026-07-28 — no handshake: server/discover and requests that carry their version and capabilities in _meta are answered as they come.
  • Every request carries Authorization: Bearer. Without a valid token the answer is 401 with a WWW-Authenticate header naming the resource metadata above and the scopes to ask for (scope="reports portfolio"); a token that was sent and refused adds error="invalid_token", so a client knows to refresh or sign in again.
  • A JSON-RPC batch is accepted up to 10 messages; a longer one is refused whole.
  • There is no server-to-client stream and no session to end: a GET with a valid token, and any DELETE, is answered 405 with Allow: POST.

Tools

Read-only

Annotated readOnlyHint: true. They never change anything, so most clients let them run without asking each time.

ToolTitleWhat it returns
list_reportsList recent reportsYour recent analyses: room_id, title, product, report_type (which report it is: bov_scale, plays, comps, …; empty until a run is planned), state and a link to the full report; a report that waits for your answer in Titleman is marked needs_person — and, where your team shares reports, colleagues' shared ones as team_reports.
get_reportGet a finished reportOne report by room_id: its state, saved versions and link — and its disclosed figures, each with its status and evidence, a page at a time.
get_report_statusCheck report statusWhere a running analysis has got to — by room_id or the report's Titleman link. A report that waits for your answer says needs_person: answer it in Titleman, the connector cannot.
list_propertiesList portfolio propertiesThe properties in your Titleman portfolio.
get_propertyGet a portfolio propertyOne property you own: address, asset type, units, lease count.
zoning_envelopeZoning envelope for a parcelWhat can be built on a parcel: zone, lot area, base and conditional FAR — or FAR by use where the ordinance states it that way (New York City) — floor area and the ordinance section, or MISSING with what would close it. Starts nothing.
compsComparables on file for a propertyThe comparables Titleman already holds for an address — direct, indirect, own supply, and rejected ones with the reason — up to 20 of each kind per answer (limit, at most 50) and how many are on file. Where on file, each figure (price, $/SF or $/unit, rent, cap rate, vacancy, last recorded sale) carries its own source, and its as-of date where one is known; a figure from a client document says its source is withheld. Starts nothing.
underwriting_modelUnderwriting model of a reportThe saved underwriting model of one of your Underwriting or Value Opinion reports, with the source and status of every value. Other reports save none, and the answer says so and how to get one.
ask_deal_roomAsk your deal documentsPassages from your own deal documents that answer a question, each cited to its document and page (or sheet and cell) — or “not in the deal room documents”. On accounts where Deal Room is switched on.
ask_titlemanAsk TitlemanAn answer about your own work in Titleman — deals, finished runs, portfolio, a property or a market. A figure the assistant can tie to exactly one of your runs' stored facts comes cited with its status and evidence; any other figure is not confirmed, and when an answer has figures but none could be cited it names the report to read with get_report for their status and evidence. Starts nothing: if a question needs a new run, the answer names the product that would answer it. Up to 30 questions an hour.
searchSearch your reportsYour reports, and ones your team shared with you, matching words in their title or in the request that started them (either often names the address) — at most 20, each with an id, title and link. Used by ChatGPT deep research and company knowledge.
fetchFetch a reportOne report by the id search returned: its disclosed figures with their status and evidence, and its link.
list_workflowsList your workflowsYour saved workflows and the ones your team shared with you — the workflow_id run_workflow takes, the name, each step (kind and product) and your latest run of it (last_run, for workflow_run). Starts and charges nothing.
workflow_runStatus and contract of a workflow runOne of your workflow runs by the run_id run_workflow returned or list_workflows' last_run: its status, each step with the report it started (read it with get_report), what it waits for and why a step failed, which of the contract's questions are answered or still open and why, and what its paid steps have charged so far. Starts and charges nothing.

Write

These start a real analysis and spend credits. They are asynchronous: each returns a room_id immediately, and the assistant polls get_report_status before reading the result (run_workflow returns a run_id). None of them delete or overwrite anything.

ToolTitleWhat it starts
create_bovStart BOV (Broker Opinion of Value) report (paid)A value opinion for one address.
create_compsStart comparables (COMPS) report (paid)Comparable properties on the market now, with asking terms.
create_underwritingStart underwriting analysis (paid)Income, expenses, debt, IRR and sensitivity.
create_best_useStart highest-and-best-use analysis (paid)What a site you already own should become.
create_buyer_listStart buyer list analysis (paid)The ranked universe of likely buyers for an asset.
create_ddStart title & legal due diligence (paid)Title, ownership chain and encumbrances on the property itself.
find_propertiesFind properties matching criteria (paid)A shortlist of specific buildings in a place, from free-text criteria.
run_workflowRun a workflow (paid, budgeted)One of your saved workflows (list_workflows names them). The first call only returns the estimated charge (what you would be billed; each product at its 90th-percentile cost — nine runs in ten cost no more, one can cost more); it starts with confirm: true and an estimate within your max_usd (at most $50). A step whose estimate would pass the budget is not started, but a step already running is not stopped, so the final charge can exceed max_usd. If the workflow needs input its first steps cannot run without (a street address, or Scout's wish and area), the estimate names it as needs_input and nothing is started.

Ready-made prompts

Claude Desktop and Claude Code list these as commands, so you can start without knowing a tool name. Each one begins with the free reads above and starts nothing paid without your yes.

PromptAsks forWhat it does
property_briefan addressWhat Titleman already knows about it — comps, zoning and your own reports on it — every figure with its status and evidence; starts nothing paid.
summarize_reporta report (optional)The conclusion of one of your reports and the figures it rests on, each with its status and evidence; the newest report if you name none.
value_checkan addressThe value from a finished report of yours if there is one; otherwise the comparables on file, and it asks you before starting a paid BOV.

What the connector can and cannot see

  • Every tool is scoped to the account that approved it. It reads your reports, your deals, your portfolio and your deal documents — and, where your organization shares reports within the team, the ones colleagues chose to share, as the web app shows them — and nothing else belonging to anyone; zoning and comparables come from Titleman's own property data.
  • It does not read your conversation history, your assistant's memory, or files you have not passed to a tool.
  • For each tool call Titleman records which tool ran, when, how long it took and whether it succeeded — not your question or its answer. For each connection it records the application's name, a one-way fingerprint of its identifier, the scopes and the time; the tokens themselves are not stored.
  • It moves no money and makes no purchases.
  • Report content is stored in your Titleman workspace exactly as if you had run it in the web app, under the Privacy Policy and the Data Processing Addendum.

Revoke access

Open titleman.ai/mcp and press Revoke. That cuts off every grant and every token the account holds at once, server-side and immediately — not merely letting them expire — so it works even though the assistant never showed you a token to hand back. Removing the connector on the assistant's side stops that assistant using it, but only Revoke ends the grant here.

Titleman is not a broker, appraiser or law firm. Outputs are drafts for a licensed professional to review and sign.