Book a demo
Documentation · MCP server v1 · API v1
Developer documentation

ProcessCraft MCP server and API

The MCP server gives AI agents access to your organization's procedures. An agent acts on behalf of a person — only with the scopes that person approves on the consent screen.

Quickstart: connect an agent in 5 minutes

01Add the server to your MCP client

Server URL: https://mcp.processcraft.pl/v1 (Streamable HTTP). Choose the client you use:

mcp.json
{
  "mcpServers": {
    "processcraft": { "url": "https://mcp.processcraft.pl/v1" }
  }
}

02Grant OAuth consent

On the first call, the client opens the ProcessCraft consent screen. Sign in, then choose a space and scopes (e.g., processes:read, drafts:write). You can revoke access at any time in your profile settings.

03Make your first call

Search for a procedure and fetch its published version. Procedure content is returned as data, not as instructions for the agent.

MCP tool calls
// 1. search for a procedure
search_processes({ "query": "unit handover" })
// 2. fetch the published version
get_process({ "id": "INS-0042", "version": "published" })
Response (abridged)
{ "id": "INS-0042", "version": "3.1", "status": "PUBLISHED",
  "title": "Unit handover from the developer", "steps": 7,
  "owner": "Anna Nowak", "consistency": "CONSISTENT" }
Connect an agent in the app Don't have an account? 14 days of the Business plan, no card required

MCP: tools

This list comes from the server description (mcpServer.getInfo) — the same one the client receives over the MCP protocol.

16 tools in MCP server v1
ToolRequired scopeAI creditsDescription
search_processesprocesses:readnoSearches published procedures in the person's spaces
get_processprocesses:readnoProcedure version: steps, positions, criteria
get_bpmnprocesses:readnoThe version's diagram as BPMN 2.0 XML
get_my_positionprocesses:readnoThe person's position and assigned procedures
list_spacesprocesses:readnoSpaces available to the person
list_positionsprocesses:readnoThe organization's position directory
create_draft_from_textdrafts:write, ai:useyesDraft from a process description
import_documentdrafts:write, ai:useyesDraft from a document (DOCX, PDF)
patch_draft_graphdrafts:writenoChanges a draft's steps and transitions
validate_draftdrafts:writenoValidation and BPMN consistency status
generate_bpmnbpmn:generatenoBPMN diagram from a list of steps
request_approvaldrafts:writenoSubmits a version for approval — a human approves
add_commentcomments:writenoComment in a step's discussion thread
review_processai:useyesAI review: gaps and inconsistencies
ask_proceduresai:useyesAssistant's answer to a question about procedures
report_issuecomments:writenoReports a problem with a procedure to its author

What an agent won't do

Agent boundaries are fixed — regardless of scopes An agent does not approve or publish versions and does not manage users, roles, payments, or keys. Procedure content is returned as data, not as instructions. Policy: AI Acceptable Use Policy (permitted agent use)

OAuth scopes and consent

MCP server OAuth scopes
ScopeAllowsAllowed rolesAI credits
processes:readReading published procedures and diagramsall rolesno
drafts:writeCreating and editing drafts, submitting for approvalAuthor, Administrator, Ownerno
bpmn:generateGenerating a diagram from a list of stepsAuthor, Administrator, Ownerno
ai:useAI features: import, review, questions to the AssistantAuthor, Approver, Administrator, Owneryes
comments:writeComments and problem reportsall rolesno

Authorization: OAuth 2.1 with PKCE. On the consent screen, the person chooses spaces and scopes; the agent never gets more than that person's role allows. You can revoke access in your profile, and an Administrator can revoke it in the organization's agent list.

A call without the required scope fails with a FORBIDDEN error that includes the details.required_scope field.

Skills and Process-as-Skill

The skills package teaches an assistant to work with ProcessCraft: modeling steps, importing documents, reviewing, and running procedures over MCP.

processcraft-skills 1.2.0Released · ZIP, 48 KB · SHA-256 3f9a…c21e
  • processcraft-modeler
    Models steps, positions, and decision gateways, and creates a draft from them.processes:readdrafts:writebpmn:generate
    14 KB
  • processcraft-importer
    Turns existing documents into structured draft steps.drafts:writeai:use
    11 KB
  • processcraft-reviewer
    Finds gaps and inconsistencies and leaves comments in threads.processes:readcomments:writeai:use
    12 KB
  • processcraft-runner
    Guides you step by step through a position's published procedure.processes:read
    11 KB
Client installation (skills directory)
unzip processcraft-skills-1.2.0.zip -d ./skills/
# in a web client (e.g., claude.ai), upload the ZIP in the skills settings

Process-as-Skill

You can export a published procedure as a Skill (ZIP) with its version number and step completion criteria. A human performs the export in the app — an agent does not publish or export versions.

Errors, limits, idempotency

Every error uses the same format; in MCP, the result also includes isError: true. The message field is a short technical description in English — branch your logic on code and details, not on the message text. request_id is the trace_id from the W3C traceparent header — include it in support requests.

Error format
{ "code": "FORBIDDEN", "message": "Missing required scope: drafts:write.",
  "request_id": "8f2c41b6e0d94a7f9c3e5a1d2b7f6c08", "retryable": false,
  "docs_url": "https://processcraft.pl/docs/errors#FORBIDDEN",
  "details": { "reason": "scope", "required_scope": "drafts:write" } }
Error codes (anchor = code)
CodeHTTPRetryMeaning
VALIDATION_FAILED400noFix the fields listed in details.fields[]
UNAUTHENTICATED401noToken expired — reauthorize
FORBIDDEN403noMissing role or scope (required_scope)
PLAN_LIMIT_REACHED403noOrganization's plan limit reached
PAYMENT_REQUIRED402noOrganization is in read-only mode
AI_CREDITS_EXHAUSTED402noNot enough AI credits
NOT_FOUND404noItem does not exist or you don't have access to it
IDEMPOTENCY_CONFLICT409dependsSame key with a different payload, or operation in progress
RATE_LIMITED429yesToo many calls — wait retry_after s
INTERNAL_ERROR500noError on our side — report the request_id

Limits, pagination, and idempotency

  • RATE_LIMITED (429) returns a Retry-After header — retry after the indicated time.
  • Lists use cursor-based pagination: get the next page with next_cursor.
  • Write commands accept an Idempotency-Key; a retry with the same key returns the original result.
  • Plan blocks: PAYMENT_REQUIRED, PLAN_LIMIT_REACHED, AI_CREDITS_EXHAUSTED — with a resolve_url for the person.

Changelog

  1. MCP server 1.4.0New tool report_issue; FORBIDDEN returns details.required_scope.
  2. skills 1.2.0New skill processcraft-runner.
  3. API v1Breaking changeCursor-based pagination (next_cursor) instead of page numbers.
Terms of Service Help Center Last updated: