Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted just now
teppi

Server definition

Hash
sha256:1c6d297ac0b05f041dc351c96f1252b3a6c447799a5270504a272627da39d727
What it is
What a remote MCP server returned when asked what it offers: 3 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Create a NEW architecture diagram from a graph that YOU author, and get back a shareable, editable canvas URL plus a rendered SVG and Mermaid.\n\nYou produce only the SEMANTICS — nodes, the groups (VPC/cluster/...) they live in, and the directed edges between them. You do NOT lay anything out: never send x/y/position/pinned. A deterministic layout engine computes all geometry and an icon layer picks the pictures from each node's kind.\n\nkind.catalog is one of aws | gcp | azure | k8s | saas | generic, each with rich per-catalog kind.types (e.g. aws:lambda, gcp:bigquery, azure:cosmos_db, k8s:deployment, saas:kafka):\n- \"aws\" (api_gateway, lambda, s3, rds, dynamodb, sqs, bedrock, kinesis, fargate, eventbridge, aurora, ...).\n- \"gcp\" (compute_engine, gke, cloud_run, cloud_sql, spanner, firestore, bigquery, pubsub, dataflow, vertex_ai, ...).\n- \"azure\" (virtual_machine, aks, app_service, functions, blob_storage, sql_database, cosmos_db, service_bus, event_hubs, key_vault, ...).\n- \"k8s\" (pod, deployment, statefulset, daemonset, job, cronjob, service, ingress, configmap, secret, hpa, ...).\n- \"saas\" for hosted third-parties (redis, postgresql, mysql, mongodb, kafka, stripe, twilio, auth0, github, cloudflare, ...).\n- \"generic\" primitive when nothing branded fits: service, database, cache, queue, user, external_system, storage, gateway, function, note.\n- \"generic\" FLOWCHART kinds for processes/flowcharts: process, decision, terminator, data, document, subprocess.\nedge.kind is one of: request, response, async_event, data_flow, dependency, network, generic.\n\nWORKED EXAMPLE — a user hitting an API in a VPC that talks to Postgres:\n{\n \"title\": \"Web API\",\n \"domain\": \"cloud_architecture\",\n \"graph\": {\n \"groups\": [{ \"id\": \"g_vpc\", \"label\": \"VPC\", \"type\": \"vpc\" }],\n \"nodes\": [\n { \"id\": \"n_user\", \"label\": \"User\", \"kind\": { \"catalog\": \"generic\", \"type\": \"user\" } },\n { \"id\": \"n_api\", \"label\": \"API\", \"kind\": { \"catalog\": \"aws\", \"type\": \"api_gateway\" }, \"parentId\": \"g_vpc\" },\n { \"id\": \"n_db\", \"label\": \"Postgres\", \"kind\": { \"catalog\": \"aws\", \"type\": \"rds\" }, \"parentId\": \"g_vpc\" }\n ],\n \"edges\": [\n { \"id\": \"e1\", \"source\": \"n_user\", \"target\": \"n_api\", \"kind\": \"request\" },\n { \"id\": \"e2\", \"source\": \"n_api\", \"target\": \"n_db\", \"kind\": \"data_flow\" }\n ]\n }\n}\n\nReturns { diagramId, url, svg, mermaid, version }. Give the user the url — opening it shows the same diagram on an editable canvas (anonymous; it's theirs to claim by signing in). To change the diagram afterwards, use get_diagram then edit_diagram.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "domain": { "description": "Optional domain hint (default: generic).", "enum": [ "cloud_architecture", "system_design", "sequence", "flow", "generic" ], "type": "string" }, "graph": { "additionalProperties": false, "properties": { "edges": { "description": "Directed connections between node ids.", "items": { "additionalProperties": false, "properties": { "directed": { "type": "boolean" }, "id": { "minLength": 1, "type": "string" }, "kind": { "enum": [ "request", "response", "async_event", "data_flow", "dependency", "network", "generic" ], "type": "string" }, "label": { "type": "string" }, "source": { "description": "id of the source node.", "minLength": 1, "type": "string" }, "target": { "description": "id of the target node.", "minLength": 1, "type": "string" } }, "required": [ "id", "source", "target", "kind" ], "type": "object" }, "type": "array" }, "groups": { "description": "Containers that nodes live in (VPCs, clusters, ...).", "items": { "additionalProperties": false, "properties": { "id": { "description": "Stable snake_case id you assign, e.g. g_vpc.", "minLength": 1, "type": "string" }, "label": { "type": "string" }, "parentId": { "description": "id of the parent group, for nested containers.", "minLength": 1, "type": "string" }, "style": { "additionalProperties": false, "properties": { "color": { "type": "string" }, "dashed": { "type": "boolean" } }, "type": "object" }, "type": { "enum": [ "vpc", "subnet", "availability_zone", "region", "cluster", "trust_boundary", "logical" ], "type": "string" } }, "required": [ "id", "label", "type" ], "type": "object" }, "type": "array" }, "nodes": { "description": "The nodes (services, databases, users, ...).", "items": { "additionalProperties": false, "properties": { "id": { "description": "Stable snake_case id you assign, e.g. n_api. Referenced by edges.", "minLength": 1, "type": "string" }, "kind": { "additionalProperties": false, "properties": { "catalog": { "enum": [ "aws", "gcp", "azure", "k8s", "saas", "generic" ], "type": "string" }, "type": { "description": "Catalog-specific type, e.g. api_gateway, rds, redis, service.", "minLength": 1, "type": "string" } }, "required": [ "catalog", "type" ], "type": "object" }, "label": { "description": "Human label shown on the node, e.g. 'API Gateway'.", "type": "string" }, "parentId": { "description": "id of the group this node lives in (a VPC, cluster, ...).", "minLength": 1, "type": "string" } }, "required": [ "id", "label", "kind" ], "type": "object" }, "type": "array" } }, "type": "object" }, "title": { "description": "A short title for the diagram.", "minLength": 1, "type": "string" } }, "required": [ "title", "graph" ], "type": "object" }, "name": "create_diagram", "outputSchema": null }, { "description": "Apply a list of operations to an EXISTING diagram. The ops re-use this tool's op vocabulary; you author them, we validate + apply + re-layout + re-render.\n\nALWAYS call get_diagram(diagramId) first: it returns the current ids and the `version`. Pass that version as `baseVersion`. If the diagram changed since you fetched it, you get a STALE_VERSION error telling you the current version — refetch with get_diagram, recompute your ops, and retry.\n\nThe operations (each element of `ops`):\n- add_node { op, node:{ id, label, kind, parentId? } }\n- remove_node { op, id } (also drops edges touching the node)\n- update_node { op, id, patch:{ label?, kind?, parentId?, metadata? } }\n- add_edge { op, edge:{ id, source, target, kind, label?, directed? } }\n- remove_edge { op, id }\n- update_edge { op, id, patch:{ source?, target?, label?, kind?, directed? } }\n- add_group { op, group:{ id, label, type, parentId? } }\n- remove_group{ op, id }\n- move_to_group { op, nodeId, groupId } (groupId null un-nests the node)\n- set_layout { op, patch:{ direction?, spacing? } }\n- insert_between { op, newNode:{ id, label, kind, parentId? }, sourceId, targetId, inKind?, outKind? }\n\ninsert_between IS THE KEY OP for \"add X between A and B\" requests. It splices newNode onto the existing A→B edge: removes that edge, adds the node, and wires A→newNode→B so the connection re-routes through it automatically.\n\nWORKED EXAMPLE — \"add a Redis cache between the API and the DB\" on the diagram above:\n1) get_diagram(diagramId) → shows nodes n_api, n_db and version 1.\n2) edit_diagram({ diagramId, baseVersion: 1, ops: [\n { \"op\": \"insert_between\", \"sourceId\": \"n_api\", \"targetId\": \"n_db\",\n \"newNode\": { \"id\": \"n_redis\", \"label\": \"Redis\", \"kind\": { \"catalog\": \"saas\", \"type\": \"redis\" }, \"parentId\": \"g_vpc\" },\n \"inKind\": \"request\", \"outKind\": \"data_flow\" }\n ] })\nThe API→DB edge is gone and now flows API→Redis→DB. Never send x/y/position — geometry is computed for you.\n\nNode kinds: catalog ∈ {aws, gcp, azure, k8s, saas, generic} with rich per-catalog types (e.g. aws:lambda, gcp:bigquery, azure:cosmos_db, k8s:deployment, saas:kafka), plus generic flowchart kinds (process, decision, terminator, data, document, subprocess).\n\nReturns { url, svg, mermaid, appliedOps, version }.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "baseVersion": { "description": "The version you are editing against — get it from get_diagram. Stale → STALE_VERSION.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "diagramId": { "description": "The diagram to edit (from create_diagram or get_diagram).", "minLength": 1, "type": "string" }, "ops": { "items": { "oneOf": [ { "additionalProperties": false, "properties": { "node": { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "kind": { "additionalProperties": false, "properties": { "catalog": { "enum": [ "aws", "gcp", "azure", "k8s", "saas", "generic" ], "type": "string" }, "type": { "maxLength": 512, "minLength": 1, "type": "string" } }, "required": [ "catalog", "type" ], "type": "object" }, "label": { "maxLength": 512, "type": "string" }, "metadata": { "additionalProperties": {}, "propertyNames": { "maxLength": 256, "type": "string" }, "type": "object" }, "parentId": { "minLength": 1, "type": "string" }, "style": { "additionalProperties": false, "properties": { "bold": { "type": "boolean" }, "border": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "fill": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "textSize": { "enum": [ "s", "m", "l" ], "type": "string" } }, "type": "object" } }, "required": [ "id", "label", "kind" ], "type": "object" }, "op": { "const": "add_node", "type": "string" } }, "required": [ "op", "node" ], "type": "object" }, { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "op": { "const": "remove_node", "type": "string" } }, "required": [ "op", "id" ], "type": "object" }, { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "op": { "const": "update_node", "type": "string" }, "patch": { "additionalProperties": false, "properties": { "kind": { "additionalProperties": false, "properties": { "catalog": { "enum": [ "aws", "gcp", "azure", "k8s", "saas", "generic" ], "type": "string" }, "type": { "maxLength": 512, "minLength": 1, "type": "string" } }, "required": [ "catalog", "type" ], "type": "object" }, "label": { "maxLength": 512, "type": "string" }, "metadata": { "additionalProperties": {}, "propertyNames": { "maxLength": 256, "type": "string" }, "type": "object" }, "parentId": { "minLength": 1, "type": "string" }, "style": { "additionalProperties": false, "properties": { "bold": { "type": "boolean" }, "border": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "fill": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "textSize": { "enum": [ "s", "m", "l" ], "type": "string" } }, "type": "object" } }, "type": "object" } }, "required": [ "op", "id", "patch" ], "type": "object" }, { "additionalProperties": false, "properties": { "edge": { "additionalProperties": false, "properties": { "directed": { "type": "boolean" }, "id": { "minLength": 1, "type": "string" }, "kind": { "enum": [ "request", "response", "async_event", "data_flow", "dependency", "network", "generic" ], "type": "string" }, "label": { "maxLength": 512, "type": "string" }, "source": { "minLength": 1, "type": "string" }, "style": { "additionalProperties": false, "properties": { "bold": { "type": "boolean" }, "color": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "textSize": { "enum": [ "s", "m", "l" ], "type": "string" }, "width": { "enum": [ "thin", "normal", "thick" ], "type": "string" } }, "type": "object" }, "target": { "minLength": 1, "type": "string" } }, "required": [ "id", "source", "target", "kind" ], "type": "object" }, "op": { "const": "add_edge", "type": "string" } }, "required": [ "op", "edge" ], "type": "object" }, { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "op": { "const": "remove_edge", "type": "string" } }, "required": [ "op", "id" ], "type": "object" }, { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "op": { "const": "update_edge", "type": "string" }, "patch": { "additionalProperties": false, "properties": { "directed": { "type": "boolean" }, "kind": { "enum": [ "request", "response", "async_event", "data_flow", "dependency", "network", "generic" ], "type": "string" }, "label": { "maxLength": 512, "type": "string" }, "source": { "minLength": 1, "type": "string" }, "style": { "additionalProperties": false, "properties": { "bold": { "type": "boolean" }, "color": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "textSize": { "enum": [ "s", "m", "l" ], "type": "string" }, "width": { "enum": [ "thin", "normal", "thick" ], "type": "string" } }, "type": "object" }, "target": { "minLength": 1, "type": "string" } }, "type": "object" } }, "required": [ "op", "id", "patch" ], "type": "object" }, { "additionalProperties": false, "properties": { "group": { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "label": { "maxLength": 512, "type": "string" }, "parentId": { "minLength": 1, "type": "string" }, "style": { "additionalProperties": false, "properties": { "color": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "dashed": { "type": "boolean" } }, "type": "object" }, "type": { "enum": [ "vpc", "subnet", "availability_zone", "region", "cluster", "trust_boundary", "logical" ], "type": "string" } }, "required": [ "id", "label", "type" ], "type": "object" }, "op": { "const": "add_group", "type": "string" } }, "required": [ "op", "group" ], "type": "object" }, { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "op": { "const": "remove_group", "type": "string" } }, "required": [ "op", "id" ], "type": "object" }, { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "op": { "const": "update_group", "type": "string" }, "patch": { "additionalProperties": false, "properties": { "label": { "maxLength": 512, "type": "string" }, "style": { "additionalProperties": false, "properties": { "color": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "dashed": { "type": "boolean" } }, "type": "object" }, "type": { "enum": [ "vpc", "subnet", "availability_zone", "region", "cluster", "trust_boundary", "logical" ], "type": "string" } }, "type": "object" } }, "required": [ "op", "id", "patch" ], "type": "object" }, { "additionalProperties": false, "properties": { "groupId": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ] }, "nodeId": { "minLength": 1, "type": "string" }, "op": { "const": "move_to_group", "type": "string" } }, "required": [ "op", "nodeId", "groupId" ], "type": "object" }, { "additionalProperties": false, "properties": { "op": { "const": "set_layout", "type": "string" }, "patch": { "additionalProperties": false, "properties": { "direction": { "enum": [ "TB", "LR", "BT", "RL" ], "type": "string" }, "engine": { "enum": [ "elk", "dagre" ], "type": "string" }, "spacing": { "additionalProperties": false, "properties": { "layer": { "maximum": 10000, "minimum": 0, "type": "number" }, "node": { "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" } }, "type": "object" } }, "required": [ "op", "patch" ], "type": "object" }, { "additionalProperties": false, "properties": { "op": { "const": "set_theme", "type": "string" }, "patch": { "additionalProperties": false, "properties": { "background": { "enum": [ "dots", "grid", "plain" ], "type": "string" }, "mode": { "enum": [ "light", "dark", "blueprint" ], "type": "string" }, "styleMode": { "enum": [ "plain", "shadow" ], "type": "string" } }, "type": "object" } }, "required": [ "op", "patch" ], "type": "object" }, { "additionalProperties": false, "properties": { "op": { "const": "set_title", "type": "string" }, "title": { "maxLength": 256, "minLength": 1, "type": "string" } }, "required": [ "op", "title" ], "type": "object" }, { "additionalProperties": false, "properties": { "inKind": { "enum": [ "request", "response", "async_event", "data_flow", "dependency", "network", "generic" ], "type": "string" }, "newNode": { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "kind": { "additionalProperties": false, "properties": { "catalog": { "enum": [ "aws", "gcp", "azure", "k8s", "saas", "generic" ], "type": "string" }, "type": { "maxLength": 512, "minLength": 1, "type": "string" } }, "required": [ "catalog", "type" ], "type": "object" }, "label": { "maxLength": 512, "type": "string" }, "metadata": { "additionalProperties": {}, "propertyNames": { "maxLength": 256, "type": "string" }, "type": "object" }, "parentId": { "minLength": 1, "type": "string" }, "style": { "additionalProperties": false, "properties": { "bold": { "type": "boolean" }, "border": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "fill": { "enum": [ "gray", "slate", "blue", "teal", "green", "amber", "orange", "red", "pink", "violet" ], "type": "string" }, "textSize": { "enum": [ "s", "m", "l" ], "type": "string" } }, "type": "object" } }, "required": [ "id", "label", "kind" ], "type": "object" }, "op": { "const": "insert_between", "type": "string" }, "outKind": { "enum": [ "request", "response", "async_event", "data_flow", "dependency", "network", "generic" ], "type": "string" }, "sourceId": { "minLength": 1, "type": "string" }, "targetId": { "minLength": 1, "type": "string" } }, "required": [ "op", "newNode", "sourceId", "targetId" ], "type": "object" } ] }, "type": "array" } }, "required": [ "diagramId", "baseVersion", "ops" ], "type": "object" }, "name": "edit_diagram", "outputSchema": null }, { "description": "Fetch a diagram's raw IR (nodes, groups, edges with their real ids) and its current `version`. Call this before edit_diagram so your ops reference ids that actually exist and you pass the correct baseVersion. Returns { diagram, version }.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "diagramId": { "description": "The diagram to fetch.", "minLength": 1, "type": "string" } }, "required": [ "diagramId" ], "type": "object" }, "name": "get_diagram", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:1c6d297ac0b05f041dc351c96f1252b3a6c447799a5270504a272627da39d727 | sha256sum