MCP Server

Interfaces

Interfaces

ResolvedToolLimits

Resolved tool limits interface

Properties:

PropertyTypeRequiredDescription
listDefaultLimitnumberYes
listMaxLimitnumberYes
maxResponseBytesnumberYes

TaskPreparationResult

Task preparation result

Properties:

PropertyTypeRequiredDescription
taskIdstringYes
taskTitlestringYes
taskDescriptionstring | undefinedNo
projectIdstringYes

CreateApprovalData

Data required to create a new approval

Properties:

PropertyTypeRequiredDescription
projectIdstringYes
titlestringYes
type"document" | "action"Yes
category"spec" | "steering"Yes
categoryNamestringYes
documentType"tasks" | "requirements" | "design" | "product" | "tech" | "structure" | undefinedNo
documentContentstring | undefinedNo
milestoneIdstring | undefinedNo
orgIdstringYes
workspaceIdstring | undefinedNo
userIdstringYes

ApprovalFilters

Filters for listing approvals

Properties:

PropertyTypeRequiredDescription
status"pending" | "approved" | "rejected" | "needs-revision" | undefinedNoFilter by approval status
projectIdstring | undefinedNoFilter by project ID
orgIdstring | undefinedNoFilter by organization ID

CreateSteeringData

Data required to create a new steering document

Properties:

PropertyTypeRequiredDescription
documentTypeSteeringTypeYes
titlestringYes
contentstringYes
orgIdstringYes
projectIdstring | undefinedNo
userIdstringYes
templateVersionstring | undefinedNo

ListSteeringDocsOptions

Options for listing steering documents

Properties:

PropertyTypeRequiredDescription
scope"org" | "project"Yes
projectIdstring | undefinedNo

CreateTemplateData

Data required to create a new template

Properties:

PropertyTypeRequiredDescription
templateTypeTemplateTypeYes
namestringYes
contentstringYes
versionstringYes
orgIdstringYes
workspaceIdstring | undefinedNo
userIdstringYes
metadata{ description: string; language: string; category: "spec" | "steering"; }Yes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
contentTextContent[]Yes
isErrorbooleanYes

AgentAssignment

Agent assignment data

Properties:

PropertyTypeRequiredDescription
taskIdstringYes
agentIdstringYes
agentType"main" | "subagent" | "reviewer" | "specialist"Yes
assignedAtstringYes
status"assigned" | "working" | "paused" | "completed"Yes
progressnumber | undefinedNo
notesstring | undefinedNo

AgentWorkload

Agent workload data

Properties:

PropertyTypeRequiredDescription
agentIdstringYes
assignednumberYes
workingnumberYes
completednumberYes
pausednumberYes
tasks{ taskId: string; title: string; status: string; assignedAt: string; }[]Yes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
contentTextContent[]Yes
isErrorbooleanYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
contentTextContent[]Yes
isErrorbooleanYes

TaskDependency

Task dependency data

Properties:

PropertyTypeRequiredDescription
taskIdstringYes
dependsOnstring[]Yes
blockedBystring[] | undefinedNo
blockingstring[] | undefinedNo

SetDependencyResult

Set dependency result

Properties:

PropertyTypeRequiredDescription
successbooleanYes
taskIdstringYes
dependsOnstring[]Yes
messagestringYes

CanStartResult

Check can start result

Properties:

PropertyTypeRequiredDescription
canStartbooleanYes
taskIdstringYes
messagestringYes
blockedBystring[] | undefinedNo
missingDependencies{ id: string; title: string; status: string; }[] | undefinedNo

BlockedTasksResult

Blocked tasks result

Properties:

PropertyTypeRequiredDescription
successbooleanYes
countnumberYes
blockedTasks{ taskId: string; title: string; blockedBy: string[]; waitingFor: Array<{ id: string; title: string; status: string; }>; }[]Yes

TextContent

Text content block for MCP responses

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

CallToolResult

Result from MCP tool call

Properties:

PropertyTypeRequiredDescription
contentTextContent[]Yes
isErrorbooleanYes

DocumentToolsConfig

Configuration for DocumentTools

Note: workspaceId, orgId, and userId may be undefined if the MCP server is started without proper authentication context. In this case, document operations that require these values will fail with descriptive errors.

Properties:

PropertyTypeRequiredDescription
clientIRxDBClientYesRxDB client for document operations
documentStoreUrlstringYesURL of the document-store service
authTokenstringYesAuthentication token for API calls
domainIdstringYesDomain ID for multi-tenant isolation
workspaceIdstring | undefinedNoWorkspace ID for document scoping (may be undefined)
orgIdstring | undefinedNoOrganization ID (may be undefined)
userIdstring | undefinedNoUser ID for document ownership (may be undefined)
ragClientRAGClient | undefinedNoOptional RAG client for semantic search

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

ResourceContent

MCP Tool Response - Resource Content

Properties:

PropertyTypeRequiredDescription
type"resource"Yes
resource{ uri: string; name: string; mimeType: string; text: string; }Yes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
content(TextContent | ResourceContent)[]Yes
isErrorbooleanYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
contentTextContent[]Yes
isErrorbooleanYes

ProjectInitConfig

Project initialization configuration

Properties:

PropertyTypeRequiredDescription
projectNamestringYes
projectType"nodejs" | "mcp" | "fullstack" | "generic"Yes
descriptionstring | undefinedNo
workspaceIdstring | undefinedNo
workspaceNamestring | undefinedNo
workspaceDescriptionstring | undefinedNo
repositoryUrlstring | undefinedNo
repositoryProvider"github" | "gitlab" | "bitbucket" | "other" | undefinedNo
repositoryBranchstring | undefinedNo
repositoryPrivateboolean | undefinedNo
packageManager"npm" | "yarn" | "pnpm" | "bun" | undefinedNo
nodeVersionstring | undefinedNo
projectPathstringYes
userIdstringYes
orgIdstringYes

RAGClientConfig

RAG Client configuration from environment variables

Properties:

PropertyTypeRequiredDescription
surrealdbUrlstringYes
surrealdbUserstringYes
surrealdbPassstringYes
surrealdbNamespacestringYes
surrealdbDatabasestringYes
ollamaUrlstringYes
embeddingModelstringYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
contentTextContent[]Yes
isErrorbooleanYes

SessionContext

Session context data

Properties:

PropertyTypeRequiredDescription
sessionIdstringYes
codebaseIdstringYes
workspaceIdstringYes
projectIdstring | undefinedNo
userIdstringYes
orgIdstringYes
context{ [key: string]: any; activeTaskId?: string; currentPhase?: string; lastActivity?: string; workingDirectory?: string; gitBranch?: string; notes?: string; }Yes
createdAtstringYes
updatedAtstringYes
expiresAtstring | undefinedNo

TaskExecutionResult

Task execution result

Properties:

PropertyTypeRequiredDescription
taskIdstringYes
executionType"local" | "remote"Yes
assignedAgentstring | undefinedNo
messagestringYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
contentTextContent[]Yes
isErrorbooleanYes
dashboardUrlstring | undefinedNo
dashboardAvailableboolean | undefinedNo

WorkflowGuideResult

Workflow guide response with dashboard info

Properties:

PropertyTypeRequiredDescription
dashboardUrlstringYes
dashboardAvailablebooleanYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
contentTextContent[]Yes
isErrorbooleanYes

EnvironmentConfig

Environment-specific configuration

Properties:

PropertyTypeRequiredDescription
serverUrlstringYesServer URL for this environment
domainIdstringYesDomain ID for this environment
replicationServerUrlstring | undefinedNoOptional replication server URL (if different from main server)
authTokenstring | undefinedNoOptional authentication token

ServerConfig

Server configuration with multiple environments

Properties:

PropertyTypeRequiredDescription
idstringYesUnique server identifier
namestringYesHuman-readable server name
environmentsRecord<Environment, EnvironmentConfig>YesEnvironment configurations
activeEnvironmentEnvironmentYesCurrently active environment
replicationEnabledboolean | undefinedNoWhether replication is enabled
metadataRecord<string, any> | undefinedNoAdditional metadata

StoredServerConfig

Stored server configuration with authentication

Properties:

PropertyTypeRequiredDescription
authTokensPartial<Record<Environment, string>> | undefinedNoStored authentication tokens per environment
lastConnectedstring | undefinedNoLast connection timestamp
isDefaultboolean | undefinedNoWhether this is the default server

ServerConfigStore

Server configuration store

Properties:

PropertyTypeRequiredDescription
serversRecord<string, StoredServerConfig>YesMap of server ID to server config
activeServerIdstring | undefinedNoCurrently active server ID
versionstringYesVersion of config format

CLISettings

CLI-specific settings

Properties:

PropertyTypeRequiredDescription
defaultEditorstringYesDefault editor for editing files
colorOutputbooleanYesWhether to use color output in terminal
verboseLoggingbooleanYesEnable verbose logging
outputFormat"json" | "table" | "yaml" | undefinedNoDefault output format (json, table, etc.)

AgentSettings

Agent-specific settings

Properties:

PropertyTypeRequiredDescription
defaultPollIntervalnumberYesDefault polling interval in milliseconds
maxConcurrentTasksnumberYesMaximum concurrent tasks per agent
defaultLogLevel"debug" | "info" | "warn" | "error"YesDefault log level for agents
autoRestartboolean | undefinedNoAuto-restart agents on failure

AgentConfig

Agent runtime configuration

Properties:

PropertyTypeRequiredDescription
idstringYes
namestringYes
status"error" | "running" | "stopped"Yes
startedAtstring | undefinedNo
stoppedAtstring | undefinedNo
tasksCompletednumber | undefinedNo
tasksInProgressnumber | undefinedNo
lastErrorstring | undefinedNo

FlowStateConfig

Complete FlowState CLI configuration Stored in ~/.flowstate/config.json

Properties:

PropertyTypeRequiredDescription
versionstringYesConfiguration format version
serversServerConfigStoreYesServer configurations
cliCLISettingsYesCLI settings
agentAgentSettingsYesAgent settings
lastUpdatedstring | undefinedNoLast updated timestamp

IRxDBClient

Common interface for database clients (RxDBClientManager and RxDBRestClient) This allows tools and managers to work with either local or REST clients

Properties:

PropertyTypeRequiredDescription
projects{ insert(doc: ProjectModel): Promise<any>; findOne(params: { selector: any; }): { exec(): Promise<ProjectModel | null>; }; find(params: { selector: any; sort?: any; }): { exec(): Promise<ProjectModel[]>; }; }Yes
milestones{ insert(doc: MilestoneModel): Promise<any>; bulkInsert?(docs: MilestoneModel[]): Promise<any>; update(id: string, updates: Partial<MilestoneModel>): Promise<MilestoneModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; sort?: any; }): { exec(): Promise<MilestoneModel[]>; }; }Yes
tasks{ insert(doc: TaskModel): Promise<any>; bulkInsert?(docs: TaskModel[]): Promise<any>; update(id: string, updates: Partial<TaskModel>): Promise<TaskModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; sort?: any; }): { exec(): Promise<TaskModel[]>; }; }Yes
discussions{ insert(doc: DiscussionModel): Promise<any>; find(params: { selector: any; }): { exec(): Promise<DiscussionModel[]>; }; }Yes
logs{ insert(doc: LogModel): Promise<any>; findOne(params: { selector: any; }): { exec(): Promise<LogModel | null>; }; find(params: { selector: any; sort?: any; limit?: number; }): { exec(): Promise<LogModel[]>; }; }Yes
timeentries{ insert(doc: TimeEntryModel): Promise<any>; find(params: { selector: any; }): { exec(): Promise<TimeEntryModel[]>; }; }Yes
approvals{ insert(doc: ApprovalModel): Promise<any>; update(id: string, updates: Partial<ApprovalModel>): Promise<ApprovalModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; }): { exec(): Promise<ApprovalModel[]>; }; }Yes
templates{ insert(doc: TemplateModel): Promise<any>; update(id: string, updates: Partial<TemplateModel>): Promise<TemplateModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; }): { exec(): Promise<TemplateModel[]>; }; }Yes
steeringdocuments{ insert(doc: DocumentModel): Promise<any>; update(id: string, updates: Partial<DocumentModel>): Promise<DocumentModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; }): { exec(): Promise<DocumentModel[]>; }; }Yes
documents{ insert(doc: DocumentModel): Promise<any>; update(id: string, updates: Partial<DocumentModel>): Promise<DocumentModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; sort?: any; }): { exec(): Promise<DocumentModel[]>; }; }Yes
workspaces{ insert(doc: WorkspaceModel): Promise<any>; update(id: string, updates: Partial<WorkspaceModel>): Promise<WorkspaceModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; sort?: any; }): { exec(): Promise<WorkspaceModel[]>; }; }Yes
codebases{ insert(doc: CodebaseModel): Promise<any>; update(id: string, updates: Partial<CodebaseModel>): Promise<CodebaseModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; sort?: any; }): { exec(): Promise<CodebaseModel[]>; }; }Yes
sessions{ insert(doc: SessionModel): Promise<any>; update(id: string, updates: Partial<SessionModel>): Promise<SessionModel>; findOne(params: { selector: any; }): { exec(): Promise<any>; }; find(params: { selector: any; sort?: any; }): { exec(): Promise<SessionModel[]>; }; }Yes

StoredAuthCredentials

Configuration for initializing the MCP server

Properties:

PropertyTypeRequiredDescription
accessTokenstringYesCurrent access token
refreshTokenstringYesRefresh token for getting new access tokens
expiresAtnumberYesToken expiration timestamp (ms since epoch)
userIdstringYesUser ID
emailstringYesUser email

MCPServerConfig

Properties:

PropertyTypeRequiredDescription
projectPathstringYesAbsolute path to the project root directory
rxdbServerUrlstringYesRxDB server URL for replication
authTokenstringYesAuthentication token for RxDB server
domainIdstringYesDomain ID for data isolation
userIdstring | undefinedNoOptional user ID for operations
orgIdstring | undefinedNoOptional organization ID
workspaceIdstring | undefinedNoOptional workspace ID (falls back to orgId if not provided)
databaseNamestring | undefinedNoOptional database name override (mainly for testing)
storageType"filesystem" | "memory" | undefinedNoOptional storage type (defaults to 'filesystem', use 'memory' for tests)
authCredentialsStoredAuthCredentials | undefinedNoOptional full auth credentials for token refresh (when using --profile)
profileNamestring | undefinedNoOptional server profile name for persisting refreshed tokens

RxDBClientConfig

Configuration for RxDB client connection and replication

Properties:

PropertyTypeRequiredDescription
serverUrlstringYesRxDB server URL
authTokenstringYesAuthentication token
domainIdstringYesDomain ID for data filtering
collectionsstring[]YesCollections to initialize and replicate

Available collections:

  • 'projects': Project documents including specs
  • 'milestones': Project phases and milestones
  • 'tasks': Task items with execution metadata
  • 'discussions': Threaded discussions and comments
  • 'logs': System and application logs
  • 'timeentries': Time tracking entries
  • 'approvals': Approval workflow documents
  • 'templates': Document and workflow templates
  • 'steeringdocuments': Steering documents for projects
  • 'sessions': Session context for recovery and handoff | | userId | string \| undefined | No | Optional user ID for document creation | | orgId | string \| undefined | No | Optional organization ID | | databaseName | string \| undefined | No | Optional database name override (mainly for testing) | | storagePath | string \| undefined | No | Optional storage path for filesystem storage (defaults to ~/.flowstate/data) | | storageType | "filesystem" \| "memory" \| undefined | No | Optional storage type (defaults to 'filesystem', use 'memory' for tests) |

WorkerConfig

Configuration for remote worker agents

Properties:

PropertyTypeRequiredDescription
workerIdstringYesUnique worker identifier
agentNamestringYesHuman-readable agent name
serverUrlstringYesRxDB server URL
authTokenstringYesAuthentication token
domainIdstringYesDomain ID
pollIntervalnumberYesPolling interval in milliseconds
logLevel"debug" | "info" | "warn" | "error"YesMinimum log level to capture
userIdstring | undefinedNoUser ID for log attribution
orgIdstring | undefinedNoOrganization ID

SpecCreateArgs

Arguments for spec-create MCP tool

Properties:

PropertyTypeRequiredDescription
namestringYesKebab-case spec name
descriptionstring | undefinedNoOptional description
userIdstringYesUser ID creating the spec
orgIdstringYesOrganization ID
workspaceIdstring | undefinedNoOptional workspace ID to associate spec with
codebaseIdstring | undefinedNoOptional codebase ID to associate spec with

SpecCreateResult

Result from spec-create MCP tool

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag
messagestring | undefinedNoOptional message
projectIdstring | undefinedNoCreated project ID
specNamestring | undefinedNoSpec name
milestones{ id: string; title: string; phaseType: "requirements" | "design" | "tasks" | "implementation"; }[] | undefinedNoCreated milestone phases

SpecStatusArgs

Arguments for spec-status MCP tool

Properties:

PropertyTypeRequiredDescription
namestringYesSpec name to query

SpecProgress

Progress information for a spec

Properties:

PropertyTypeRequiredDescription
totalTasksnumberYesTotal number of tasks
completedTasksnumberYesNumber of completed tasks
inProgressTasksnumberYesNumber of in-progress tasks
percentCompletenumberYesCompletion percentage (0-100)

PhaseWorkflowStatus

Phase workflow status

Properties:

PropertyTypeRequiredDescription
phaseType"tasks" | "requirements" | "design" | "implementation"YesPhase type
titlestringYesPhase title
hasContentbooleanYesWhether phase has document content
approvedbooleanYesWhether phase document is approved
lastUpdatedstring | undefinedNoWhen document was last updated
approvedAtstring | undefinedNoWhen document was approved
approvedBystring | undefinedNoUser ID who approved

SpecWorkflowData

Workflow data for spec status

Properties:

PropertyTypeRequiredDescription
phasesPhaseWorkflowStatus[]YesPhase-by-phase workflow status

SpecStatusResult

Result from spec-status MCP tool

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag
messagestring | undefinedNoOptional message
projectProjectModel | undefinedNoProject representing the spec
milestonesMilestoneModel[] | undefinedNoMilestone phases
tasksTaskModel[] | undefinedNoAll tasks in the spec
progressSpecProgress | undefinedNoProgress summary
workflowSpecWorkflowData | undefinedNoWorkflow data including phase approval status (optional for backward compatibility)
workspace{ id: string; name: string; title: string; } | null | undefinedNoAssociated workspace information (null if not associated)
codebase{ id: string; name: string; title: string; workspaceId: string; } | null | undefinedNoAssociated codebase information (null if not associated)

SpecExecuteTaskArgs

Arguments for spec-execute-task MCP tool

Properties:

PropertyTypeRequiredDescription
specNamestringYesSpec name
taskIdstringYesTask ID to execute
remoteboolean | undefinedNoIf true, queue for remote execution
assignToAgentstring | undefinedNoOptional agent to assign to

TaskExecutionContext

Context for task execution

Properties:

PropertyTypeRequiredDescription
taskIdstringYesTask ID being executed
specNamestringYesSpec name
userIdstringYesUser ID executing
orgIdstringYesOrganization ID
assignToAgentstring | undefinedNoOptional: assign via tag (agent:worker-id)

DiscussionLogEntry

Entry for logging to Discussion collection

Properties:

PropertyTypeRequiredDescription
entityType"system" | "projects" | "milestones" | "tasks"YesEntity type being logged
entityIdstringYesEntity ID
contentstringYesLog content
contentHtmlstring | undefinedNoOptional HTML content
userNamestringYesUser or agent name
userIdstringYesUser or agent ID
orgIdstringYesOrganization ID
parentIdstring | undefinedNoParent discussion ID for threading
metadataRecord<string, unknown> | undefinedNoAdditional metadata

ServerConnectionTestResult

Result from testing server connection

Properties:

PropertyTypeRequiredDescription
successbooleanYesWhether connection succeeded
serverUrlstringYesServer URL tested
responseTimenumber | undefinedNoResponse time in milliseconds
errorstring | undefinedNoError message if failed
serverVersionstring | undefinedNoServer version if available

CreateWorkspaceData

Data required to create a new workspace

Properties:

PropertyTypeRequiredDescription
namestringYesWorkspace name (will be sanitized to kebab-case)
titlestringYesHuman-readable workspace title
descriptionstringYesWorkspace description
tagsstring[] | undefinedNoOptional tags for organization
orgIdstringYesOrganization ID
userIdstringYesUser ID creating the workspace
metadata{ [key: string]: any; teamMembers?: string[]; primaryLanguage?: "typescript" | "javascript" | "python" | "go" | "rust" | "other"; frameworks?: string[]; methodology?: "agile" | "scrum" | "kanban" | "waterfall"; } | undefinedNoOptional extensible metadata

CreateWorkspaceResult

Result from creating a workspace

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag
workspaceIdstring | undefinedNoCreated workspace ID
messagestring | undefinedNoError or success message

WorkspaceFilters

Filters for listing workspaces

Properties:

PropertyTypeRequiredDescription
orgIdstring | undefinedNoFilter by organization ID
status"paused" | "active" | "archived" | undefinedNoFilter by workspace status
namestring | undefinedNoFilter by workspace name

UpdateWorkspaceData

Data for updating a workspace

Properties:

PropertyTypeRequiredDescription
titlestring | undefinedNoUpdated title
descriptionstring | undefinedNoUpdated description
tagsstring[] | undefinedNoUpdated tags
status"paused" | "active" | "archived" | undefinedNoUpdated status
metadataRecord<string, any> | undefinedNoUpdated metadata

UpdateWorkspaceResult

Result from updating a workspace

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag
messagestring | undefinedNoError or success message

ArchiveWorkspaceResult

Result from archiving a workspace

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag
messagestring | undefinedNoError or success message
archivedAtstring | undefinedNoTimestamp when archived

CreateCodebaseData

Data required to create a new codebase

Properties:

PropertyTypeRequiredDescription
namestringYesCodebase name (will be sanitized to kebab-case)
titlestringYesHuman-readable codebase title
descriptionstringYesCodebase description
workspaceIdstringYesParent workspace ID
repository{ url: string; defaultBranch: string; provider: "github" | "gitlab" | "bitbucket" | "other"; organization?: string; repositoryName?: string; privateRepo: boolean; accessToken?: string; sshKey?: string; }YesGit repository configuration
environment{ nodeVersion?: string; packageManager: "npm" | "yarn" | "pnpm" | "bun"; workingDirectory?: string; setupCommands: string[]; testCommands?: string[]; buildCommands?: string[]; environmentVariables?: Record<string, string>; }YesDevelopment environment configuration
deployment{ platform: "cloudflare" | "digitalocean" | "vercel" | "railway" | "aws" | "custom"; productionUrl?: string; stagingUrl?: string; previewUrlPattern?: string; deployCommand?: string; deployBranch?: string; cicdProvider?: "github-actions" | "gitlab-ci" | "cloudflare-pages" | "custom"; cicdConfigPath?: string; platformConfig?: Record<string, any>; } | undefinedNoOptional deployment configuration
agentWorkflow{ branchStrategy: "feature-per-spec" | "feature-per-task" | "shared-branch"; branchPrefix: string; commitConvention: "conventional" | "simple" | "custom"; commitTemplate?: string; requireTests: boolean; requireLint: boolean; createPR: boolean; prTitleTemplate?: string; prDescriptionTemplate?: string; prReviewers?: string[]; prLabels?: string[]; } | undefinedNoOptional agent workflow configuration
tagsstring[] | undefinedNoOptional tags for organization
orgIdstringYesOrganization ID
userIdstringYesUser ID creating the codebase
metadata{ [key: string]: any; monorepo: boolean; languages?: string[]; frameworks?: string[]; testFramework?: string; codeStyle?: string; docsUrl?: string; } | undefinedNoOptional extensible metadata

CreateCodebaseResult

Result from creating a codebase

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag
codebaseIdstring | undefinedNoCreated codebase ID
messagestring | undefinedNoError or success message

CodebaseFilters

Filters for listing codebases

Properties:

PropertyTypeRequiredDescription
workspaceIdstring | undefinedNoFilter by workspace ID
orgIdstring | undefinedNoFilter by organization ID
status"paused" | "active" | "archived" | undefinedNoFilter by codebase status
namestring | undefinedNoFilter by codebase name

UpdateCodebaseData

Data for updating a codebase

Properties:

PropertyTypeRequiredDescription
titlestring | undefinedNoUpdated title
descriptionstring | undefinedNoUpdated description
repositoryPartial<{ url: string; defaultBranch: string; provider: "github" | "gitlab" | "bitbucket" | "other"; organization?: string; repositoryName?: string; privateRepo: boolean; accessToken?: string; sshKey?: string; }> | undefinedNoPartial repository updates
environmentPartial<{ nodeVersion?: string; packageManager: "npm" | "yarn" | "pnpm" | "bun"; workingDirectory?: string; setupCommands: string[]; testCommands?: string[]; buildCommands?: string[]; environmentVariables?: Record<string, string>; }> | undefinedNoPartial environment updates
deploymentPartial<{ platform: "cloudflare" | "digitalocean" | "vercel" | "railway" | "aws" | "custom"; productionUrl?: string; stagingUrl?: string; previewUrlPattern?: string; deployCommand?: string; deployBranch?: string; cicdProvider?: "github-actions" | "gitlab-ci" | "cloudflare-pages" | "custom"; cicdConfigPath?: string; platformConfig?: Record<string, any>; } | undefined>NoPartial deployment updates
agentWorkflowPartial<{ branchStrategy: "feature-per-spec" | "feature-per-task" | "shared-branch"; branchPrefix: string; commitConvention: "conventional" | "simple" | "custom"; commitTemplate?: string; requireTests: boolean; requireLint: boolean; createPR: boolean; prTitleTemplate?: string; prDescriptionTemplate?: string; prReviewers?: string[]; prLabels?: string[]; } | undefined>NoPartial agent workflow updates
tagsstring[] | undefinedNoUpdated tags
status"paused" | "active" | "archived" | undefinedNoUpdated status
metadataRecord<string, any> | undefinedNoUpdated metadata

UpdateCodebaseResult

Result from updating a codebase

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag
messagestring | undefinedNoError or success message

ArchiveCodebaseResult

Result from archiving a codebase

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag
messagestring | undefinedNoError or success message
archivedAtstring | undefinedNoTimestamp when archived

ValidationIssue

Validation issue for codebase configuration

Properties:

PropertyTypeRequiredDescription
fieldstringYesField with the issue
issuestringYesDescription of the issue
severity"error" | "warning"YesSeverity of the issue

ValidationResult

Result from validating a codebase

Properties:

PropertyTypeRequiredDescription
successbooleanYesSuccess flag (operation completed)
validbooleanYesWhether codebase configuration is valid
issuesValidationIssue[]YesList of validation issues
messagestringYesSummary message

LogModel

Stubbed Log Types

The Log collection has been removed from db-collections. These stubs maintain type compatibility until a new logging system is implemented.

TODO: Replace with new logging system (e.g., observability platform integration)

Properties:

PropertyTypeRequiredDescription
idstringYes
messagestringYes
levelstringYes
sourcestring | undefinedNo
timestampstringYes
entityTypestring | undefinedNo
entityIdstring | undefinedNo
categorystring | undefinedNo
metadataRecord<string, unknown> | undefinedNo
orgIdstringYes
userIdstring | undefinedNo
workspaceIdstring | undefinedNo
parentLogIdstring | undefinedNo
trashedboolean | undefinedNo
archivedboolean | undefinedNo
createdAtstring | undefinedNo
updatedAtstring | undefinedNo

TaskHierarchy

Task hierarchy information

Properties:

PropertyTypeRequiredDescription
taskNumberstring | nullYes
parentNumberstring | nullYes
levelnumberYes

TaskMetadata

Task metadata information

Properties:

PropertyTypeRequiredDescription
requirementsstring | nullYes
leveragestring | nullYes
promptstring | nullYes

ParsedTask

Parsed task information combining all extraction methods

Properties:

PropertyTypeRequiredDescription
rawLinestringYes
statusMarkdownStatusYes
taskNumberstring | nullYes
parentNumberstring | nullYes
levelnumberYes
descriptionstringYes
metadataTaskMetadataYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

ResourceContent

MCP Tool Response - Resource Content

Properties:

PropertyTypeRequiredDescription
type"resource"Yes
resource{ uri: string; name: string; mimeType: string; text: string; }Yes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
content(TextContent | ResourceContent)[]Yes
isErrorbooleanYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

ResourceContent

MCP Tool Response - Resource Content

Properties:

PropertyTypeRequiredDescription
type"resource"Yes
resource{ uri: string; name: string; mimeType: string; text: string; }Yes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
content(TextContent | ResourceContent)[]Yes
isErrorbooleanYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

ResourceContent

MCP Tool Response - Resource Content

Properties:

PropertyTypeRequiredDescription
type"resource"Yes
resource{ uri: string; name: string; mimeType: string; text: string; }Yes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
content(TextContent | ResourceContent)[]Yes
isErrorbooleanYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

ResourceContent

MCP Tool Response - Resource Content

Properties:

PropertyTypeRequiredDescription
type"resource"Yes
resource{ uri: string; name: string; mimeType: string; text: string; }Yes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
content(TextContent | ResourceContent)[]Yes
isErrorbooleanYes

TextContent

MCP Tool Response - Text Content

Properties:

PropertyTypeRequiredDescription
type"text"Yes
textstringYes

ResourceContent

MCP Tool Response - Resource Content

Properties:

PropertyTypeRequiredDescription
type"resource"Yes
resource{ uri: string; name: string; mimeType: string; text: string; }Yes

CallToolResult

MCP Tool Response - Call Tool Result

Properties:

PropertyTypeRequiredDescription
content(TextContent | ResourceContent)[]Yes
isErrorbooleanYes
Previous
API Reference
Next
Types