Skip to content
Connect an agent
Workflows

find_pattern

Finds a ready-made, checked architecture diagram for a request such as "three tier network", "serverless api", or "two availability zones". It is a workflow of the MCP server and the HTTP API, with the title "Find pattern".

TL;DR

QuestionAnswer
What is it?A workflow: one call does the work of several tools and returns one combined answer.
What does it do?Finds a ready-made, checked architecture diagram for a request such as "three tier network", "serverless api", or "two availability zones".
What does it replace?searching the documentation for an example to copy.
How do I call it over HTTP?POST /v1/patterns/find
Does it change anything?No. It is read-only and idempotent, and it talks to nothing outside itself. It saves no file and returns its answer as data.
Which bounds apply?maxPatternQueryLength, maxPatternTags, maxPatternResults. See the bounds below.
Where do I read its schema as data?An MCP client gets the name, description, and JSON Schema of every tool from tools/list.

What it does

Workflow. Finds a ready-made, checked architecture diagram for a request such as "three tier network", "serverless api", or "two availability zones". Send the request in plain words, and optionally a provider (neutral, aws, azure, or gcp), tags, a diagram kind, and a limit of up to 5. Returns the best matches first, each with an id, a one-sentence summary, tags, and the flavours it comes in, never the source. Start here when the user asks for a common architecture: a pattern is already validated, laid out, and described, so you adapt it instead of drawing from nothing. Replaces searching the documentation for an example to copy.

Steps

OperationRunsWhat it does
findPatternsalwaysSearch the pattern library for an architecture by its words, with optional provider, tag, and kind filters.

One call performs at most 1 operations.

Example call

The arguments of the call, as JSON:

json
{  "query": "three tier network",  "provider": "azure"}

Prompts that lead to it

  • Draw a three-tier network with load balancers.
  • Which pattern shows a primary and a replica database in two availability zones?
  • Find a serverless API pattern for AWS.

Arguments

FieldTypeRequiredDescription
querystringyesThe architecture wanted, in plain words, such as "three tier network". at least 1 character; at most 200 characters.
provider"neutral" | "aws" | "azure" | "gcp"noOnly patterns that come in this flavour: neutral, aws, azure, or gcp.
tagsstring[]noTags every result must have, such as "load balancer". Up to 5.
kind"flow" | "sequence" | "schema" | "git" | "gantt" | "class" | "state" | "timeline" | "journey" | "mindmap" | "treemap" | "pie" | "quadrant" | "layers" | "c4" | "matrix" | "sankey" | "xychart" | "tree" | "swimlane"noOnly patterns of this diagram kind: flow, sequence, schema, git, gantt, class, state, timeline, journey, mindmap, treemap, pie, quadrant, layers, c4, matrix, sankey, xychart, tree, or swimlane.
limitintegernoMost results to return, up to 5. minimum 1; maximum 5; default 5.

Result

FieldTypeRequiredDescription
querystringyesThe query that was searched.
matchesobject[]yesUp to the limit, best match first. Empty when nothing fits.
matches[].idstringyesThe pattern id, as find_pattern returns it, such as three-tier-network. at least 1 character; at most 60 characters.
matches[].titlestringyes
matches[].summarystringyesOne sentence: what the diagram shows.
matches[].kindstringyesA diagram kind: flow, sequence, schema, git, gantt, class, state, timeline, journey, mindmap, treemap, pie, quadrant, layers, c4, matrix, sankey, xychart, tree, or swimlane today. Later versions add kinds, so expect others.
matches[].tagsstring[]yes
matches[].providers("neutral" | "aws" | "azure" | "gcp")[]yesThe flavours the pattern comes in.
matches[].scorenumberyesHow well it matches; only the order of the results is meaningful.
nextstringyesThe next step in one sentence.

Behavior hints

HintValue
readOnlyHinttrue
destructiveHintfalse
idempotentHinttrue
openWorldHintfalse

Bounds

A bound that is reached is reported in the result; nothing is cut silently.

BoundValueWhat it limits
maxPatternQueryLength200Characters in the query.
maxPatternTags5Tags a search can require.
maxPatternResults5Matches in one answer.

See also

DocWhy
Tool referenceEvery tool, with the workflows first
POST /v1/patterns/findThe same operation over HTTP
Language referenceWhat the diagram source may contain
Writing diagrams with an agentThe loop in practice