Construction Project Intelligence MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CPI_AS_OF | No | Pin "today" for demos and reproducible results. | today |
| CPI_MAX_RETRIES | No | Number of retries on HTTP 429 / 5xx responses. | 3 |
| CPI_PLATFORM_URL | No | Platform API base URL. | http://127.0.0.1:8765 |
| CPI_DOCUMENTS_PATH | No | Document library root path. | sample_docs |
| CPI_PLATFORM_TOKEN | No | Bearer token used to authenticate with the platform API. | demo-token |
| CPI_MOCK_FLAKY_EVERY | No | Mock only: return HTTP 429 on every Nth call to exercise retries. | off |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
You are connected to a construction project platform (issues, inspections, schedules)
and the project document library (minutes, inspection reports, specifications).
Start with list_projects. For "how is project X doing" use project_risk_brief and explain
the score using its method field. Always cite issue IDs and document IDs you rely on.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsB | List all projects with phase, location and planned completion date. |
| search_issuesA | Find issues on a project, sorted by priority then due date. Filter by status (open, in_progress, closed), priority (low..critical), discipline (e.g. "MEP", "Structural") or overdue_only. |
| get_issueA | Get one issue with days overdue and the documents that reference it. |
| search_documentsB | Full-text search over the project document library (minutes, reports, specs). |
| read_documentB | Read the full text and metadata of one document by ID. |
| project_risk_briefB | Schedule-risk brief for a project: score, discipline hotspots and the worst overdue issues with their supporting documents. Includes the scoring method. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| weekly_site_brief | Prompt template for a weekly project brief for a steering meeting. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Most tools have clearly distinct resource/action boundaries: document search vs. document read, issue search vs. issue retrieval, and project listing vs. risk briefing. The only mild overlap is that project_risk_brief also surfaces overdue issues, which search_issues can also find, but the aggregate scoring and hotspot focus keep it distinct.
Five of six tools follow a clear verb_noun pattern: search_documents, read_document, list_projects, search_issues, get_issue. project_risk_brief is a noun phrase that breaks the pattern, but the overall convention remains predictable.
Six tools is well-scoped for a construction project intelligence server focused on projects, documents, issues, and risk. Each tool covers a distinct operation without obvious padding.
The surface covers the core read-oriented intelligence workflows: project listing, document search/read, issue search/retrieval, and a project risk brief. Minor gaps remain, such as no dedicated get_project detail operation or issue creation/update, though these may be outside the server's read-only scope.