MCP 서버

Portravo Construction Takeoff

com.portravo/construction-takeoff
비즈니스 및 운영 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Creates construction estimate projects, extracts plan takeoff quantities, supports review workflows, and exports reviewed estimate workbooks.

attach_plan_pdf
Attach a construction plan PDF
Attach a PDF selected in this conversation as the first plan for a new Portravo project. Only PDF attachments up to 25 MiB are supported. Existing plans and review work are protected. Supply a stable idempotency_key and reuse it on retry. Stores the selected PDF privately in the connected account; does not extract or consume credits.
멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'plan', 'idempotency_key'], 'properties': {'plan': {'type': 'object', 'required': ['download_url', 'file_id'], 'properties': {'file_id': {'type': 'string', 'maxLength': 256, 'minLength': 1}, 'file_name': {'type': 'string', 'pattern': '^[^/\\\\\\x00-\\x1f]+\\.pdf$', 'maxLength': 200, 'minLength': 5}, 'mime_type': {'type': 'string', 'const': 'application/pdf'}, 'download_url': {'type': 'string', 'format': 'uri', 'maxLength': 8192}}, 'additionalProperties': False}, 'project_id': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 128, 'minLength': 1}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9_.:-]+$', 'maxLength': 128, 'minLength': 8}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['planFileId', 'status', 'reviewUrl'], 'properties': {'status': {'type': 'string'}, 'reviewUrl': {'type': 'string'}, 'planFileId': {'type': 'string'}}}
create_project
Create a takeoff project
Create a new construction estimate project in the connected Portravo account. Supply the project name and optional address or supported metro_code. Reuse the same idempotency_key on retry to create exactly one project. Does not run extraction or consume estimate credits.
멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'idempotency_key'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'address': {'type': 'string', 'maxLength': 200}, 'metro_code': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9_.:-]+$', 'maxLength': 128, 'minLength': 8}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['id', 'status', 'reviewUrl'], 'properties': {'id': {'type': 'string'}, 'status': {'type': 'string'}, 'reviewUrl': {'type': 'string'}}}
export_reviewed_estimate
Download a reviewed estimate workbook
Get a short-lived Excel XLSX download for an owned Portravo estimate after every takeoff line has been reviewed and the estimate is priced or final. If review is incomplete, return the Portravo review link and let the user complete quantities, assembly mappings and pricing there. Never exports unreviewed estimates.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 128, 'minLength': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['downloadUrl', 'filename', 'mimeType', 'expiresAt', 'reviewUrl'], 'properties': {'filename': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'expiresAt': {'type': 'string'}, 'reviewUrl': {'type': 'string'}, 'downloadUrl': {'type': 'string'}}}
get_profile
Connected Portravo account
Identify the signed-in Portravo account after OAuth account linking.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'email': {'type': 'string'}}, 'additionalProperties': False}
get_takeoff
Read a plan takeoff
Read an owned construction project's plan files and extracted takeoff quantities, trades, confidence and human review status. Use this to summarize quantities or identify pending review. Quantities require estimator review before pricing or bidding.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 128, 'minLength': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['project', 'lines', 'files', 'reviewRequired', 'reviewUrl'], 'properties': {'files': {'type': 'array', 'items': {'type': 'object'}}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'metro': {'type': ['object', 'null']}, 'project': {'type': 'object'}, 'reviewUrl': {'type': 'string'}, 'reviewRequired': {'type': 'boolean'}}}
list_pricing_markets
Supported pricing markets
List the regional construction pricing markets supported by Portravo before choosing a metro_code for a new estimate.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['metros'], 'properties': {'metros': {'type': 'array', 'items': {'type': 'object'}}}}
list_projects
List construction projects
Find construction projects in the connected Portravo account, including draft, review, priced and final estimates. Returns 50 projects per page. Use nextOffset to continue.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'offset': {'type': 'integer', 'maximum': 999999, 'minimum': 0}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['projects', 'nextOffset'], 'properties': {'projects': {'type': 'array', 'items': {'type': 'object'}}, 'nextOffset': {'type': ['integer', 'null']}}}
run_takeoff
Extract a construction plan takeoff
Run the initial AI takeoff for a new project with an attached plan PDF. This consumes one estimate from the user's existing Portravo balance; ask for explicit credit-use confirmation before setting confirm_credit_use=true. Reuse the idempotency_key on retry to prevent a duplicate charge. Returns extracted quantities for review in Portravo, not a bid-ready estimate. Failed provider runs refund the reservation; existing review work cannot be overwritten.
멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'confirm_credit_use', 'idempotency_key'], 'properties': {'project_id': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 128, 'minLength': 1}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9_.:-]+$', 'maxLength': 128, 'minLength': 8}, 'confirm_credit_use': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'lines', 'sheets', 'scopeNotes'], 'properties': {'ok': {'type': 'boolean'}, 'lines': {'type': 'integer'}, 'sheets': {'type': 'array', 'items': {'type': 'string'}}, 'scopeNotes': {'type': 'string'}}}
추가됨
export_reviewed_estimate
2026년 10월 2일 2:40 AM
추가됨
run_takeoff
2026년 10월 2일 2:40 AM
추가됨
attach_plan_pdf
2026년 10월 2일 2:40 AM
추가됨
create_project
2026년 10월 2일 2:40 AM
추가됨
list_pricing_markets
2026년 10월 2일 2:40 AM
추가됨
get_takeoff
2026년 10월 2일 2:40 AM
추가됨
list_projects
2026년 10월 2일 2:40 AM
추가됨
get_profile
2026년 10월 2일 2:40 AM