MCP App Store
by KeenEthics

Overview

Ordinate is a project intelligence platform for architecture, engineering and construction (AEC) teams. It connects a building project's documents, email, drawings, programme and registers so project managers, architects, engineers and contractors can get cited answers about the project. Use this plugin to ask about the status of your construction projects without leaving ChatGPT. It can: - List the Ordinate projects your account can access. - Search and read project documents, such as meeting reports, specifications and transmittals. - Search and read project email threads. - Query the construction programme (schedule), procurement and deliveries, the action and issue worklist, and authority (regulatory) submissions. - Search the drawing register and contract clauses. - Search your firm library, licensed standards and building codes. Every answer cites the Ordinate records behind it and states what could not be read or verified. Who it is for: existing Ordinate customers whose organization has turned on MCP access in Ordinate. You sign in with your Ordinate account through OAuth, and the plugin sees only the projects that account can access. Accounts in organizations without MCP access see an empty project list with a note that explains why. Limitations: all tools are read-only. The plugin cannot create, change or delete data in Ordinate, send email, or approve or submit anything. It reads message text, not email attachments, unless the same file is also filed as a project document.

Tools

getProcurementItemEvidence

ChatGPT
Reads the evidence rows linked to one tracked procurement item. Takes projectId, an itemId from an earlier procurement result and an optional limit (default 20, up to 50). Returns evidence with procurementEvidenceId, procurementItemId, evidenceType, documentType, excerpt, detectedDate and statusImpact, plus coverage with limitReached.

getProcurementItemStatus

ChatGPT
Reads the status of one tracked procurement item, found by itemId or by itemQuery (material code, description or supplier); at least one of the two is required. Takes projectId, itemId and itemQuery. Returns items with itemId, materialCode, materialDescription, supplierName, status and dates, their statusChanges, and an ambiguity block with candidates when several items match. An empty result means no tracked item matched.

getProjectDetails

ChatGPT
Reads the project's recorded details. Takes projectId. Returns a project block with title, location and content, or null when no details are recorded.

getProjectInstructions

ChatGPT
Reads the project's instructions in segments. Takes projectId, an optional contentLimit (256 to 4000 characters) and cursor for the next segment. Returns instructions with instructionId and the segment text, plus nextCursor while text remains.

getScheduleTaskDependencies

ChatGPT
Reads the predecessors or successors of one project schedule task, named in query. Takes projectId, a query, an optional direction (predecessors, successors or both; default both) and limit. Returns dependencies with taskId, link type and lag, or candidates when the name matches no task or several, plus coverage with totalMatched.

grepDocuments

ChatGPT
Exact text match over the project's indexed document text. Takes projectId, a literal term and an optional limit (default 8, up to 20). Returns matching passages, each with documentId, chunkId, title, page, pageIndex, location, sourceType and content, plus coverage counts (searched, matched, failed). Suited to identifiers, clause numbers and verbatim phrases. Also matches connected-cloud filenames and provider paths.

grepEmails

ChatGPT
Exact text match over the project's email subjects and bodies, newest first. Takes projectId and at least one of term, sender, sentAfter and sentBefore, plus offset and limit (default 8, up to 20) for paging. Returns messages, each with messageId, threadId, subject, fromAddress, toAddresses, ccAddresses, sentAt and an excerpt, plus coverage with totalMatched, hasMore and nextOffset for the next page.

inspectDocument

ChatGPT
Searches inside one project document. Takes projectId, documentSelector (a documentId from a search passage or document list), a query, and up to 5 optional exactTerms. Returns up to 12 passages from that document, each with chunkId, title, page, pageIndex, location and content, plus coverage counts.

listLibraryResources

ChatGPT
Lists the metadata catalogue of the organization's Firm Library and licensed standards shelf, not their contents. Takes projectId and optional filters: shelf (all, firm_library or licensed_standards), format, titleContains, agency and maxResults. Filters match literal text, with no wildcards. Returns resources, each with resourceId, documentId, shelf, resourceKind, title, sourceKey, format, agency, version and effectiveDate, plus coverage with filtersApplied, emptyReason and shelfTotal.

listOverdueScheduleTasks

ChatGPT
Lists the project schedule's active, incomplete tasks whose finish date has passed. Takes projectId and optional milestonesOnly and limit (default 12, up to 50). Returns tasks with taskId, parentTaskId, taskUniqueId and their dates and progress, plus coverage with totalMatched.

listProcurementPipeline

ChatGPT
Lists the project's tracked procurement items, optionally filtered by statuses (such as no_info or quote_received). Takes projectId, statuses and limit (default 30, up to 50). Returns items with itemId, materialCode, materialDescription, supplierName, status, purchaseDate and estimatedDeliveryDate, plus coverage with limitReached and limits with maxRows.

listProjectContactEmails

ChatGPT
Lists the contact emails in the project directory, optionally for one directoryOrganizationId or personId. Takes projectId, directoryOrganizationId, personId, and limit and cursor for paging. Returns emails, each with emailId and its text, plus coverage with totalMatched and nextCursor while more remain.

listProjectDocuments

ChatGPT
Lists the project's documents with their metadata. Takes projectId and optional filters (name, status, type, readiness and limit), plus a cursor from an earlier page with the same filters. Returns documents, each with its documentId and metadata, plus coverage and nextCursor while more remain. Metadata describes a document, not its contents. The status, type and readiness filters are not available on every project.

listProjectOrganizations

ChatGPT
Lists the organizations in the project directory. Takes projectId, an optional limit, and cursor for the next page. Returns organizations, each with directoryOrganizationId and its text, plus coverage with totalMatched and nextCursor while more remain.

listProjectPeople

ChatGPT
Lists the people in the project directory, optionally for one directoryOrganizationId. Takes projectId, directoryOrganizationId, and limit and cursor for paging. Returns people, each with personId and its text, coverage with totalMatched, and nextCursor while more remain. Under tool contract 2 it adds directoryRelationships, linking each personId to its organizationId.

listProjects

ChatGPT
Lists the Ordinate projects you can access, across your organizations, with a link to each project in Ordinate.

listScheduleMilestones

ChatGPT
Lists the project's gate milestones with their effective status. Takes projectId and optional query (a milestone name), statuses (such as at_risk, on_track or not_started) and limit. Returns milestones with milestoneId, the taskId of the milestone task, and content with status and dates, plus coverage with totalMatched.

listUpcomingScheduleTasks

ChatGPT
Lists the project schedule's active tasks finishing within the next windowDays days (default 30). Takes projectId and optional windowDays, milestonesOnly and limit (default 12, up to 50). Returns tasks with taskId, parentTaskId, taskUniqueId and their dates and progress, plus coverage with totalMatched.

queryAiduWorklist

ChatGPT
Lists actions, issues, decisions and updates extracted from the project's emails and meetings. Takes projectId and optional filters: aiduTypes, statuses, topicTag, entityScope, requesterParty, dueBefore, createdAfter, semanticQuery, issueThreadId and limit. requesterParty user_org means the asking user's own organization. Returns items with aiduItemId, issueThreadId, title, description, aiduType, status, assigneeText, dueDate and requesterParty, plus coverage with totalMatched.

queryAuthoritySubmissions

ChatGPT
Retrieves verbatim authority submission evidence for the project. Takes projectId, a query, optional agencies, up to 2 exactTerms, and an optional tracker request (current or compare). Returns passages with documentId, chunkId, page, proofClass and content; claimAssessments linking each claim to evidenceChunkIds; leads from distilled authority records, which are not evidence; tracker worksheet rows when requested; and coverage by agency.

readDocumentPage

ChatGPT
Reads the stored text of one page of a project document. Takes projectId, documentSelector (a documentId) and an optional pageIndex; a null pageIndex starts at the first stored page. pageIndex is the stored page index from a passage, not a printed page number. Returns the page text with documentId, pageIndex, page, nextPageIndex, a complete flag and coverage.

readEmailMessage

ChatGPT
Reads the stored text of one project email message in segments. Takes projectId, messageSelector (a messageId) and an optional cursor from the previous page of the same message. Returns the text with messageId, threadId, startOffset, endOffset, totalCharacters and a complete flag, the message's attachments on the first page, and nextCursor while text remains. Attachment contents are not included.

readEmailThread

ChatGPT
Reads the messages of one project email thread, oldest first. Takes projectId, threadId (a thread id from a thread search result, or a message's threadId), and limit (default 10, up to 20) and offset for paging. Returns messages, each with messageId, threadId, subject, fromAddress, toAddresses, ccAddresses, sentAt, an excerpt and its attachments, plus coverage with hasMore and nextOffset.

searchBuildingCode

ChatGPT
Clause search over the licensed standards shelf of the project's organization: building codes, regulations, standards, and published standard-form contracts such as conditions of contract. Takes projectId and a query; optionally familyKey to keep to one standard, documentId to pin one edition, historical true with that edition's documentId for a replaced edition, and limit. Returns verbatim clauses with clauseId, documentId, familyKey, clauseNumber and text. A status of family_key_required carries a reason and candidate families; scope_ambiguous carries the reason the edition could not be resolved.

searchContracts

ChatGPT
Ranked search over verbatim clauses of contracts executed for this project, not published standard-form contracts. Takes projectId, a query and an optional limit (up to 10). Returns clauses, each with contractClauseId, clauseNumber, documentSection, documentName, page and text, plus coverage.

searchDocuments

ChatGPT
Semantic search over the project's indexed documents. Takes projectId and a query. Returns up to 5 ranked passages, each with documentId, chunkId, title, page, pageIndex, location, sourceType and content, plus coverage counts (searched, matched, failed). sourceType tells a project document from a Firm Library file. A failed count above zero means part of the search did not complete, so a missing passage is not proof that no document covers the topic. Also matches connected-cloud filenames and provider paths.

searchDrawings

ChatGPT
Searches the project's current drawing register and extracted drawing details by a literal register term or short phrase. Takes projectId, a query and an optional limit (up to 20). Returns drawings: sheets with drawingSheetId and details with drawingDetailId, each with documentId, pageIndex, appUrl and text, plus coverage with sheetsMatched, detailsMatched and totalMatched. sheetsMatched counts drawings; detailsMatched counts references on sheets.

searchEmails

ChatGPT
Hybrid search over the project's email threads by subject and thread metadata, not message bodies. Takes projectId, a query and an optional limit (default 8, up to 20). Returns threads, each with readEmailThreadId, subject, displaySubject, lastActivityAt and messageCount. A thread match is a lead to the thread, not the text of its messages.

searchLibrary

ChatGPT
Semantic search over the reference files the project's organization uploaded to its own Firm Library: guides, internal notes and practice material shared across projects. Takes projectId and a query. Returns ranked chunks, each with chunkId, documentId, title, page and content. It covers the Firm Library only, not the licensed standards shelf.

searchScheduleTasks

ChatGPT
Searches the project schedule's active tasks by name. Takes projectId, a query, an optional milestonesOnly flag and limit (default 12, up to 50). Returns tasks with taskId, parentTaskId, taskUniqueId, title, location and content with dates and progress, plus coverage with totalMatched and limits with maxRows.

getProjectContext

Claude

grepDocuments

Claude

grepEmails

Claude

inspectDocument

Claude

listLibraryResources

Claude

listProjectDocuments

Claude

listProjects

Claude

queryAiduWorklist

Claude

queryAuthoritySubmissions

Claude

queryProcurement

Claude

querySchedule

Claude

readDocumentPage

Claude

readEmailMessage

Claude

readEmailThread

Claude

searchBuildingCode

Claude

searchContracts

Claude

searchDocuments

Claude

searchDrawings

Claude

searchEmails

Claude

searchLibrary

Claude

Capabilities

List Your Ordinate Construction ProjectsSearch And Read Project Documents And Meeting ReportsSearch And Read Project Email ThreadsQuery The Programme, Procurement, Worklist And Authority SubmissionsSearch The Drawing Register And Contract ClausesSearch Firm Library, Standards And Building Codes

Similar Apps