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

Stable Baseline

stablebaseline/mcp
80 toolsauthHTTPregistry active
Summary

A cloud-hosted MCP server that gives agents full CRUD control over an organizational knowledge base. You get 179 tools across documents, diagrams (Mermaid, BPMM, D2, PlantUML), plans, tasks, and a self-learning knowledge graph. Agents can provision workspaces, invite members, set RBAC permissions, create folders, edit Markdown documents, insert visualizations, and query the knowledge graph for entity relationships. Supports both Bearer token auth and OAuth 2.1 with dynamic client registration. Works over streamable HTTP, so no local process to manage. Useful when you want Claude or Cursor to not just read your company brain but actively build and maintain it end to end, from billing setup through diagram generation.

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.

80 tools
searchToolsSearch available tools by keyword or category. Returns matching tool names and descriptions.2 params

Search available tools by keyword or category. Returns matching tool names and descriptions.

Parameters* required
querystring
Natural language description of what you want to do.
categorystring
Category filter.one of navigation · folders · documents · diagrams · images · data
listDiagramTypesList supported diagram types. Use the returned `type` field when calling insertDiagramInDocument.5 params

List supported diagram types. Use the returned `type` field when calling insertDiagramInDocument.

Parameters* required
limitnumber
querystring
fieldsarray
Field projection. Valid fields: type, label, description, whenToUse, dslLanguage, dslInstructions, exampleDsl, enabled, availableOnFree, sortOrder, updatedAt.
offsetnumber
enabledOnlyboolean
getDiagramTypeGuideGet DSL writing instructions for a diagram type. Call before writing diagramCode.2 params

Get DSL writing instructions for a diagram type. Call before writing diagramCode.

Parameters* required
typestring
fieldsarray
Field projection. Valid fields: type, label, description, whenToUse, dslLanguage, dslInstructions, exampleDsl, enabled, sortOrder, updatedAt.
listArchitectureIconsList icons for systemsarchitecture diagrams. Use returned iconPath as-is in D2 code (e.g. icon: dev/docker.svg).5 params

List icons for systemsarchitecture diagrams. Use returned iconPath as-is in D2 code (e.g. icon: dev/docker.svg).

Parameters* required
limitnumber
querystring
Search by name, category, vendor, or description.
fieldsarray
Field projection. Valid fields: id, iconPath, iconName, category, subcategory, vendor, description, searchTerms, tags, useCases, aliases, isFeatured, displayOrder.
offsetnumber
categorystring
Filter by category (e.g. AWS, Azure, GCP, dev, essentials).
getCdmdLanguageGuideGet the CDMD markdown language specification. Call before createDocument if unfamiliar with syntax.

Get the CDMD markdown language specification. Call before createDocument if unfamiliar with syntax.

No parameter schema in public metadata yet.

getCurrentUserReturn the calling user's identity (user_id, display_name, full_name, email, avatar_url). Use this when the user says 'me' / 'mine' / 'I' so you can resolve to their UUID before passing it to tools like updateImprovement(owner_id=…) or filtering by owner. Read-only.

Return the calling user's identity (user_id, display_name, full_name, email, avatar_url). Use this when the user says 'me' / 'mine' / 'I' so you can resolve to their UUID before passing it to tools like updateImprovement(owner_id=…) or filtering by owner. Read-only.

No parameter schema in public metadata yet.

listAssignablePrincipalsServer-side searchable, paginated list of USERS and TEAMS that can be assigned as the owner of an improvement/task in a project. Returns two arrays — `users` (with user_id, display_name, email, avatar_url, has_explicit_permission) and `teams` (with team_id, name, member_count,...6 params

Server-side searchable, paginated list of USERS and TEAMS that can be assigned as the owner of an improvement/task in a project. Returns two arrays — `users` (with user_id, display_name, email, avatar_url, has_explicit_permission) and `teams` (with team_id, name, member_count,...

Parameters* required
qstring
Optional ILIKE search filter — matched against display_name + email (users) and team name (teams).
kindstring
Filter to one principal kind. Default 'all' returns users first then teams.one of all · user · team
limitnumber
Max results per page (1-100, default 20).
offsetnumber
Pagination offset.
projectIdstring
Project to scope assignees to. Required.
workspaceIdstring
Workspace UUID. Optional but recommended — when present, the result includes ALL org members; when omitted, only direct project grants + team-expanded users are returned.
listTeamsList teams in an organization, with optional search filter and an `includeMembers` flag that fans out to v_team_members in a single round-trip. Supply EITHER organizationId OR workspaceId (the workspace's parent org is resolved automatically). Use this when the user asks about...6 params

List teams in an organization, with optional search filter and an `includeMembers` flag that fans out to v_team_members in a single round-trip. Supply EITHER organizationId OR workspaceId (the workspace's parent org is resolved automatically). Use this when the user asks about...

Parameters* required
qstring
Optional ILIKE search on team name/slug.
limitnumber
Max teams per page (1-200, default 50).
offsetnumber
Pagination offset.
workspaceIdstring
Workspace UUID. The parent organization is resolved from v_workspaces.
includeMembersboolean
When true, each team gets a `members` array (user_id, role, joined_at). Capped at 500 total members across the page. Default false.
organizationIdstring
Organization UUID. Either this OR workspaceId is required.
getTeamGet a single team by ID with profile-enriched member list (display_name, email, avatar_url, role, joined_at). Set `includeMembers=false` to skip the member fan-out and just return team metadata. Read-only.2 params

Get a single team by ID with profile-enriched member list (display_name, email, avatar_url, role, joined_at). Set `includeMembers=false` to skip the member fan-out and just return team metadata. Read-only.

Parameters* required
teamIdstring
Team UUID.
includeMembersboolean
Include the team's members enriched with user profile info. Default true.
listOrganisationsList organisations you have access to. Supports query filtering by name/slug.4 params

List organisations you have access to. Supports query filtering by name/slug.

Parameters* required
limitnumber
querystring
fieldsarray
Field projection. Valid fields: id, name, slug, subscription_tier, created_at.
offsetnumber
listWorkspacesList workspaces you have access to. Supports query filtering by name/slug.7 params

List workspaces you have access to. Supports query filtering by name/slug.

Parameters* required
limitnumber
querystring
fieldsarray
Field projection. Valid fields: id, name, slug, organization_id, created_at, updated_at.
offsetnumber
toDatestring
ISO 8601 date filter (to).
fromDatestring
ISO 8601 date filter (from).
dateFieldstring
Date field to filter. Default: updated_at.
listProjectsList projects in a workspace. Supports query filtering by project name.8 params

List projects in a workspace. Supports query filtering by project name.

Parameters* required
limitnumber
querystring
fieldsarray
Field projection. Valid fields: id, name, description, workspace_id, created_at, updated_at.
offsetnumber
toDatestring
ISO 8601 date filter (to).
fromDatestring
ISO 8601 date filter (from).
dateFieldstring
Date field to filter. Default: updated_at.
workspaceIdstring
listFoldersList folders in a project. Use parentId for nested folders. For full tree, use getProjectHierarchy instead.9 params

List folders in a project. Use parentId for nested folders. For full tree, use getProjectHierarchy instead.

Parameters* required
limitnumber
querystring
fieldsarray
Field projection. Valid fields: id, projectId, parentId, name, position, createdAt, updatedAt.
offsetnumber
toDatestring
ISO 8601 date filter (to).
fromDatestring
ISO 8601 date filter (from).
parentIdstring
dateFieldstring
Date field to filter. Default: updated_at.
projectIdstring
createFolderCreate a folder in a project. Supports nesting via parentId.4 params

Create a folder in a project. Supports nesting via parentId.

Parameters* required
namestring
parentIdstring
positionnumber
projectIdstring
updateFolderUpdate a folder (rename/move/reorder). Supports nesting changes via parentId.4 params

Update a folder (rename/move/reorder). Supports nesting changes via parentId.

Parameters* required
namestring
folderIdstring
parentIdstring
positionnumber
deleteFolderDelete a folder recursively, including all nested folders and documents.1 params

Delete a folder recursively, including all nested folders and documents.

Parameters* required
folderIdstring
listDocumentsList documents in a project, workspace, or folder. Supports query search and date filtering.10 params

List documents in a project, workspace, or folder. Supports query search and date filtering.

Parameters* required
limitnumber
querystring
fieldsarray
Field projection. Valid fields: id, title, friendlyId, friendlyIdNumber, projectId, folderId, createdAt, updatedAt, href.
offsetnumber
toDatestring
ISO 8601 date filter (to).
folderIdstring
fromDatestring
ISO 8601 date filter (from).
dateFieldstring
Date field to filter. Default: updated_at.
projectIdstring
workspaceIdstring
getProjectHierarchyGet the complete folder and document tree for a project in one call. Recommended first call for navigation.8 params

Get the complete folder and document tree for a project in one call. Recommended first call for navigation.

Parameters* required
querystring
Filter by name/title (case-insensitive).
toDatestring
ISO 8601 date filter (to).
folderIdstring
Start from this folder instead of project root.
fromDatestring
ISO 8601 date filter (from).
maxDepthnumber
Max nesting depth. Default: 10, max: 20.
dateFieldstring
Date field to filter. Default: updated_at.
projectIdstring
Project ID. Required if folderId not provided.
includeDocumentsboolean
Include documents. Default: true.
getFolderHierarchyGet the folder and document tree starting from a specific folder. Alias for getProjectHierarchy with folderId.7 params

Get the folder and document tree starting from a specific folder. Alias for getProjectHierarchy with folderId.

Parameters* required
querystring
Filter by name/title (case-insensitive).
toDatestring
ISO 8601 date filter (to).
folderIdstring
The folder ID to start from.
fromDatestring
ISO 8601 date filter (from).
maxDepthnumber
Max nesting depth. Default: 10, max: 20.
dateFieldstring
Date field to filter. Default: updated_at.
includeDocumentsboolean
Include documents. Default: true.
getDocumentRead a document's content with line numbers. Returns numbered lines for use with editDocument. Diagrams/images appear as OMITTED markers with metadata (type, diagramId, nlDescription) — use getDiagramInDocument(diagramId) for full DSL code, or dedicated diagram/image tools to...5 params

Read a document's content with line numbers. Returns numbered lines for use with editDocument. Diagrams/images appear as OMITTED markers with metadata (type, diagramId, nlDescription) — use getDiagramInDocument(diagramId) for full DSL code, or dedicated diagram/image tools to...

Parameters* required
limitnumber
Max lines to return. Default: 200.
fieldsarray
Field projection. Valid fields: id, title, friendlyId, friendlyIdNumber, projectId, folderId, createdAt, updatedAt, versionTimestamp.
offsetnumber
Lines to skip from start. Default: 0.
documentIdstring
The document ID to read.
contentFieldsarray
Content field projection. Valid fields: offset, limit, totalLines, nextOffset, metadata, text.
createDocumentCreate a document from CDMD markdown. Call getCdmdLanguageGuide first if unfamiliar with syntax. Do not include DIAGRAM/IMAGE markers — insert them after with dedicated tools.5 params

Create a document from CDMD markdown. Call getCdmdLanguageGuide first if unfamiliar with syntax. Do not include DIAGRAM/IMAGE markers — insert them after with dedicated tools.

Parameters* required
cdmdstring
titlestring
folderIdstring
projectIdstring
changeSummarystring
Version history summary.
editDocumentEdit a document with line-based patches. Call getDocument first for line numbers and versionTimestamp. Call getCdmdLanguageGuide if unfamiliar with CDMD syntax. Do not edit DIAGRAM/IMAGE markers manually — use dedicated diagram/image tools.6 params

Edit a document with line-based patches. Call getDocument first for line numbers and versionTimestamp. Call getCdmdLanguageGuide if unfamiliar with CDMD syntax. Do not edit DIAGRAM/IMAGE markers manually — use dedicated diagram/image tools.

Parameters* required
titlestring
New title.
patchesarray
Line-based patches. Can be empty if only updating title or folderId.
folderIdstring
Move to this folder.
documentIdstring
changeSummarystring
Version history summary.
versionTimestampnumber
Version timestamp from getDocument() for optimistic locking.
findAndReplaceTextInDocumentFind and replace text in a document. Searches for all occurrences and replaces them. Case-sensitive by default. Diagrams/images are automatically protected — only document text is affected.5 params

Find and replace text in a document. Searches for all occurrences and replaces them. Case-sensitive by default. Diagrams/images are automatically protected — only document text is affected.

Parameters* required
findstring
Text to search for.
replacestring
Replacement text. Empty string to delete occurrences.
documentIdstring
caseSensitiveboolean
Case-sensitive matching. Default: true.
changeSummarystring
Version history summary.
getDiagramInDocumentGet a diagram's full details including raw DSL source code. Use diagramId from DIAGRAM_OMITTED markers in getDocument output. Returns diagramCode, type, name, nlDescription, and versionTimestamp.2 params

Get a diagram's full details including raw DSL source code. Use diagramId from DIAGRAM_OMITTED markers in getDocument output. Returns diagramCode, type, name, nlDescription, and versionTimestamp.

Parameters* required
fieldsarray
Field projection. Valid fields: diagramId, documentId, type, name, diagramCode, nlDescription, colorPlan, renderStatus, renderError, createdAt, updatedAt, versionTimestamp.
diagramIdstring
Diagram ID from DIAGRAM_OMITTED markers.
insertDiagramInDocumentInsert a new diagram into a document. Call listDiagramTypes to find your type, then getDiagramTypeGuide for DSL syntax before writing diagramCode.10 params

Insert a new diagram into a document. Call listDiagramTypes to find your type, then getDiagramTypeGuide for DSL syntax before writing diagramCode.

Parameters* required
typestring
Diagram type (e.g. mermaid, plantuml, bpmn, d2). Call listDiagramTypes for all types.
alignstring
Alignment.one of left · center · right
promptstring
Short description of what the diagram shows (1-2 sentences).
captionstring
Caption below the diagram.
afterLinenumber
Insert after this line number (1-based).
colorPlanobject
BPMN only. Color plan: { byElementId: { ElementId: SwatchName } }.
documentIdstring
diagramCodestring
Diagram DSL code. Call getDiagramTypeGuide for syntax.
nlDescriptionstring
Extended description of the diagram (2-4 sentences).
documentVersionTimestampnumber
Version timestamp from getDocument() for optimistic locking.
updateDiagramInDocumentUpdate a diagram's code, description, or properties. Call getDiagramTypeGuide for DSL syntax. Requires documentVersionTimestamp from getDocument. IMPORTANT: To change what the diagram visually shows, you MUST provide diagramCode with the full updated DSL source. The prompt and...8 params

Update a diagram's code, description, or properties. Call getDiagramTypeGuide for DSL syntax. Requires documentVersionTimestamp from getDocument. IMPORTANT: To change what the diagram visually shows, you MUST provide diagramCode with the full updated DSL source. The prompt and...

Parameters* required
alignstring
Alignment.one of left · center · right
promptstring
New short description (metadata only — does NOT change the rendered diagram).
captionstring
New caption.
colorPlanobject
BPMN only. Updated color plan. Set to null to remove.
diagramIdstring
Diagram ID from DIAGRAM_OMITTED markers.
diagramCodestring
New diagram DSL source code. REQUIRED to change what the diagram visually renders. Call getDiagramTypeGuide for syntax. Must provide the COMPLETE updated DSL, not just the changed parts.
nlDescriptionstring
New extended description (metadata only — does NOT change the rendered diagram).
documentVersionTimestampnumber
Version timestamp from getDocument() for optimistic locking.
deleteDiagramInDocumentDelete a diagram from a document.1 params

Delete a diagram from a document.

Parameters* required
diagramIdstring
Diagram ID from DIAGRAM_OMITTED markers.
deleteDocumentDelete a document.1 params

Delete a document.

Parameters* required
documentIdstring
listDocumentVersionsList version history for a document. Returns timestamps, creator, change summary, and content.8 params

List version history for a document. Returns timestamps, creator, change summary, and content.

Parameters* required
limitnumber
Max versions. Default: 50, max: 200.
fieldsarray
Field projection. Valid fields: id, documentId, versionNumber, title, contentMarkdown, changeSummary, createdBy, createdAt.
offsetnumber
Pagination offset.
toDatestring
ISO 8601 date filter (to).
fromDatestring
ISO 8601 date filter (from).
documentIdstring
sortAscendingboolean
Sort oldest first. Default: false.
versionNumbernumber
Filter to a specific version.
getImageInDocumentGet image details including a fresh signed URL (expires after 1 hour). Use storagePath from IMAGE_OMITTED markers in getDocument output.2 params

Get image details including a fresh signed URL (expires after 1 hour). Use storagePath from IMAGE_OMITTED markers in getDocument output.

Parameters* required
documentIdstring
storagePathstring
Storage path from IMAGE_OMITTED marker.
createImageUploadSessionCreate a PUT upload URL for a document image (max 10MB). Use the returned assetUrl with insertImageInDocument.4 params

Create a PUT upload URL for a document image (max 10MB). Use the returned assetUrl with insertImageInDocument.

Parameters* required
sha256string
Optional SHA-256 hex digest.
fileNamestring
Original filename (e.g. screenshot.png).
mimeTypestring
Image MIME type (e.g. image/png).
documentIdstring
insertImageInDocumentInsert an image into a document (max 10MB). Provide imageBase64, imageBinary, or imageUrl. For large files, call createImageUploadSession first then use the returned assetUrl.13 params

Insert an image into a document (max 10MB). Provide imageBase64, imageBinary, or imageUrl. For large files, call createImageUploadSession first then use the returned assetUrl.

Parameters* required
altstring
Alt text. Defaults to caption.
alignstring
Alignment. Default: center.one of left · center · right
widthnumber
Width in pixels.
heightnumber
Height in pixels.
captionstring
Caption below the image.
fileNamestring
Original filename.
imageUrlstring
URL to fetch image from, or assetUrl from createImageUploadSession.
afterLinenumber
Insert after this line (0 = beginning, omit = end).
documentIdstring
imageBase64string
Base64-encoded image data. Mutually exclusive with imageBinary/imageUrl.
imageBinaryarray
Raw binary as byte array. Mutually exclusive with imageBase64/imageUrl.
nlDescriptionstring
Description of image content for semantic search.
documentVersionTimestampnumber
Version timestamp from getDocument() for optimistic locking.
updateImageInDocumentUpdate image metadata (alt, caption, dimensions, alignment). Requires documentVersionTimestamp from getDocument for optimistic locking.8 params

Update image metadata (alt, caption, dimensions, alignment). Requires documentVersionTimestamp from getDocument for optimistic locking.

Parameters* required
altstring
New alt text.
alignstring
Alignment.one of left · center · right
widthnumber
Width in pixels.
heightnumber
Height in pixels.
captionstring
New caption.
imageIdstring
Image ID from IMAGE_OMITTED markers.
nlDescriptionstring
New image description.
documentVersionTimestampnumber
Version timestamp from getDocument() for optimistic locking.
deleteImageInDocumentDelete an image from a document and storage.1 params

Delete an image from a document and storage.

Parameters* required
imageIdstring
Image ID from IMAGE_OMITTED markers.
createVegaDataUploadSessionCreate a PUT upload URL for a Vega/Vega-Lite data file. Use returned assetUrl in your Vega spec.3 params

Create a PUT upload URL for a Vega/Vega-Lite data file. Use returned assetUrl in your Vega spec.

Parameters* required
fileNamestring
Original filename (e.g. sales-data.csv). Extension auto-detects content type.
documentIdstring
contentTypestring
MIME type override. Auto-detected from extension if omitted.
deleteVegaDataFileDelete a data file attachment from a document.2 params

Delete a data file attachment from a document.

Parameters* required
documentIdstring
attachmentIdstring
Attachment ID to delete.
createDocumentIngestSessionStep 1 of file ingest. Mint a single-use PUT upload URL for a large file (PDF, DOCX, plain text, or markdown — up to 150 MB). Returns { sessionId, uploadUrl, expiresAt, maxBytes }. Upload the raw bytes to uploadUrl with PUT, then call createDocumentFromUpload({ sessionId, proj...5 params

Step 1 of file ingest. Mint a single-use PUT upload URL for a large file (PDF, DOCX, plain text, or markdown — up to 150 MB). Returns { sessionId, uploadUrl, expiresAt, maxBytes }. Upload the raw bytes to uploadUrl with PUT, then call createDocumentFromUpload({ sessionId, proj...

Parameters* required
fileNamestring
Original filename, e.g. report.pdf.
folderIdstring
Optional folder to drop the document into. Must belong to projectId.
mimeTypestring
One of: application/pdf, application/vnd.openxmlformats-officedocument.wordprocessingml.document (DOCX), text/plain, text/markdown.
projectIdstring
Target project for the resulting document.
sizeBytesnumber
Optional file size hint in bytes. Rejected up-front if it exceeds 150 MB.
createDocumentFromUploadStep 2 of file ingest. After the file is uploaded via the PUT URL from createDocumentIngestSession, call this to start the async conversion. Returns { jobId, documentId } immediately — the document is created as a draft and progressively populated as the worker processes the f...5 params

Step 2 of file ingest. After the file is uploaded via the PUT URL from createDocumentIngestSession, call this to start the async conversion. Returns { jobId, documentId } immediately — the document is created as a draft and progressively populated as the worker processes the f...

Parameters* required
titlestring
Optional document title. Defaults to the upload's filename without extension.
folderIdstring
Optional folder. Must belong to projectId.
projectIdstring
Must match the project the session was created for.
sessionIdstring
From createDocumentIngestSession.
changeSummarystring
Optional changelog message for the version snapshot taken when the ingest finalises.
getDocumentIngestJobRead the current status of an ingest job. Returns { status, stage, processedImages, totalImages, documentId, error?, lastHeartbeatAt }. Stages: pending → downloaded → extracted → draft_saved → images_processing → finalized → cleaned_up. Status: queued, running, succeeded, fail...1 params

Read the current status of an ingest job. Returns { status, stage, processedImages, totalImages, documentId, error?, lastHeartbeatAt }. Stages: pending → downloaded → extracted → draft_saved → images_processing → finalized → cleaned_up. Status: queued, running, succeeded, fail...

Parameters* required
jobIdstring
listImprovementsList improvements in a project. Supports filtering by status, type, priority, and query.16 params

List improvements in a project. Supports filtering by status, type, priority, and query.

Parameters* required
typestring
Filter: feature, bug, tech_debt, architecture_gap, documentation_gap, risk, enhancement, task. Tasks (is_task=true) always have type='task'.
limitnumber
Max results (1-100, default 50).
querystring
Search title, friendly_id, problem_statement.
fieldsarray
Field projection. Valid fields: id, friendly_id, friendlyId, title, type, status, priority, source, category_id, categoryId, created_at, createdAt, updated_at, updatedAt, href.
offsetnumber
Pagination offset.
sourcestring
Filter: agent_review, human_manual, doc_comment, feedback, incident, etc.
statusstring
Filter: captured, triaging, shaped, approved, ready_for_agent, in_progress, ready_for_review, in_review, blocked, done, rejected, deferred.
prioritystring
Filter: low, medium, high, critical.
projectIdstring
scanRunIdstring
Filter by compliance scan run.
sortFieldstring
Sort field. Default: position.
agentReadyboolean
Filter by agent readiness.
categoryIdstring
Filter by category ID.
frameworkKeystring
Filter by framework (e.g. soc2, iso27001).
sortAscendingboolean
Sort ascending. Default: true.
complianceOnlyboolean
Only compliance-linked improvements.
getImprovementGet full details for an improvement item including evidence, activity log, compliance context, and the `checklist` array (each item: id, text, due_date, completed_at, plus server-stamped attribution). Returns versionTimestamp — pass it to updateImprovement for optimistic locki...1 params

Get full details for an improvement item including evidence, activity log, compliance context, and the `checklist` array (each item: id, text, due_date, completed_at, plus server-stamped attribution). Returns versionTimestamp — pass it to updateImprovement for optimistic locki...

Parameters* required
improvementIdstring
createImprovementCreate an improvement item in a project. Requires projectId and title. Auto-assigns friendly ID.38 params

Create an improvement item in a project. Requires projectId and title. Auto-assigns friendly ID.

Parameters* required
typestring
Type. Default: enhancement. Valid values: feature, bug, tech_debt, architecture_gap, documentation_gap, risk, enhancement, task. Setting type='task' makes the row a task (TAS- prefix); any other type makes it a non-task improvement (IMP- prefix).
titlestring
sourcestring
Source (e.g. human_manual, agent_review).
statusstring
Initial status. Default: captured.
is_taskboolean
Mark as task. Default: false. Prefer setting type='task' instead — is_task is kept in sync from the type enum by a DB trigger, and rows with type='task' get the TAS- friendly_id prefix while all others get IMP-.
plan_idstring
Link to a plan.
urgencystring
e.g. this_week, this_month, this_quarter.
why_nowstring
end_datestring
YYYY-MM-DD.
owner_idstring
User UUID to assign as the owner. MUTUALLY EXCLUSIVE with owner_team_id — set one or the other, never both. Use listAssignablePrincipals(projectId, kind='user', q='…') to look up valid user UUIDs.
phase_idstring
Assign to a phase.
prioritystring
Priority. Default: medium.
wbs_codestring
Work breakdown structure code.
checklistarray
Tick-box checklist shown above acceptance_criteria. The full array REPLACES the stored list on update, and array order = display order — to edit, fetch via getTask/getImprovement, modify, and send back the whole list. Operations: mark done with `completed: true`; un-mark with `completed: false`; add rows by appending `{ text }` (id is auto-minted); remove by omitting; reorder by rearranging. Echo back each existing `id` you keep so per-row attribution (who added/completed it, when) survives.
non_goalsarray
projectIdstring
start_datestring
YYYY-MM-DD.
agent_briefstring
agent_readyboolean
category_idstring
Category ID.
constraintsarray
descriptionstring
target_datestring
YYYY-MM-DD.
user_impactstring
owner_team_idstring
Team UUID to assign as the owner (assigns the whole team rather than an individual). MUTUALLY EXCLUSIVE with owner_id. Use listTeams(workspaceId) or listAssignablePrincipals(projectId, kind='team') to look up valid team UUIDs.
business_impactstring
desired_outcomestring
agent_complexitystring
low, medium, high, very_high.
agent_confidencenumber
0.00 to 1.00.
percent_completenumber
Progress percentage (0-100). Null means not tracked.
impacted_diagramsarray
Array of {id, name}.
problem_statementstring
agent_missing_infoarray
impacted_documentsarray
Array of {id, title}.
acceptance_criteriaarray
Acceptance criteria — ordered list of pass/fail statements that define "done" for this item. Each row is `{ id, text }` with server-stamped `updated_at / updated_by / updated_by_credential_name`. REPLACES the whole array on update. Echo back existing `id`s on rows you keep so attribution stamps survive. Bare strings are accepted for convenience (e.g. `["row 1", "row 2"]`) and auto-converted to `{ id, text }`.
impacted_componentsarray
linked_document_idsarray
Document IDs to link. Titles resolved automatically.
agent_recommended_actionstring
updateImprovementUpdate an improvement (or a task — tasks share this row, but prefer the symmetric updateTask alias when working from getTask). Supports the full field set including `checklist` (tick-boxes with due dates + completion attribution) and `acceptance_criteria` (objects with per-row...50 params

Update an improvement (or a task — tasks share this row, but prefer the symmetric updateTask alias when working from getTask). Supports the full field set including `checklist` (tick-boxes with due dates + completion attribution) and `acceptance_criteria` (objects with per-row...

Parameters* required
typestring
titlestring
statusstring
is_taskboolean
Mark as task. Prefer setting type='task' instead — is_task is kept in sync from the type enum by a DB trigger.
plan_idstring
Link to plan. Null to unlink.
urgencystring
why_nowstring
end_datestring
YYYY-MM-DD.
metadataobject
owner_idstring
User UUID to assign as owner, or null to unassign. MUTUALLY EXCLUSIVE with owner_team_id — when switching from a user to a team owner, send `owner_id: null` in the same call as `owner_team_id`. Use listAssignablePrincipals(projectId, kind='user', q='…') to look up valid UUIDs.
phase_idstring
Assign to phase. Null to unassign.
positionnumber
prioritystring
wbs_codestring
checklistarray
Tick-box checklist shown above acceptance_criteria. The full array REPLACES the stored list on update, and array order = display order — to edit, fetch via getTask/getImprovement, modify, and send back the whole list. Operations: mark done with `completed: true`; un-mark with `completed: false`; add rows by appending `{ text }` (id is auto-minted); remove by omitting; reorder by rearranging. Echo back each existing `id` you keep so per-row attribution (who added/completed it, when) survives.
non_goalsarray
start_datestring
YYYY-MM-DD.
agent_briefstring
agent_readyboolean
category_idstring
Category ID. Null to unassign.
constraintsarray
descriptionstring
target_datestring
user_impactstring
docs_updatedboolean
improvementIdstring
owner_team_idstring
Team UUID to assign as owner, or null to unassign. MUTUALLY EXCLUSIVE with owner_id — when switching from a team to a user owner, send `owner_team_id: null` in the same call as `owner_id`. Use listTeams or listAssignablePrincipals(kind='team') to look up valid UUIDs.
relationshipsobject
Free-form JSON for logical links: blocks, blocked_by, duplicates, supersedes, relates_to (arrays of item IDs).
blocked_commentstring
Required when status=blocked.
business_impactstring
desired_outcomestring
agent_complexitystring
agent_confidencenumber
follow_up_neededboolean
percent_completenumber
Progress percentage (0-100). Null to clear.
reopened_commentstring
Required when reopening from blocked/rejected/done/deferred.
versionTimestampnumber
Version timestamp from getImprovement() for optimistic locking.
impacted_diagramsarray
problem_statementstring
rejection_commentstring
Required when status=rejected.
resolution_pr_urlstring
agent_missing_infoarray
completion_commentstring
Required when status=done.
impacted_documentsarray
resolution_summarystring
acceptance_criteriaarray
Acceptance criteria — ordered list of pass/fail statements that define "done" for this item. Each row is `{ id, text }` with server-stamped `updated_at / updated_by / updated_by_credential_name`. REPLACES the whole array on update. Echo back existing `id`s on rows you keep so attribution stamps survive. Bare strings are accepted for convenience (e.g. `["row 1", "row 2"]`) and auto-converted to `{ id, text }`.
impacted_componentsarray
linked_document_idsarray
Document IDs to link.
impacted_repositoriesarray
agent_recommended_actionstring
deleteImprovementDelete an improvement and all associated evidence and activity.1 params

Delete an improvement and all associated evidence and activity.

Parameters* required
improvementIdstring
listImprovementCategoriesList improvement categories for a project. Returns tree and flat list.1 params

List improvement categories for a project. Returns tree and flat list.

Parameters* required
projectIdstring
createImprovementCategoryCreate an improvement category or sub-category. Max two levels.8 params

Create an improvement category or sub-category. Max two levels.

Parameters* required
iconstring
Lucide icon name.
namestring
slugstring
URL-friendly slug. Auto-generated if omitted.
colorstring
Color code.
parentIdstring
Parent category ID for sub-categories.
projectIdstring
sortOrdernumber
Sort order. Default: 0.
descriptionstring
updateImprovementCategoryUpdate an improvement category. Cannot modify system categories.7 params

Update an improvement category. Cannot modify system categories.

Parameters* required
iconstring
namestring
slugstring
colorstring
sortOrdernumber
categoryIdstring
descriptionstring
deleteImprovementCategoryDelete an improvement category. Cannot delete system categories.1 params

Delete an improvement category. Cannot delete system categories.

Parameters* required
categoryIdstring
reorderImprovementCategoriesReorder improvement categories by setting sort_order values.1 params

Reorder improvement categories by setting sort_order values.

Parameters* required
itemsarray
Array of {categoryId, sortOrder}.
addImprovementEvidenceAdd evidence to an improvement. Types: document_section, diagram_node, incident_note, feedback, free_text.7 params

Add evidence to an improvement. Types: document_section, diagram_node, incident_note, feedback, free_text.

Parameters* required
refIdstring
Reference ID (document, diagram, etc.).
refUrlstring
Reference URL.
summarystring
Summary of the evidence.
positionnumber
Order in evidence list.
rawContentstring
Full original text.
evidenceTypestring
Evidence type. Default: free_text.
improvementIdstring
addImprovementActivityAdd a comment or activity entry to an improvement.7 params

Add a comment or activity entry to an improvement.

Parameters* required
commentstring
Comment text.
metadataobject
Additional context.
newValuestring
For field_change: new value.
oldValuestring
For field_change: previous value.
fieldNamestring
For field_change: field name.
activityTypestring
Type: comment, agent_update, field_change. Default: comment.
improvementIdstring
updateImprovementCommentUpdate a comment on an improvement. Requires the comment's updated_at as versionTimestamp.3 params

Update a comment on an improvement. Requires the comment's updated_at as versionTimestamp.

Parameters* required
commentstring
New comment text.
activityIdstring
Activity ID from getImprovement activity array.
versionTimestampnumber
Comment's updated_at as Unix ms for optimistic locking.
deleteImprovementCommentDelete a comment from an improvement.1 params

Delete a comment from an improvement.

Parameters* required
activityIdstring
Activity ID from getImprovement activity array.
searchImprovementsSearch improvements using hybrid text + semantic search. Returns ranked results.4 params

Search improvements using hybrid text + semantic search. Returns ranked results.

Parameters* required
limitnumber
Max results (default 20, max 50).
querystring
Search query.
projectIdstring
Limit to a project.
workspaceIdstring
Limit to a workspace.
listPlansList plans in a project. Supports filtering by status, priority, and query.9 params

List plans in a project. Supports filtering by status, priority, and query.

Parameters* required
limitnumber
Max results (1-100, default 50).
querystring
Search title, friendly_id, description.
fieldsarray
Field projection. Valid fields: id, friendly_id, friendlyId, title, description, status, priority, icon, color, start_date, startDate, end_date, endDate, created_at, createdAt, updated_at, updatedAt, href.
offsetnumber
Pagination offset.
statusstring
Filter: draft, planning, active, on_hold, completed, cancelled.
prioritystring
Filter: low, medium, high, critical.
projectIdstring
sortFieldstring
Sort field. Default: created_at.
sortAscendingboolean
Sort ascending. Default: false.
getPlanGet full plan details including phases, items, and activity. Returns versionTimestamp — pass it to updatePlan for optimistic locking. Items include percent_complete for progress tracking.1 params

Get full plan details including phases, items, and activity. Returns versionTimestamp — pass it to updatePlan for optimistic locking. Items include percent_complete for progress tracking.

Parameters* required
planIdstring
createPlanCreate a plan in a project. Requires projectId and title.11 params

Create a plan in a project. Requires projectId and title.

Parameters* required
iconstring
Lucide icon name.
colorstring
Color code.
titlestring
statusstring
Status. Default: draft.
end_datestring
YYYY-MM-DD.
prioritystring
Priority. Default: medium.
projectIdstring
start_datestring
YYYY-MM-DD.
descriptionstring
linked_documentsarray
Array of {id, title}.
linked_document_idsarray
Document IDs to link.
updatePlanUpdate a plan. Requires versionTimestamp from getPlan.13 params

Update a plan. Requires versionTimestamp from getPlan.

Parameters* required
iconstring
colorstring
titlestring
planIdstring
statusstring
Status: draft, planning, active, on_hold, completed, cancelled.
end_datestring
YYYY-MM-DD.
metadataobject
prioritystring
Priority: low, medium, high, critical.
start_datestring
YYYY-MM-DD.
descriptionstring
linked_documentsarray
versionTimestampnumber
Version timestamp from getPlan() for optimistic locking.
linked_document_idsarray
Document IDs to link.
deletePlanDelete a plan, all its phases, and all tasks/improvements within it. This is a destructive operation that cannot be undone.1 params

Delete a plan, all its phases, and all tasks/improvements within it. This is a destructive operation that cannot be undone.

Parameters* required
planIdstring
listPlanPhasesList phases for a plan ordered by position.1 params

List phases for a plan ordered by position.

Parameters* required
planIdstring
getPlanPhaseGet a plan phase by ID with full details. Returns versionTimestamp — pass it to updatePlanPhase for optimistic locking.1 params

Get a plan phase by ID with full details. Returns versionTimestamp — pass it to updatePlanPhase for optimistic locking.

Parameters* required
phaseIdstring
createPlanPhaseCreate a phase in a plan. Position and wbs_code are auto-computed.10 params

Create a phase in a plan. Position and wbs_code are auto-computed.

Parameters* required
namestring
colorstring
Phase color. Must be one of: #3b82f6 (Blue), #f59e0b (Amber), #8b5cf6 (Purple), #ec4899 (Pink), #06b6d4 (Cyan), #14b8a6 (Teal), #6366f1 (Indigo), #6b7280 (Gray). Red and green are reserved for blocked / done item statuses.one of #3b82f6 · #f59e0b · #8b5cf6 · #ec4899 · #06b6d4 · #14b8a6
planIdstring
statusstring
Status: not_started, in_progress, completed, on_hold, cancelled. Default: not_started.
end_datestring
YYYY-MM-DD.
positionnumber
Position. Auto-computed if omitted.
prioritystring
Priority. Default: medium.
wbs_codestring
WBS code. Auto-computed if omitted.
start_datestring
YYYY-MM-DD.
descriptionstring
updatePlanPhaseUpdate a plan phase. Requires versionTimestamp from getPlanPhase (not getPlan).11 params

Update a plan phase. Requires versionTimestamp from getPlanPhase (not getPlan).

Parameters* required
namestring
colorstring
Phase color. Must be one of: #3b82f6 (Blue), #f59e0b (Amber), #8b5cf6 (Purple), #ec4899 (Pink), #06b6d4 (Cyan), #14b8a6 (Teal), #6366f1 (Indigo), #6b7280 (Gray). Red and green are reserved for blocked / done item statuses. Pass null to clear.one of #3b82f6 · #f59e0b · #8b5cf6 · #ec4899 · #06b6d4 · #14b8a6
statusstring
Status: not_started, in_progress, completed, on_hold, cancelled.
phaseIdstring
end_datestring
positionnumber
prioritystring
Priority: low, medium, high, critical.
wbs_codestring
start_datestring
descriptionstring
versionTimestampnumber
Version timestamp from getPlanPhase() for optimistic locking.
deletePlanPhaseDelete a plan phase and all tasks/improvements within it. This is a destructive operation that cannot be undone.1 params

Delete a plan phase and all tasks/improvements within it. This is a destructive operation that cannot be undone.

Parameters* required
phaseIdstring
reorderPlanPhasesReorder plan phases by setting position values. WBS codes are recalculated.1 params

Reorder plan phases by setting position values. WBS codes are recalculated.

Parameters* required
itemsarray
Array of {phaseId, position}.
addPlanActivityAdd a comment or activity entry to a plan.7 params

Add a comment or activity entry to a plan.

Parameters* required
planIdstring
commentstring
Comment text.
metadataobject
Additional context.
newValuestring
For field_change: new value.
oldValuestring
For field_change: previous value.
fieldNamestring
For field_change: field name.
activityTypestring
Type: comment, agent_update, field_change. Default: comment.
updatePlanCommentUpdate a comment on a plan. Requires the comment's updated_at as versionTimestamp.3 params

Update a comment on a plan. Requires the comment's updated_at as versionTimestamp.

Parameters* required
commentstring
New comment text.
activityIdstring
Activity ID from getPlan activity array.
versionTimestampnumber
Comment's updated_at as Unix ms for optimistic locking.
deletePlanCommentDelete a comment from a plan.1 params

Delete a comment from a plan.

Parameters* required
activityIdstring
Activity ID from getPlan activity array.
createTaskCreate a task in a plan. Requires planId and title.17 params

Create a task in a plan. Requires planId and title.

Parameters* required
typestring
Type. Default: task. Tasks created in plans are typed 'task' (friendly_id prefix TAS-). Override only if you want the row to appear as a non-task improvement (IMP- prefix).
titlestring
planIdstring
statusstring
Initial status. Default: captured.
phaseIdstring
Phase to assign to.
end_datestring
YYYY-MM-DD.
owner_idstring
User UUID to assign as owner. MUTUALLY EXCLUSIVE with owner_team_id. Use listAssignablePrincipals(projectId, kind='user') to look up valid UUIDs.
positionnumber
prioritystring
Priority. Default: medium.
wbs_codestring
checklistarray
Tick-box checklist shown above acceptance_criteria. The full array REPLACES the stored list on update, and array order = display order — to edit, fetch via getTask/getImprovement, modify, and send back the whole list. Operations: mark done with `completed: true`; un-mark with `completed: false`; add rows by appending `{ text }` (id is auto-minted); remove by omitting; reorder by rearranging. Echo back each existing `id` you keep so per-row attribution (who added/completed it, when) survives.
start_datestring
YYYY-MM-DD.
descriptionstring
target_datestring
YYYY-MM-DD.
owner_team_idstring
Team UUID to assign as owner (assigns the whole team). MUTUALLY EXCLUSIVE with owner_id. Use listTeams or listAssignablePrincipals(kind='team') to look up valid UUIDs.
percent_completenumber
Progress percentage (0-100). Null means not tracked.
acceptance_criteriaarray
Acceptance criteria — ordered list of pass/fail statements that define "done" for this item. Each row is `{ id, text }` with server-stamped `updated_at / updated_by / updated_by_credential_name`. REPLACES the whole array on update. Echo back existing `id`s on rows you keep so attribution stamps survive. Bare strings are accepted for convenience (e.g. `["row 1", "row 2"]`) and auto-converted to `{ id, text }`.
listTasksList tasks in a plan. Supports filtering by status, priority, phaseId, and query.9 params

List tasks in a plan. Supports filtering by status, priority, phaseId, and query.

Parameters* required
limitnumber
Max results (1-100, default 50).
querystring
Search title and friendly_id.
offsetnumber
Pagination offset.
planIdstring
statusstring
Filter by status.
phaseIdstring
Filter by phase.
prioritystring
Filter by priority.
sortFieldstring
Sort field. Default: position.
sortAscendingboolean
Sort ascending. Default: true.
getTaskGet a task by ID with full details, evidence, activity, and the `checklist` array (each item: id, text, due_date, completed_at, plus server-stamped attribution). Returns versionTimestamp; pass it to updateTask to modify. Includes percent_complete for progress tracking.1 params

Get a task by ID with full details, evidence, activity, and the `checklist` array (each item: id, text, due_date, completed_at, plus server-stamped attribution). Returns versionTimestamp; pass it to updateTask to modify. Includes percent_complete for progress tracking.

Parameters* required
taskIdstring
updateTaskUpdate a task. Tasks share a row with improvements (`improvement_items` with `is_task=true`), so this is a thin alias over updateImprovement — every field on updateImprovement is supported, including `checklist`, `acceptance_criteria`, status transitions (blocked/rejected/done...48 params

Update a task. Tasks share a row with improvements (`improvement_items` with `is_task=true`), so this is a thin alias over updateImprovement — every field on updateImprovement is supported, including `checklist`, `acceptance_criteria`, status transitions (blocked/rejected/done...

Parameters* required
typestring
titlestring
statusstring
taskIdstring
plan_idstring
Link to plan. Null to unlink.
urgencystring
why_nowstring
end_datestring
YYYY-MM-DD.
metadataobject
owner_idstring
User UUID to assign as owner, or null to unassign. MUTUALLY EXCLUSIVE with owner_team_id — when switching from a user to a team owner, send `owner_id: null` in the same call as `owner_team_id`. Use listAssignablePrincipals(projectId, kind='user', q='…') to look up valid UUIDs.
phase_idstring
Assign to phase. Null to unassign.
positionnumber
prioritystring
wbs_codestring
checklistarray
Tick-box checklist shown above acceptance_criteria. The full array REPLACES the stored list on update, and array order = display order — to edit, fetch via getTask/getImprovement, modify, and send back the whole list. Operations: mark done with `completed: true`; un-mark with `completed: false`; add rows by appending `{ text }` (id is auto-minted); remove by omitting; reorder by rearranging. Echo back each existing `id` you keep so per-row attribution (who added/completed it, when) survives.
non_goalsarray
start_datestring
YYYY-MM-DD.
agent_briefstring
agent_readyboolean
constraintsarray
descriptionstring
target_datestring
YYYY-MM-DD.
user_impactstring
docs_updatedboolean
owner_team_idstring
Team UUID to assign as owner, or null to unassign. MUTUALLY EXCLUSIVE with owner_id — when switching from a team to a user owner, send `owner_team_id: null` in the same call as `owner_id`. Use listTeams or listAssignablePrincipals(kind='team') to look up valid UUIDs.
relationshipsobject
Free-form JSON for logical links: blocks, blocked_by, duplicates, supersedes, relates_to (arrays of item IDs).
blocked_commentstring
Required when status=blocked.
business_impactstring
desired_outcomestring
agent_complexitystring
agent_confidencenumber
follow_up_neededboolean
percent_completenumber
Progress percentage (0-100). Null to clear.
reopened_commentstring
Required when reopening from a closed status.
versionTimestampnumber
Version timestamp from getTask() for optimistic locking.
impacted_diagramsarray
problem_statementstring
rejection_commentstring
Required when status=rejected.
resolution_pr_urlstring
agent_missing_infoarray
completion_commentstring
Required when status=done.
impacted_documentsarray
resolution_summarystring
acceptance_criteriaarray
Acceptance criteria — ordered list of pass/fail statements that define "done" for this item. Each row is `{ id, text }` with server-stamped `updated_at / updated_by / updated_by_credential_name`. REPLACES the whole array on update. Echo back existing `id`s on rows you keep so attribution stamps survive. Bare strings are accepted for convenience (e.g. `["row 1", "row 2"]`) and auto-converted to `{ id, text }`.
impacted_componentsarray
linked_document_idsarray
Document IDs to link.
impacted_repositoriesarray
agent_recommended_actionstring
getPlanHierarchyGet the complete plan hierarchy (phases, tasks, improvements) in one call. Recommended first call for plan navigation.1 params

Get the complete plan hierarchy (phases, tasks, improvements) in one call. Recommended first call for plan navigation.

Parameters* required
planIdstring
setPlanItemParentSet or clear the WBS parent-child nesting of a task/improvement (outline hierarchy, no scheduling effect). Same plan and phase required. Max depth: 5.2 params

Set or clear the WBS parent-child nesting of a task/improvement (outline hierarchy, no scheduling effect). Same plan and phase required. Max depth: 5.

Parameters* required
itemIdstring
Item ID to re-parent.
parentIdstring
New parent ID. Null to un-indent.
listTaskDependenciesList FS/SS/FF task-dependency edges in a plan (the Gantt arrows). Scope by planId, projectId, or itemId. `direction`: 'predecessors' | 'successors' | 'both' (default, only with itemId).4 params

List FS/SS/FF task-dependency edges in a plan (the Gantt arrows). Scope by planId, projectId, or itemId. `direction`: 'predecessors' | 'successors' | 'both' (default, only with itemId).

Parameters* required
itemIdstring
Limit to one item's edges.
planIdstring
Limit to one plan.
directionstring
Only meaningful with itemId. Default: both.one of predecessors · successors · both
projectIdstring
Limit to one project (all plans).
createTaskDependencyCreate an FS/SS/FF scheduling edge with lag/lead between two items in the same plan (rendered as a Gantt arrow). FS = Finish-to-Start, SS = Start-to-Start, FF = Finish-to-Finish. `lagDays`: positive = lag, negative = lead/overlap. Rejects self-loops, duplicate (pred+succ+type)...4 params

Create an FS/SS/FF scheduling edge with lag/lead between two items in the same plan (rendered as a Gantt arrow). FS = Finish-to-Start, SS = Start-to-Start, FF = Finish-to-Finish. `lagDays`: positive = lag, negative = lead/overlap. Rejects self-loops, duplicate (pred+succ+type)...

Parameters* required
lagDaysinteger
Lag (positive) or lead (negative) in days. Default 0.
successorIdstring
ID of the downstream item (the dependent).
predecessorIdstring
ID of the upstream item (the driver).
dependencyTypestring
FS = Finish-to-Start, SS = Start-to-Start, FF = Finish-to-Finish.one of FS · SS · FF
updateTaskDependencyChange the type (FS/SS/FF) or lag/lead of an existing task-dependency. Doesn't move dates directly; flags the successor with `needs_dependency_review=true` and fills `suggested_start_date`/`suggested_end_date` if the change implies a different schedule.3 params

Change the type (FS/SS/FF) or lag/lead of an existing task-dependency. Doesn't move dates directly; flags the successor with `needs_dependency_review=true` and fills `suggested_start_date`/`suggested_end_date` if the change implies a different schedule.

Parameters* required
lagDaysinteger
Positive = lag, negative = lead.
dependencyIdstring
dependencyTypestring
one of FS · SS · FF
deleteTaskDependencyRemove a task-dependency edge. Neither item's dates are changed.1 params

Remove a task-dependency edge. Neither item's dates are changed.

Parameters* required
dependencyIdstring
acceptTaskDependencyReviewPer-item: apply a successor's `suggested_start_date`/`suggested_end_date` to its real dates and clear `needs_dependency_review`. For a whole-plan cascade use `applyTaskDependencyCascade`.1 params

Per-item: apply a successor's `suggested_start_date`/`suggested_end_date` to its real dates and clear `needs_dependency_review`. For a whole-plan cascade use `applyTaskDependencyCascade`.

Parameters* required
improvementIdstring
The successor item whose suggestion to apply.
dismissTaskDependencyReviewPer-item: clear `needs_dependency_review` without changing dates — keeps the edge, ignores the suggestion. Use when the successor should stay put despite the predecessor shifting.1 params

Per-item: clear `needs_dependency_review` without changing dates — keeps the edge, ignores the suggestion. Use when the successor should stay put despite the predecessor shifting.

Parameters* required
improvementIdstring
Stable Baseline

Stable Baseline — MCP Server

The simplest, most complete, end-to-end agent-managed company brain.

Website · Sign up free · Docs · Tool catalogue · llms.txt

MCP Registry Smithery Tools npm CLI npm SDK PyPI


How to use Stable Baseline

Pick the surface that matches how you work — every option talks to the same handlers, the same auth, the same data:

SurfaceWhat it's forInstall
MCP serverAI agents (Claude Code, Cursor, Windsurf, ChatGPT, Gemini, Smithery, …). Native protocol with prompts and resources.Endpoint: api.stablebaseline.io/functions/v1/cloud-serve/mcp. See Quick start below.
REST APIAny HTTP client, Postman, OpenAPI codegen, Zapier-style integrators. Tool-RPC + idiomatic resource routes.Live spec: /api/v1/openapi.json · Interactive docs: /api/v1/docs
TypeScript SDKNode, browsers, Deno, Bun. Typed client.tools.<toolName>(...) surface.npm i @stablebaseline/sdk — see packages/sdk-typescript
CLI (sb)Shells, scripts, CI/CD. sb tool call <name> --json '{...}'.npm i -g @stablebaseline/cli — see packages/cli
Python SDKPython apps, data work. Sync + async clients.pip install stablebaseline — see packages/sdk-python

184 tools across 19 categories. Same brain, same Knowledge Graph, same RBAC — every surface.


One workspace where humans and any MCP-compatible AI agent — Claude Code, Cursor, Windsurf, VS Code, Warp, OpenCode, Antigravity, OpenAI Codex, ChatGPT Developer Mode, Gemini CLI/Extensions, and more — co-author living documents (Markdown-native with a rich superset on top), 40+ visual diagrams (Mermaid, BPMN 2.0, D2, PlantUML, GraphViz, ELK architecture, sequence, state, ERD, Gantt, Excalidraw freehand), plans, timelines, tasks, improvements, and a self-learning Knowledge Graph that IS the company brain.

Lean, fast, secure, and affordable — flexible enough for one person organising a personal mind, through to small businesses, growing businesses, and enterprise.

184 MCP tools across 19 categories let an agent drive end-to-end: sign-up → billing → org/workspace/project → members → teams → permissions → brain scope → docs → diagrams → plans, all without a human touching the UI.

Endpoint

https://api.stablebaseline.io/functions/v1/cloud-serve/mcp

Transport: Streamable HTTP (with SSE fallback) Auth: OAuth 2.1 with Dynamic Client Registration, or Bearer API key (sta_*) Discovery manifest: https://stablebaseline.io/.well-known/mcp.json

Quick start

Mint an API key (skip OAuth)

  1. Sign up free — no credit card
  2. Go to Settings → MCP keys and click Generate
  3. Copy the sta_... key

(Or skip this — every client below also supports interactive OAuth on first call.)

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "stable-baseline": {
      "url": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": {
        "Authorization": "Bearer sta_YOUR_KEY"
      }
    }
  }
}

Or use the Claude Desktop OAuth flow — set just url and Claude will prompt you to authorize on first call.

Claude Code

claude mcp add --transport http stable-baseline \
  https://api.stablebaseline.io/functions/v1/cloud-serve/mcp \
  --header "Authorization: Bearer sta_YOUR_KEY"

Or via OAuth:

claude mcp add --transport http stable-baseline \
  https://api.stablebaseline.io/functions/v1/cloud-serve/mcp

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "stable-baseline": {
      "url": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": { "Authorization": "Bearer sta_YOUR_KEY" }
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "stable-baseline": {
      "serverUrl": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": { "Authorization": "Bearer sta_YOUR_KEY" }
    }
  }
}

VS Code (Copilot Chat)

.vscode/mcp.json (workspace) or user settings:

{
  "servers": {
    "stable-baseline": {
      "type": "http",
      "url": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": { "Authorization": "Bearer ${input:sta_key}" }
    }
  }
}

Other clients

Recipes for Warp, OpenCode, Antigravity, OpenAI Codex, ChatGPT Developer Mode, Gemini CLI/Extensions, and a generic recipe are at stablebaseline.io/docs/mcp/setup.

What you get

CategorySample toolsDocs
navigationlistOrganisations, getProjectHierarchy, searchTools→
folderscreateFolder, listFolders, setPlanItemParent→
documentscreateDocument, editDocument, findAndReplaceTextInDocument→
diagramsinsertDiagramInDocument, listDiagramTypes, getCdmdLanguageGuide→
imagescreateImageUploadSession, insertImageInDocument→
datacreateVegaDataUploadSession (CSV/JSON/TSV → Vega charts)→
improvementscreateImprovement, searchImprovements, addImprovementEvidence→
planscreatePlan, createPlanPhase, previewTaskDependencyCascade→
knowledge_graphkg_search, kg_get_entity, kg_related_documents→
organizationcreateOrganisation, createWorkspace, createProject→
membersinviteMember, updateMemberRole, setMemberActive→
teamscreateTeam, grantTeamWorkspaceAccess→
permissionsupsertResourcePermission, setResourcePermissionOverride→
billingpreviewSubscriptionChange, applySubscriptionChange, purchaseCreditPackage→
kg_adminsetKgWorkspaceScope, triggerKgRebuild, previewKgRebuild→
settingsgetOrgSettings, updateOrgFeatureFlags, updateUserPreferences→

Full live catalogue: stablebaseline.io/docs/mcp/tools

Highlights

  • End-to-end agent-managed: agents drive sign-up → billing → org/workspace/project lifecycle → members → teams → permissions → Knowledge Graph scope. No human touching the UI.
  • Living documents: AI-native rich-text editor (CDMD = Markdown + inline diagrams, data tables, media, version history, real-time multi-author edits).
  • Visual diagram creation & editing: 40+ types — AI-generated, diagram-as-code, or freehand.
  • Plans, timelines, tasks, improvements & bugs: Day/Week/Month/Quarter/Year zoom Gantt, drag-to-reschedule, dependency cascades.
  • Self-learning Knowledge Graph (Enterprise): auto-built from every doc/plan/improvement; read by every connected agent. Stops hallucinations around gaps. Run one brain workspace-wide, one per department, or one per project — RBAC end-to-end.
  • Compliance Readiness (Enterprise): scans against OWASP ASVS, NIST SSDF, CIS Controls, ISO 27001, SOC 2, TISAX. Readiness only — not legal advice, not an attestation.
  • Bring-your-own-agent — no lock-in: any MCP-compatible client.
  • Credit-cost preview ritual for every spending operation: previewX → confirm token → applyX.

Auth

MethodWhen to use
OAuth 2.1 + Dynamic Client RegistrationDefault for desktop apps and IDE extensions. Smithery handles it automatically.
Bearer API key (sta_...)CI/CD, headless agents, server-to-server. Mint at app.stablebaseline.io/settings/mcp-keys. Project-scoped or global.

OAuth endpoints:

  • authorize: https://app.stablebaseline.io/oauth/authorize
  • token: https://api.stablebaseline.io/oauth/token
  • register (DCR): https://api.stablebaseline.io/oauth/register
  • Scopes: org_admin, org_billing, org_members, org_teams, org_permissions, org_settings, kg_admin, lifecycle

Discovery

SurfaceURL
.well-known/mcp.json (manifest)https://stablebaseline.io/.well-known/mcp.json
Official MCP Registryhttps://registry.modelcontextprotocol.io/v0/servers?search=io.stablebaseline
Smitheryhttps://smithery.ai/servers/stablebaseline/sb-mcp
llms.txthttps://stablebaseline.io/llms.txt
robots.txthttps://stablebaseline.io/robots.txt
sitemap.xmlhttps://stablebaseline.io/sitemap.xml
security.txthttps://stablebaseline.io/.well-known/security.txt

Pricing

  • Free: 100 one-off credits, no credit card.
  • Pro: A$79 / user / month, 500 credits / user / month.
  • Enterprise: custom — Knowledge Graph, Compliance Readiness, audit logs, SSO. Contact.

Status

  • 🟢 MCP Registry: io.stablebaseline/sb — active, isLatest. Listed.
  • 🟢 Smithery: published with configSchema (Quick Setup). 184 tools / 8 prompts / 6 resources discovered.
  • 🟢 .well-known/mcp.json: live, schema 2024-11-05.
  • 🟢 Endpoint: api.stablebaseline.io/functions/v1/cloud-serve/mcp — accepts POST with mcp-protocol-version: 2025-03-26.

Issues & support

  • Bug or feature request: open an issue here.
  • Security report: see .well-known/security.txt — RFC 9116 contact.
  • General support: https://stablebaseline.io/contact

License

This repository (README, llms-install.md, brand assets, and any documentation) is licensed under the MIT License — see LICENSE. You can copy, fork, and adapt these docs freely.

The Stable Baseline product itself — the SaaS application, the MCP server implementation, and the company brain Knowledge Graph — is proprietary, closed-source, and provided as a service at https://stablebaseline.io under the Stable Baseline Terms of Service.


Built by Orixian Solutions Pty Ltd, Sydney, Australia.

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 →
Categories
Sales & MarketingAI & LLM ToolsDocuments & Knowledge
Registryactive
TransportHTTP
AuthRequired
UpdatedMay 8, 2026
View on GitHub

Related Sales & Marketing MCP Servers

View all →
Vibe Prospecting

explorium-ai/vibeprospecting-mcp

Power your chat with B2B data to create lead lists, research companies, personalize your outreach, and more.
22
Lead Enrichment API

io.github.compuute/lead-enrichment

Curated EU AI/Sec/DevTools/Fintech B2B leads, Claude-scored. MCP+x402. Free 250/mo.
Apollo Salesforce Mapper

dev.workers.selbyventurecap.cf-worker/apollo-salesforce-mapper

Apollo->Salesforce Lead mapper. No LLM. Strict-fail required fields. PASS/REPAIR/FAIL verdict.
Company Enrichment API

io.github.br0ski777/company-enrichment

Company firmographics from domain: name, socials, tech stack, emails, phone, address
Apollo

com.mcparmory/apollo

Search and enrich contact and company data from 210M+ people and 35M+ companies
25
Mcp Gtm Tech Stack Signal Scraper

mambalabsdev/mcp-gtm-tech-stack-signal-scraper

Detects a company CRM, sequencer, and marketing automation from its public website. Clay-ready.
1