CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Cortex MCP — Multi-Level Reasoning Server

j0hanz/cortex-mcp
130 toolsSTDIOregistry active
Summary

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.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

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

30 tools
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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.
groupsarray
Filter based on groups, which correspond to the `x-cortex-groups` field in the Catalog Descriptor. Accepts a comma-delimited list of groups
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
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
includeLinksboolean
Whether to include links for each entity in the responsedefault: false
includeOwnersboolean
Whether to include ownership information for each entity in the responsedefault: false
hierarchyDepthstring
Depth of the parent / children hierarchy nodes. Can be 'full' or a valid integerdefault: full
gitRepositoriesarray
Supports only GitHub repositories in the `org/repo` format
includeArchivedboolean
Whether to include archived entities 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
includeSlackChannelsboolean
Whether to include Slack channels for each entity in the response
includeHierarchyFieldsarray
List of sub fields to include for hierarchies. Only supports 'groups'
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
pageinteger
Page number to return, 0 indexed
yamlboolean
When true, returns the YAML representation of the descriptors
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.
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
pageSizeinteger
Number of entities to return per page
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
callerTagstring
includeIncomingboolean
default: false
includeOutgoingboolean
default: true
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
pathstring
methodstring
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
calleeTagstring
callerTagstring
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
tagOrIdstring
Entity identifier - can be a tag or CID
includeOwnersboolean
Include ownership information, default is true
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'
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
tagOrIdstring
Entity identifier - can be a tag or CID
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
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
keystring
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
typestring
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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)
tagOrIdstring
Entity identifier - can be a tag or CID
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)
timestampstring
Use 'startTime' instead
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
uuidstring
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
tagOrIdstring
Entity identifier - can be a tag or CID
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
tagOrIdstring
Entity identifier - can be a tag or CID
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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
yamlboolean
When true, returns the YAML representation of the descriptor
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
tagOrIdstring
Entity identifier - can be a tag or CID
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
depthstring
Maximum depth to traverse in the relationship hierarchy. Defaults to 1 (i.e., direct relationships only).
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
tagOrIdstring
Entity identifier - can be a tag or CID
includeArchivedboolean
If true will include relationships that traverse archived entitiesdefault: false
relationshipTypeTagstring
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
depthstring
Maximum depth to traverse in the relationship hierarchy. Defaults to 1 (i.e., direct relationships only).
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
tagOrIdstring
Entity identifier - can be a tag or CID
includeArchivedboolean
If true will include relationships that traverse archived entitiesdefault: false
relationshipTypeTagstring
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
endDatestring
End date for the filter (inclusive)
tagOrIdstring
Entity identifier - can be a tag or CID
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
customMetricKeystring
Key for the custom metric filter
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
limitinteger
Maximum number of results to return
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
endTimestring
End time for the query period
filtersarray
Filters to apply to the data
groupByarray
Fields to group results by
metricsarray
List of metrics to query with their aggregation functions
orderByarray
Sort order for results
nextPagestring
Pagination token for next page of results
startTimestring
Start time for the query period
comparisonvalue
nestedGroupByarray
Fields to group nested results by
nestedMetricsarray
Optional nested metrics for advanced queries
timeAttributestring
Time attribute to use for queries
nestedTimeAttributestring
Time attribute for nested 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
keyarray
viewstring
default: basic
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
includeDraftsboolean
Whether or not to include draft Initiatives in the responsedefault: false
includeExpiredboolean
Whether or not to include expired Initiatives in the responsedefault: false
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
myTeamsRequestobject
Request for teams the user belongs to
myOpenPRsRequestobject
Request for user's open pull requests across all Git repositories
myEntitiesRequestobject
Request for all entities (services, resources, domains) owned by the user
myWorkItemsRequestobject
Request for work items (Jira, Linear, Azure DevOps issues) assigned to the user
myScorecardsRequestobject
Request for scorecards associated with the user's entities
myRequestedReviewsRequestobject
Request for pull requests where the user is requested as a reviewer
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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
groupsarray
Filter based on groups, which correspond to the `x-cortex-groups` field in the Catalog Descriptor. Accepts a comma-delimited list of groups
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
showDraftsboolean
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
tagstring
Unique tag for the Scorecard
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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
tagstring
Unique tag for the Scorecard
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
entityTagstring
The entity tag (`x-cortex-tag`) that identifies the entity.
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
tagstring
Unique tag for the Scorecard
pageinteger
Page number to return, 0-indexed. Default 0.default: 0
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
pageSizeinteger
Number of results to return per page, between 1 and 1000. Default 250.default: 250
entityTagstring
Entity tag (x-cortex-tag)
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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
querystring
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 plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
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:

Cortex MCP

npm version License

Install in VS Code Install in VS Code Insiders Install in Visual Studio

Add to LM Studio Install in Cursor Install in Goose

Multi-level reasoning MCP server with configurable depth levels, session-based state management, structured thought input, and real-time trace resources.

Overview

Cortex MCP is a stdio-only MCP server for stateful, depth-controlled reasoning. The runtime entrypoint in src/index.ts connects createServer() to StdioServerTransport, and the server surface in src/server.ts enables tools, prompts, completions, logging, and subscribable resources around a single session-based reasoning engine.

The live MCP surface confirmed by Inspector is 1 tool, 6 concrete resources, 4 resource templates, and 7 prompts. Sessions are stored in memory, exposed as MCP resources, and cleared on process restart.

Key Features

  • reasoning_think supports step-by-step sessions, run_to_completion batches, rollback, early conclusion, and structured observation / hypothesis / evaluation input.
  • Four depth levels are built into the engine: basic, normal, high, and expert, each with bounded thought ranges and token budgets.
  • Prompt helpers expose reasoning.basic, reasoning.normal, reasoning.high, reasoning.expert, reasoning.continue, reasoning.retry, and get-help.
  • Resource endpoints expose internal docs plus live session lists, per-session JSON views, full markdown traces, and individual thought documents.
  • Completions are wired for levels, session IDs, and thought names through completable() and resource-template completion hooks.

Requirements

  • Node.js >=24 for local npx or npm usage.
  • An MCP client that supports stdio transport.
  • Optional: Docker if you want to build or run the container image defined by Dockerfile.

Quick Start

Use this standard MCP client configuration:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

Client Configuration

Install in VS Code

Install in VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

Or install via CLI:

code --add-mcp '{"name":"cortex-mcp","command":"npx","args":["-y","@j0hanz/cortex-mcp@latest"]}'

For more info, see VS Code MCP docs.

Install in VS Code Insiders

Install in VS Code Insiders

Add to .vscode/mcp.json:

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

Or install via CLI:

code-insiders --add-mcp '{"name":"cortex-mcp","command":"npx","args":["-y","@j0hanz/cortex-mcp@latest"]}'

For more info, see VS Code Insiders MCP docs.

Install in Cursor

Install in Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Cursor MCP docs.

Install in Visual Studio

Install in Visual Studio

Add to mcp.json (VS integrated):

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Visual Studio MCP docs.

Install in Goose

Install in Goose

Add to Goose extension registry:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Goose MCP docs.

Install in LM Studio

Add to LM Studio

Add to LM Studio MCP config:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see LM Studio MCP docs.

Install in Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Claude Desktop MCP docs.

Install in Claude Code

Add to Claude Code CLI:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

Or install via CLI:

claude mcp add cortex-mcp -- npx -y @j0hanz/cortex-mcp@latest

For more info, see Claude Code MCP docs.

Install in Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Windsurf MCP docs.

Install in Amp

Add to Amp MCP config:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

Or install via CLI:

amp mcp add cortex-mcp -- npx -y @j0hanz/cortex-mcp@latest

For more info, see Amp MCP docs.

Install in Cline

Add to cline_mcp_settings.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Cline MCP docs.

Install in Codex CLI

Add to ~/.codex/config.yaml or codex CLI:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Codex CLI MCP docs.

Install in GitHub Copilot

Add to .vscode/mcp.json:

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see GitHub Copilot MCP docs.

Install in Warp

Add to Warp MCP config:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Warp MCP docs.

Install in Kiro

Add to .kiro/settings/mcp.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Kiro MCP docs.

Install in Gemini CLI

Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Gemini CLI MCP docs.

Install in Zed

Add to ~/.config/zed/settings.json:

{
  "context_servers": {
    "cortex-mcp": {
      "settings": {
        "command": "npx",
        "args": ["-y", "@j0hanz/cortex-mcp@latest"]
      }
    }
  }
}

For more info, see Zed MCP docs.

Install in Augment

Add to VS Code settings.json:

Add to your VS Code settings.json under augment.advanced.

{
  "augment.advanced": {
    "mcpServers": [
      {
        "id": "cortex-mcp",
        "command": "npx",
        "args": ["-y", "@j0hanz/cortex-mcp@latest"]
      }
    ]
  }
}

For more info, see Augment MCP docs.

Install in Roo Code

Add to Roo Code MCP settings:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Roo Code MCP docs.

Install in Kilo Code

Add to Kilo Code MCP settings:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

For more info, see Kilo Code MCP docs.

Use Cases

Start bounded reasoning at the right depth

Use reasoning.basic, reasoning.normal, reasoning.high, or reasoning.expert when the client wants a prompt-first entrypoint, or call reasoning_think directly with query, level, and the first thought. Each response returns the current session state plus a summary string that tells the client how to continue.

Relevant tool: reasoning_think
Related prompts: reasoning.basic, reasoning.normal, reasoning.high, reasoning.expert

Continue, retry, or batch an active session

Reuse sessionId to continue a prior trace, switch to runMode="run_to_completion" when you already have the remaining thought inputs, or use the continuation and retry prompts to generate the next call payload. The handler also supports rollbackToStep and isConclusion for revising or ending a trace early.

Relevant tool: reasoning_think
Related prompts: reasoning.continue, reasoning.retry

Inspect live traces without re-running the tool

Read reasoning://sessions for the active session list, reasoning://sessions/{sessionId} for the JSON detail view, reasoning://sessions/{sessionId}/trace for the markdown transcript, or reasoning://sessions/{sessionId}/thoughts/{thoughtName} for a single thought. This lets a client present progress or audit a session independently from the next tool call.

Relevant resources: reasoning://sessions, reasoning://sessions/{sessionId}, reasoning://sessions/{sessionId}/trace, reasoning://sessions/{sessionId}/thoughts/{thoughtName}

Architecture

[MCP Client]
    |
    | stdio
    v
[src/index.ts]
    createServer()
    -> new StdioServerTransport()
    -> server.connect(transport)
    |
    v
[src/server.ts]
    McpServer("cortex-mcp")
    capabilities:
      - tools
      - prompts
      - completions
      - logging
      - resources { subscribe: true, listChanged: true }
    |
    +--> tools/call
    |     -> reasoning_think
    |     -> src/tools/reasoning-think.ts
    |     -> ReasoningThinkInputSchema / ReasoningThinkToolOutputSchema
    |     -> src/engine/reasoner.ts
    |     -> SessionStore
    |
    +--> prompts/get
    |     -> src/prompts/index.ts
    |
    +--> resources/read
    |     -> src/resources/index.ts
    |     -> internal://* and reasoning://sessions/*
    |
    +--> notifications
          -> logging messages
          -> resources/list_changed
          -> resources/updated
          -> notifications/progress

Request Lifecycle

[Client] -- initialize --> [Server]
[Server] -- serverInfo + capabilities --> [Client]
[Client] -- notifications/initialized --> [Server]
[Client] -- tools/call {name: "reasoning_think", arguments} --> [Handler]
[Handler] -- validate args --> [Reasoner + SessionStore]
[Reasoner] -- progress/resource events --> [Server notifications]
[Handler] -- structuredContent + optional trace resource --> [Client]

MCP Surface

Tools

reasoning_think

Stateful reasoning tool for creating and continuing multi-step sessions. It supports one-step interactive calls, run_to_completion batches, structured observation/hypothesis/evaluation input, rollback, and early conclusion while returning structured session state.

ParameterTypeRequiredDescription
querystringnoQuestion or problem to analyze.
levelstringnoDepth level. Required for new sessions. basic (1–3 steps, 2K budget), normal (4–8 steps, 8K budget), high (10–15 steps, 32K budget), expert (20–25 steps, 128K budget).
targetThoughtsintegernoExact step count. Must fit level range.
sessionIdstringnoSession ID to continue.
runModestringno"step" (default) or "run_to_completion".
thoughtanynoReasoning text. Stored verbatim. String for step mode, string[] for batch.
isConclusionbooleannoEnd session early at final answer.
rollbackToStepintegerno0-based index to rollback to. Discards later thoughts.
stepSummarystringnoOne-sentence step summary.
observationstringnoKnown facts at this step.
hypothesisstringnoProposed next idea.
evaluationstringnoCritique of hypothesis.
Data Flow
1. [Client] -- tools/call {name: "reasoning_think", arguments} --> [Server]
   Transport: stdio
2. [Server] -- dispatch("reasoning_think") --> [Handler: src/tools/reasoning-think.ts]
3. [Handler] -- validate(ReasoningThinkInputSchema) --> [src/engine/reasoner.ts]
4. [Reasoner] -- create/update session --> [src/engine/session-store.ts]
5. [Handler] -- structuredContent + optional embedded trace resource --> [Client]

Resources

ResourceURI or TemplateMIME TypeDescription
server-instructionsinternal://instructionstext/markdownUsage instructions for the MCP server.
server-configinternal://server-configapplication/jsonRuntime limits and level configurations for the reasoning server.
tool-cataloginternal://tool-catalogtext/markdownTool reference: models, params, outputs, data flow.
tool-infointernal://tool-info/{toolName}text/markdownPer-tool contract details.
tool-info-reasoning_thinkinternal://tool-info/reasoning_thinktext/markdownContract details for reasoning_think.
workflowsinternal://workflowstext/markdownRecommended workflows and tool sequences.
reasoning.sessionsreasoning://sessionsapplication/jsonList of active reasoning sessions with summaries. Updated in real-time as sessions progress.
reasoning.sessionreasoning://sessions/{sessionId}application/jsonDetailed view of a single reasoning session, including all thoughts and metadata.
reasoning.tracereasoning://sessions/{sessionId}/tracetext/markdownMarkdown trace of a reasoning session (full content).
reasoning.thoughtreasoning://sessions/{sessionId}/thoughts/{thoughtName}text/markdownMarkdown content of a single thought (for example Thought-1).

Prompts

PromptArgumentsDescription
get-helpnoneReturn server usage instructions.
reasoning.basicquery required, targetThoughts optionalBasic-depth reasoning (1-3 thoughts).
reasoning.normalquery required, targetThoughts optionalNormal-depth reasoning (4-8 thoughts).
reasoning.highquery required, targetThoughts optionalHigh-depth reasoning (10-15 thoughts).
reasoning.expertquery required, targetThoughts optionalExpert-depth reasoning (20-25 thoughts).
reasoning.continuesessionId required, query optional, level optionalContinue an existing session. Optional follow-up query.
reasoning.retryquery required, level required, targetThoughts optionalRetry a failed reasoning task with modified parameters.

MCP Capabilities

CapabilityStatusEvidence
toolsconfirmedsrc/server.ts:203-205, src/tools/reasoning-think.ts:479
promptsconfirmedsrc/server.ts:205, src/prompts/index.ts:201
completionsconfirmedsrc/server.ts:207, src/prompts/index.ts:249, src/resources/index.ts:375
loggingconfirmedsrc/server.ts:204, src/server.ts:98
resources.subscribeconfirmedsrc/server.ts:208, src/server.ts:121
resources.listChangedconfirmedsrc/server.ts:208, src/server.ts:114
progress notificationsconfirmedsrc/lib/mcp.ts:71, src/tools/reasoning-think.ts:424

Tool Annotations

AnnotationValueEvidence
readOnlyHintfalsesrc/tools/reasoning-think.ts:500
destructiveHintfalsesrc/tools/reasoning-think.ts:502
openWorldHintfalsesrc/tools/reasoning-think.ts:503
idempotentHintfalsesrc/tools/reasoning-think.ts:501

Structured Output

  • reasoning_think declares outputSchema and returns structuredContent, with an embedded trace resource when the trace is small enough. Evidence: src/tools/reasoning-think.ts:498, src/lib/mcp.ts:97-114.

Configuration

VariableDefaultRequiredEvidence
CORTEX_SESSION_TTL_MS1800000 (30 minutes)nosrc/engine/reasoner.ts:22, src/engine/session-store.ts:19
CORTEX_MAX_SESSIONS100nosrc/engine/reasoner.ts:23, src/engine/session-store.ts:20
CORTEX_MAX_TOTAL_TOKENS2000000nosrc/engine/reasoner.ts:24, src/engine/session-store.ts:21
CORTEX_MAX_ACTIVE_REASONING_TASKS32nosrc/engine/config.ts:41-44
CORTEX_REDACT_TRACE_CONTENTfalsenosrc/engine/config.ts:21

[!NOTE] The source does not define any HTTP host/port configuration. The only other environment-related signal is NODE_ENV=production in the Docker image and --env-file=.env in the local dev:run script.

Security

ControlStatusEvidence
input validationconfirmedsrc/schemas/inputs.ts:13, src/schemas/outputs.ts:46, src/prompts/index.ts:207
stdout-safe logging fallbackconfirmedsrc/server.ts:98, src/server.ts:145
main-thread-only runtimeconfirmedsrc/index.ts:15-25
non-root container userconfirmedDockerfile:37

[!NOTE] No auth, OAuth, HTTP origin checks, or rate-limiting controls are implemented in the current source because the server only exposes stdio transport.

Development

ScriptCommandPurpose
devtsc --watch --preserveWatchOutputWatch and compile source during development.
dev:runnode --env-file=.env --watch dist/index.jsRun the built server in watch mode with an optional local .env file.
buildnode scripts/tasks.mjs buildClean dist, compile TypeScript, copy assets, and make the entrypoint executable.
linteslint .Run ESLint across the repository.
type-checknode scripts/tasks.mjs type-checkRun source and test TypeScript checks concurrently.
testnode scripts/tasks.mjs testRun the TypeScript test suites with the configured loader.
test:distnode scripts/tasks.mjs test:distRebuild first, then run tests against the built output.
test:fastnode --test --import tsx/esm src/__tests__/**/*.test.ts node-tests/**/*.test.tsRun the fast direct test command without the task wrapper.
formatprettier --write .Format the repository.
inspectornpm run build && npx -y @modelcontextprotocol/inspector node dist/index.jsBuild the server and open it in the MCP Inspector.
prepublishOnlynpm run lint && npm run type-check && npm run buildEnforce release checks before publishing.

Additional helper scripts for diagnostics, coverage, asset copying, and knip are defined in package.json.

Build and Release

  • .github/workflows/release.yml bumps package.json and server.json, then runs npm run lint, npm run type-check, npm run test, and npm run build before tagging and creating a GitHub release.
  • The same workflow publishes the package to npm with Trusted Publishing, publishes to the MCP Registry with mcp-publisher, and pushes a multi-arch Docker image to ghcr.io.
  • Dockerfile uses a multi-stage Node 24 Alpine build, prunes dev dependencies, and runs the released container as the mcp user.

Troubleshooting

  • Sessions are in memory and expire after 30 minutes by default. If you receive E_SESSION_NOT_FOUND, start a new session or increase CORTEX_SESSION_TTL_MS.
  • runMode="run_to_completion" requires enough thought entries to cover the remaining steps. If you want the server to return after each step, keep the default step mode.
  • For stdio transport, do not add custom stdout logging around the server process. This server routes logs through MCP logging and falls back to stderr on failures.

Credits

DependencyRegistry
@modelcontextprotocol/sdknpm
zodnpm

Contributing and License

  • License: MIT
  • Contributions are welcome via pull requests.
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Registryactive
Package@j0hanz/cortex-mcp
TransportSTDIO
UpdatedMar 6, 2026
View on GitHub