j0hanz avatar

Cortex MCP — Multi-Level Reasoning Server

j0hanz/cortex-mcp

Connects stateful reasoning sessions to any MCP client over stdio. You get one tool, reasoning_think, that runs multi-step thought chains at four depth levels (basic, normal, high, expert), each with its own token budget and iteration limits. Sessions persist in memory with rollback, early conclusion, and structured observation/hypothesis/evaluation input. The server exposes six static resources and four resource templates for session lists, JSON snapshots, full markdown traces, and individual thought documents. Seven prompts wrap common workflows like continuing sessions or retrying failed thoughts. Completions are wired for level names, session IDs, and thought references. Useful when you need reproducible reasoning traces that you can inspect, resume, or replay without rebuilding prompt chains manually.

GitHub stars
1
tools
30
transport
STDIO
last updated
Mar 6, 2026

Tools

30 tools

Public tool metadata for what this MCP can expose to an agent.

listAllEntitiesList and filter catalog entities with support for pagination, search, and various filters including groups, types, owners, and git repositories. If the client is trying to fetch data for teams, use 'type': 'team' in these APIs.16 params

List and filter catalog entities with support for pagination, search, and various filters including groups, types, owners, and git repositories. If the client is trying to fetch data for teams, use 'type': 'team' in these APIs.

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
gitRepositoriesarray
Supports only GitHub repositories in the `org/repo` format
groupsarray
Filter based on groups, which correspond to the `x-cortex-groups` field in the Catalog Descriptor. Accepts a comma-delimited list of groups
hierarchyDepthstring
Depth of the parent / children hierarchy nodes. Can be 'full' or a valid integerdefault: full
includeArchivedboolean
Whether to include archived entities in the responsedefault: false
includeHierarchyFieldsarray
List of sub fields to include for hierarchies. Only supports 'groups'
includeLinksboolean
Whether to include links for each entity in the responsedefault: false
includeMetadataboolean
Whether to include custom data for each entity in the responsedefault: false
includeNestedFieldsarray
List of sub fields to include for different types
includeOwnersboolean
Whether to include ownership information for each entity in the responsedefault: false
includeSlackChannelsboolean
Whether to include Slack channels for each entity in the response
ownersarray
Filter based on owner group names, which correspond to the `x-cortex-owners` field in the Catalog Descriptor. Accepts a comma-delimited list of owner group names
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
querystring
Filter based on a [search query](https://docs.cortex.io/settings/search). This will search across entity properties. If provided, results will be sorted by relevance.default:
typesarray
Filter the response to specific types of entities. By default, this includes services, resources, and domains. Corresponds to the `x-cortex-type` field in the entity descriptor.
listEntityDescriptorsCortex Catalog API - Access and manage your service catalog, teams, domains, and resources5 params

Cortex Catalog API - Access and manage your service catalog, teams, domains, and resources

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
pageinteger
Page number to return, 0 indexed
pageSizeinteger
Number of entities to return per page
typesarray
Filter the response to specific types of entities. By default, this includes services, resources, and domains. Corresponds to the `x-cortex-type` field in the entity descriptor.
yamlboolean
When true, returns the YAML representation of the descriptors
listDependenciesForEntityList all dependencies for an entity including both incoming (who depends on this service) and outgoing (what this service depends on) relationships. Essential for understanding service interactions, planning changes, and assessing blast radius6 params

List all dependencies for an entity including both incoming (who depends on this service) and outgoing (what this service depends on) relationships. Essential for understanding service interactions, planning changes, and assessing blast radius

Parameters* required
callerTagstring
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
includeIncomingboolean
default: false
includeOutgoingboolean
default: true
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
getDependencyGet specific dependency details between two entities including method, path, and metadata. Useful for understanding the nature of the relationship, API contracts, and communication patterns between services5 params

Get specific dependency details between two entities including method, path, and metadata. Useful for understanding the nature of the relationship, API contracts, and communication patterns between services

Parameters* required
calleeTagstring
callerTagstring
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
methodstring
pathstring
getEntityDetailsRetrieve comprehensive details about a specific entity including its metadata, ownership, hierarchies, and relationships. This is the primary method for getting complete information about services, teams, or domains.5 params

Retrieve comprehensive details about a specific entity including its metadata, ownership, hierarchies, and relationships. This is the primary method for getting complete information about services, teams, or domains.

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
hierarchyDepthstring
Depth of the parent / children hierarchy nodes. Can be 'full' or a valid integerdefault: full
includeHierarchyFieldsarray
List of sub fields to include for hierarchies. Only supports 'groups'
includeOwnersboolean
Include ownership information, default is true
tagOrIdstring
Entity identifier - can be a tag or CID
getCustomDataForEntityList all custom data key-value pairs associated with an entity. Retrieve metadata, configuration settings, and custom attributes stored for services, resources, or domains. Supports pagination for entities with large amounts of custom data4 params

List all custom data key-value pairs associated with an entity. Retrieve metadata, configuration settings, and custom attributes stored for services, resources, or domains. Supports pagination for entities with large amounts of custom data

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
tagOrIdstring
Entity identifier - can be a tag or CID
getCustomDataForEntityByKeyRetrieve a specific custom data value by key for an entity. Efficiently access individual metadata attributes, configuration values, or custom properties without fetching all custom data3 params

Retrieve a specific custom data value by key for an entity. Efficiently access individual metadata attributes, configuration values, or custom properties without fetching all custom data

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
keystring
tagOrIdstring
Entity identifier - can be a tag or CID
listCustomEventsForEntityList custom events for an entity with optional filtering by type and time range. Supports pagination and filtering by event type, start time, and end time to retrieve historical event data8 params

List custom events for an entity with optional filtering by type and time range. Supports pagination and filtering by event type, start time, and end time to retrieve historical event data

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
endTimestring
If provided, events with less than or equal to timestamp will be returned (a date-time without a time-zone in the ISO-8601 calendar system)
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
startTimestring
If provided, events with greater than or equal to timestamp will be returned (a date-time without a time-zone in the ISO-8601 calendar system)
tagOrIdstring
Entity identifier - can be a tag or CID
timestampstring
Use 'startTime' instead
typestring
getCustomEventForEntityByUuidRetrieve a specific custom event by its UUID. Returns event details including title, description, timestamp, type, and any custom data associated with the event3 params

Retrieve a specific custom event by its UUID. Returns event details including title, description, timestamp, type, and any custom data associated with the event

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
tagOrIdstring
Entity identifier - can be a tag or CID
uuidstring
getDeploysForEntityList all deployments for a specific catalog entity. Returns deployment history including timestamps, environments, SHAs, and deployment types in paginated format4 params

List all deployments for a specific catalog entity. Returns deployment history including timestamps, environments, SHAs, and deployment types in paginated format

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
tagOrIdstring
Entity identifier - can be a tag or CID
getCurrentOncallForEntityRetrieve the current on-call personnel for an entity in real-time. Shows who is actively responsible for incident response, including primary and secondary on-call, contact information, and rotation schedules2 params

Retrieve the current on-call personnel for an entity in real-time. Shows who is actively responsible for incident response, including primary and secondary on-call, contact information, and rotation schedules

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
tagOrIdstring
Entity identifier - can be a tag or CID
getEntityDescriptorCortex Catalog API - Access and manage your service catalog, teams, domains, and resources3 params

Cortex Catalog API - Access and manage your service catalog, teams, domains, and resources

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
tagOrIdstring
Entity identifier - can be a tag or CID
yamlboolean
When true, returns the YAML representation of the descriptor
listEntityDestinationsForRelationshipTypeList all destinations for a certain relationship type & entity. Use the listRelationshipTypes tool to find the relevant relationshipTypeTag.5 params

List all destinations for a certain relationship type & entity. Use the listRelationshipTypes tool to find the relevant relationshipTypeTag.

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
depthstring
Maximum depth to traverse in the relationship hierarchy. Defaults to 1 (i.e., direct relationships only).
includeArchivedboolean
If true will include relationships that traverse archived entitiesdefault: false
relationshipTypeTagstring
tagOrIdstring
Entity identifier - can be a tag or CID
listEntitySourcesForRelationshipTypeList all sources for a certain relationship type & entity. Use the listRelationshipTypes tool to find the relevant relationshipTypeTag.5 params

List all sources for a certain relationship type & entity. Use the listRelationshipTypes tool to find the relevant relationshipTypeTag.

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
depthstring
Maximum depth to traverse in the relationship hierarchy. Defaults to 1 (i.e., direct relationships only).
includeArchivedboolean
If true will include relationships that traverse archived entitiesdefault: false
relationshipTypeTagstring
tagOrIdstring
Entity identifier - can be a tag or CID
getCustomMetricDataRetrieve custom metric data points for an entity. Returns paginated time-series data for a specific custom metric, with optional filtering by date range to analyze trends and patterns7 params

Retrieve custom metric data points for an entity. Returns paginated time-series data for a specific custom metric, with optional filtering by date range to analyze trends and patterns

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
customMetricKeystring
Key for the custom metric filter
endDatestring
End date for the filter (inclusive)
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
startDatestring
Start date for the filter (inclusive). Default: 6 months
tagOrIdstring
Entity identifier - can be a tag or CID
queryPointInTimeMetricsExecute point-in-time queries for one or more engineering metrics. Returns current metric values for specified time periods, with support for batch queries and optional period-over-period comparisons. Time range (startTime/endTime) cannot exceed 6 months (180 days). PREREQUISI...14 params

Execute point-in-time queries for one or more engineering metrics. Returns current metric values for specified time periods, with support for batch queries and optional period-over-period comparisons. Time range (startTime/endTime) cannot exceed 6 months (180 days). PREREQUISI...

Parameters* required
comparisonvalue
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
endTimestring
End time for the query period
filtersarray
Filters to apply to the data
groupByarray
Fields to group results by
limitinteger
Maximum number of results to return
metricsarray
List of metrics to query with their aggregation functions
nestedGroupByarray
Fields to group nested results by
nestedMetricsarray
Optional nested metrics for advanced queries
nestedTimeAttributestring
Time attribute for nested queries
nextPagestring
Pagination token for next page of results
orderByarray
Sort order for results
startTimestring
Start time for the query period
timeAttributestring
Time attribute to use for queries
listMetricDefinitionsList all available engineering metric definitions. USAGE - Call this endpoint BEFORE querying metrics (queryPointInTimeMetrics): 1. Once at start: Call with view='basic' to discover all available metrics - cache this response 2. Once per metric: Call with view='full' and key=M...3 params

List all available engineering metric definitions. USAGE - Call this endpoint BEFORE querying metrics (queryPointInTimeMetrics): 1. Once at start: Call with view='basic' to discover all available metrics - cache this response 2. Once per metric: Call with view='full' and key=M...

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
keyarray
viewstring
default: basic
listInitiativesList all initiatives in the organization with optional filters for draft and expired initiatives. View active improvement programs, strategic projects, and their current status to understand organizational priorities and track progress5 params

List all initiatives in the organization with optional filters for draft and expired initiatives. View active improvement programs, strategic projects, and their current status to understand organizational priorities and track progress

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
includeDraftsboolean
Whether or not to include draft Initiatives in the responsedefault: false
includeExpiredboolean
Whether or not to include expired Initiatives in the responsedefault: false
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
getInitiativeRetrieve detailed information about a specific initiative including its goals, timeline, affected entities, scorecard targets, and current progress. Essential for understanding initiative scope and tracking achievement of objectives2 params

Retrieve detailed information about a specific initiative including its goals, timeline, affected entities, scorecard targets, and current progress. Essential for understanding initiative scope and tracking achievement of objectives

Parameters* required
cidstring
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
getMyWorkspaceTOOL for retrieving current user's owned resources and work items across the Cortex workspace. FLEXIBLE REQUEST STRUCTURE: The request accepts an object with optional fields for each resource type: - myEntitiesRequest: Fetch entities (services, resources, domains) owned by the...7 params

TOOL for retrieving current user's owned resources and work items across the Cortex workspace. FLEXIBLE REQUEST STRUCTURE: The request accepts an object with optional fields for each resource type: - myEntitiesRequest: Fetch entities (services, resources, domains) owned by the...

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
myEntitiesRequestobject
Request for all entities (services, resources, domains) owned by the user
myOpenPRsRequestobject
Request for user's open pull requests across all Git repositories
myRequestedReviewsRequestobject
Request for pull requests where the user is requested as a reviewer
myScorecardsRequestobject
Request for scorecards associated with the user's entities
myTeamsRequestobject
Request for teams the user belongs to
myWorkItemsRequestobject
Request for work items (Jira, Linear, Azure DevOps issues) assigned to the user
listRelationshipTypesList all available relationship types with pagination. View relationship type configurations to understand what kinds of relationships can be created between entities like services, resources, domains, and teams3 params

List all available relationship types with pagination. View relationship type configurations to understand what kinds of relationships can be created between entities like services, resources, domains, and teams

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
getRelationshipTypeDetailsGet complete details of a specific relationship type including its configuration, rules, source/destination filters, and inheritance settings. Essential for understanding how entities can be connected and what validation rules apply2 params

Get complete details of a specific relationship type including its configuration, rules, source/destination filters, and inheritance settings. Essential for understanding how entities can be connected and what validation rules apply

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
relationshipTypeTagstring
listEntityRelationshipsList all entity relationships/full graph for a specific relationship type across the entire organization. Returns paginated results showing all source-destination pairs, useful for understanding the complete relationship graph and finding all connections of a particular type4 params

List all entity relationships/full graph for a specific relationship type across the entire organization. Returns paginated results showing all source-destination pairs, useful for understanding the complete relationship graph and finding all connections of a particular type

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
relationshipTypeTagstring
listScorecardsList all scorecards in the organization with optional filtering. View scorecard configurations to understand quality standards, compliance requirements, and maturity models. Supports filtering by groups, entities, and teams to find relevant scorecards7 params

List all scorecards in the organization with optional filtering. View scorecard configurations to understand quality standards, compliance requirements, and maturity models. Supports filtering by groups, entities, and teams to find relevant scorecards

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
entitiesarray
Filter based on entity (either tags or CIDs). Accepts a comma-delimited list of entity tag or CIDs, please use only one type of identifier
groupsarray
Filter based on groups, which correspond to the `x-cortex-groups` field in the Catalog Descriptor. Accepts a comma-delimited list of groups
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
showDraftsboolean
teamsarray
Filter based on team (either tags or CIDs). Accepts a comma-delimited list of team tag or CIDs, please use only one type of identifier
getScorecardGet complete details of a scorecard including its configuration, rules, levels, weights, exemption settings, and evaluation criteria. Essential for understanding how services are evaluated and what standards they must meet2 params

Get complete details of a scorecard including its configuration, rules, levels, weights, exemption settings, and evaluation criteria. Essential for understanding how services are evaluated and what standards they must meet

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
tagstring
Unique tag for the Scorecard
getScorecardNextStepsForEntityGet actionable next steps for an entity to improve its scorecard performance. Shows which rules need to be satisfied to reach the next maturity level, helping teams prioritize improvements and track progress toward compliance goals3 params

Get actionable next steps for an entity to improve its scorecard performance. Shows which rules need to be satisfied to reach the next maturity level, helping teams prioritize improvements and track progress toward compliance goals

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
entityTagstring
The entity tag (`x-cortex-tag`) that identifies the entity.
tagstring
Unique tag for the Scorecard
listScorecardScoresRetrieve scores for all entities evaluated by a specific scorecard. Returns paginated results showing how each service, resource, or domain performs against the scorecard's rules, including individual rule scores and overall scorecard scores5 params

Retrieve scores for all entities evaluated by a specific scorecard. Returns paginated results showing how each service, resource, or domain performs against the scorecard's rules, including individual rule scores and overall scorecard scores

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
entityTagstring
Entity tag (x-cortex-tag)
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
tagstring
Unique tag for the Scorecard
getTeamDetailsRetrieve detailed information about a specific team by its tag or ID. Returns complete team data including members, slack channels, metadata, and whether it's backed by an identity provider group2 params

Retrieve detailed information about a specific team by its tag or ID. Returns complete team data including members, slack channels, metadata, and whether it's backed by an identity provider group

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
tagOrIdstring
Entity identifier - can be a tag or CID
query_docsQuery the Cortex knowledge base for answers. Args: query: The question to ask Cortex docs Returns: Response from Cortex including answer and metadata2 params

Query the Cortex knowledge base for answers. Args: query: The question to ask Cortex docs Returns: Response from Cortex including answer and metadata

Parameters* required
contextstring
Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader pla...
querystring
get_more_toolsCheck for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.1 params

Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.

Parameters* required
contextvalue
default:

Sponsors

Readme

Details

Repository
github.com/j0hanz/cortex-mcp
Website
github.com/j0hanz/cortex-mcp#readme
Package
@j0hanz/cortex-mcp
Transport
STDIO
Registry
MCP registry, active

More from j0hanz