Skip to content

MCP server

Dezycro exposes a Model Context Protocol (MCP) server at https://mcp.dezycro.ai/mcp for production tenants and https://mcp.dev.dezycro.io/mcp for dev. The MCP server is what the Claude Code plugin talks to — but you can also use it directly from any MCP-compatible client (Cursor, Continue, custom IDE plugins, etc.).

Authentication

Use a Personal Access Token:

Authorization: Bearer dzy_<your-token>

Pass the header on every request. The MCP server resolves the PAT to your user + tenant + per-workspace permissions on each call — there's no separate workspace selection step.

Wiring up a client

Claude Code

claude mcp add dezycro \
  --transport http \
  --url https://mcp.dezycro.ai/mcp \
  --header "Authorization: Bearer dzy_..."

Or place this in ~/.claude/settings.json:

{
  "mcpServers": {
    "dezycro": {
      "type": "http",
      "url": "https://mcp.dezycro.ai/mcp",
      "headers": {
        "Authorization": "Bearer dzy_..."
      }
    }
  }
}

Other clients

Most MCP-compatible clients accept the same shape — point at https://mcp.dezycro.ai/mcp and pass the bearer header. The transport is Streamable HTTP (the modern MCP transport — initialize handshake, session ID, JSON-RPC over POST).

Available tools

The MCP server exposes the same tools the Claude Code plugin uses. Group-by-purpose:

Discovery

  • list_workspaces — your accessible workspaces
  • list_projects(workspaceId) — projects in a workspace
  • list_features(workspaceId, projectId, parentDirectoryId?) — directory tree of features
  • search(workspaceId, query) — cross-feature semantic search
  • search_features(workspaceId, projectId, query) — feature-name search
  • list_feature_documents(workspaceId, featureId) — PRD/TRD docs for a feature
  • get_document(workspaceId, featureId, docId) — fetch document content
  • get_workbook(workspaceId, featureId) — full workbook state (journeys, tasks, decisions, issues, …)

Feature lifecycle

  • create_feature(workspaceId, projectId, placement, name, …) — new feature; auto-creates PRD/TRD docs
  • move_feature(featureId, newDirectoryId)
  • update_document(workspaceId, featureId, docId, content) — overwrite PRD/TRD markdown
  • change_document_status(docId, status) — DRAFT → COMPLETE → APPROVED transitions
  • suggest_placement(workspaceId, projectId, featureName) — RAG-backed directory suggestion

Workbook

  • add_decision(workspaceId, featureId, summary, reason, intentRefs?, journeyRefs?)
  • add_issue(workspaceId, featureId, summary, severity, …)
  • add_assumption(workspaceId, featureId, summary, rationale)
  • update_issue(id, status, reason) — also used to invalidate assumptions
  • create_task(workspaceId, featureId, …)
  • update_task(id, status, pathRefs?, priorStatus?) — TODO / IN_PROGRESS / DONE / PUSHED / CONFIRMED
  • confirm_journey(workspaceId, featureId, journeyId) / unenforce_journey(...)

Verification & coverage

  • publish_feature_spec(workspaceId, featureId, openapi) — upload OpenAPI; triggers JEP generation
  • pull_verifier(featureId, platform) — download the verifier binary for your platform
  • record_verifier_run(workspaceId, featureId, results, …) — upload a run result
  • get_coverage_report(workspaceId, featureId) — current coverage projection
  • set_verification_scope(workspaceId, featureId, scope)
  • waive_coverage(workspaceId, featureId, gapId, reason)

Test generation

  • generate_tests(workspaceId, featureId, docId) — kick off LLM test generation
  • generation_status(workspaceId, featureId, docId) — poll progress
  • list_test_cases(workspaceId, featureId, …)
  • promote_auto_baseline(workspaceId, featureId, …) / promote_to_regression(...)
  • get_violation_events(workspaceId, featureId) — agent intent-violation log

Council (AI review)

  • trigger_council_review(workspaceId, featureId) — request multi-persona AI review of PRD/TRD
  • get_council_review(workspaceId, featureId) — fetch the latest review

Audit

  • link_artifact(...) — link a commit / PR / file path to a workbook entity
  • get_workspace_metrics(workspaceId) — workspace-level usage + activity stats
  • get_avoided_cost_estimate(workspaceId) — estimated dollar value of intent violations caught

Each tool's full parameter schema is loaded by your MCP client at connection time — refer to the client's tool browser for the canonical signatures.

Quirks

  • Streamable HTTP transport — the first POST must be an initialize JSON-RPC call; the server returns a Mcp-Session-Id header. Subsequent calls must echo that header back. Standard MCP clients handle this automatically.
  • Per-workspace permission inheritance — your PAT inherits your workspace role on every call. A Viewer PAT can call get_* / list_* tools but not create_* / update_* ones.
  • Idempotencyupdate_document overwrites; add_* always creates a new entity. There's no append semantics on documents.
  • Long-running operationsgenerate_tests and publish_feature_spec return immediately with a status URL; poll generation_status to wait for completion.