Appearance
MCP Tool Reference
This page provides the complete input schema and parameter details for every tool available through the TeamCentral MCP API. For an overview of tools and how to get started, see MCP API.
Data Models
get_data_models
Returns a list of Data Models that have been configured.
Parameters: None
get_data_model_properties
Gets the properties of a Data Model. Must first call get_data_models to get a dataModelId.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
dataModelId | GUID | Yes | The Data Model ID from get_data_models |
Entity Lookup & Query
lookup_by_keyword
Searches for foreign key-related entities by keyword. Must first call get_data_models to get an entityType and entitySubType, or get them from get_data_model_properties. If multiple entities are returned, the user should choose which one to use.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
searchValue | string | Yes | The keyword to search for |
entityType | string | No | Entity type from get_data_models |
entitySubType | string | No | Entity sub-type from get_data_models |
limit | integer | No | Max results to return (1–100, default 10) |
query_entities
Queries for entities using filters, sorting, pagination, and optional property selection. This is the most flexible query tool, supporting complex filter groups with AND/OR logic and property-to-property comparisons.
Prerequisites:
- Call
get_data_modelsto get adataModelId - Call
get_data_model_propertiesto find valid property names for filters - Call
lookup_by_keywordif a property is a foreign key, to get the entity ID (GUID) for comparison
If results contain File entities with an externalFileLocation property, use get_file_text to extract readable content.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
dataModelId | GUID | Yes | The Data Model ID from get_data_models |
queryParameterGroups | array | No | Filter groups (see Query Parameter Groups below) |
paging | object | No | Pagination settings (see Paging below) |
sortCondition | object | No | Sort settings (see Sort Condition below) |
countOnly | boolean | No | When true, returns only the count without entity data (default false) |
properties | string[] | No | Property names to include in results. Only these fields (plus id) are returned. Omit to return all fields. |
Query Parameter Groups
Each group contains an array of filter parameters combined with AND/OR logic. Multiple groups are supported for complex queries.
| Name | Type | Required | Description |
|---|---|---|---|
andOrOperator | enum | No | And or Or (default And) |
parameters | array | No | Array of filter parameters (see below) |
Filter Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
operator | enum | Yes | One of: EqualTo, NotEqualTo, GreaterThan, GreaterThanEqualTo, LessThan, LessThanEqualTo, Contains, StartsWith, NotStartsWith, EndsWith, NotEndsWith |
propertyName | string | Yes | A valid property name from get_data_model_properties |
value | string | Conditional | The comparison value. For foreign key properties, provide the entity ID (GUID). Use the string "null" for null comparisons. Not required when comparisonPropertyName is set. |
valueType | enum | Conditional | boolean, string, number, or null. Use null when the value is null. Not required when comparisonPropertyName is set. |
comparisonPropertyName | string | No | When set, compares propertyName against this property instead of value. Must be a valid property from get_data_model_properties. |
Property-to-property comparison
To find records where one field exceeds another — for example, where UpdatedDate is after CreatedDate — set propertyName to UpdatedDate, comparisonPropertyName to CreatedDate, and operator to GreaterThan. When using comparisonPropertyName, omit value and valueType.
Paging
| Name | Type | Required | Description |
|---|---|---|---|
pageNumber | integer | No | Page to retrieve, 1-based (default 1) |
pageSize | integer | No | Items per page, 1–100 (default 25) |
The response includes hasMore (boolean) and nextPage (number or null). If nextPage is non-null, pass it as pageNumber in the next request to continue.
Sort Condition
| Name | Type | Required | Description |
|---|---|---|---|
propertyName | string | Yes | Property name from get_data_model_properties |
sortOrder | enum | No | Ascending or Descending (default Ascending) |
get_entities_by_ids
Retrieves one or more entities by their unique IDs from a specific Data Model. For a single entity, pass an array with one ID. Non-existent IDs are silently omitted from the results.
If a result is a File entity with an externalFileLocation property, use get_file_text to extract readable content.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
dataModelId | GUID | Yes | The Data Model ID from get_data_models |
entityIds | GUID[] | Yes | Array of entity IDs to retrieve (1–50) |
properties | string[] | No | Property names to include in results. Only these fields (plus id) are returned. Omit to return all fields. |
Saved Queries
get_saved_queries
Returns all Saved Queries (Live Data Providers) accessible to the user. Each query includes its name, ID, connector info, data model info, and declared input parameters.
Parameters: None
get_saved_query_details
Returns detailed metadata for a specific Saved Query, including its mapped fields (property names, types, and descriptions) filtered by user permissions. Must first call get_saved_queries to get the savedQueryId.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
savedQueryId | GUID | Yes | The Saved Query ID from get_saved_queries |
execute_saved_query
Executes a Saved Query by its ID with the provided input parameters. Must first call get_saved_queries to get the savedQueryId and declared inputs.
If results contain File entities with an externalFileLocation property, use get_file_text to extract readable content.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
savedQueryId | GUID | Yes | The Saved Query ID from get_saved_queries |
inputs | array | No | Input parameters matching DeclaredInputs from get_saved_queries (see below) |
properties | string[] | No | Property names to include in results. Only these fields (plus id) are returned. Omit to return all fields. |
Input Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Input name from DeclaredInputs |
value | string | Yes | Value for the input |
Data Entry
get_data_entry_form
Retrieves a data entry form for a Data Model, optionally pre-populated with initial values. Must first call get_data_models to get a dataModelId. Send the output of this tool to submit_data_entry_form when complete.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
dataModelId | GUID | Yes | The Data Model ID from get_data_models |
format | enum | Yes | AdaptiveCard or Json — use the most appropriate format for the calling client |
initialValues | array | No | Key-value pairs to pre-populate the form (see below) |
Initial Values:
| Name | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Property name from get_data_model_properties |
value | string | Yes | Initial value for the field |
submit_data_entry_form
Submits a completed data entry form to create or update a record.
Destructive
This tool creates or modifies records. The AI assistant will confirm with the user before submitting.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
dataModelId | GUID | Yes | The Data Model ID — should match the one passed to get_data_entry_form |
system | enum | No | The submitting system: Corbi, ChatGPT, Claude, or Copilot |
formValues | array | Yes | Completed form values (see below) |
Form Values:
| Name | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Property name from get_data_model_properties |
value | string | Yes | Submitted value for the field |
File Extraction
get_file_text
Extracts readable text from a document URL. Supports PDF, DOCX, PPTX, HTML, TXT, MD, CSV, JSON, and XML formats. Returns text in chunks — call repeatedly using the nextOffset value from the response until hasMore is false.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | URL | Yes | The externalFileLocation URL from the entity |
offset | integer | No | Start at 0, then use nextOffset from the previous response (default 0) |