Server definition
- Hash
- sha256:b27ce5478f7438fe79dcc91297e29298ed0a3900e4861b39456922a0b73263d3
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "PlantUML diagram-as-code service. Workflow: list_diagram_types / get_syntax_reference to ground the syntax -> validate_diagram (fix using error.line/hint) -> render_diagram. Tokens use PlantUML's own 64-character alphabet (\"0-9 A-Z a-z - _\") over raw DEFLATE. This is NOT base64 - never encode or decode tokens with a base64 codec; use encode_source / decode_token. Discovery: https://uml.singsk.com/api/ ; OpenAPI: https://uml.singsk.com/api/openapi.json",
"tools": [
{
"description": "Recover the PlantUML source from a token or from any PlantUML render URL (the token is extracted automatically). Tokens use PlantUML's own 64-character alphabet (\"0-9 A-Z a-z - _\") over raw DEFLATE. This is NOT base64 - never encode or decode tokens with a base64 codec; use encode_source / decode_token.",
"inputSchema": {
"properties": {
"encoded": {
"description": "Token or full render URL",
"type": "string"
}
},
"required": [
"encoded"
],
"type": "object"
},
"name": "decode_token",
"outputSchema": null
},
{
"description": "Encode PlantUML source into a URL token and ready-to-use share/render URLs (svg + png). The result carries url_ok: GET URLs only work while the token is at most 16000 characters; when url_ok is false do not share the URLs - render with render_diagram instead (it uses the POST API, no size limit up to 5 MB). Tokens use PlantUML's own 64-character alphabet (\"0-9 A-Z a-z - _\") over raw DEFLATE. This is NOT base64 - never encode or decode tokens with a base64 codec; use encode_source / decode_token.",
"inputSchema": {
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "encode_source",
"outputSchema": null
},
{
"description": "Get the syntax reference entry for one diagram type: description, a render-verified example, and the help page URL. Use it to ground diagram generation.",
"inputSchema": {
"properties": {
"type": {
"description": "Type id or label, e.g. \"sequence\", \"class\", \"mindmap\", \"gantt\", \"json\"",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"name": "get_syntax_reference",
"outputSchema": null
},
{
"description": "List the 22 supported diagram/reference types with a one-line description and the local syntax reference URL for each. Use it to pick the right @start directive.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_diagram_types",
"outputSchema": null
},
{
"description": "Render PlantUML source text to a diagram image. Returns a PNG image block (format \"png\") or the SVG markup as text (format \"svg\", default), plus the shareable render URL. The source is validated first: on a syntax error the result is an error object with line, column, hint and a help link so you can fix the diagram and retry.",
"inputSchema": {
"properties": {
"format": {
"default": "svg",
"enum": [
"svg",
"png"
],
"type": "string"
},
"text": {
"description": "PlantUML source including @startuml ... @enduml (or the matching @start/@end pair)",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "render_diagram",
"outputSchema": null
},
{
"description": "Check PlantUML source without rendering. Returns {ok:true, diagram_type} or {ok:false, error:{code, message, line, column, source_line, hint, diagram_type_detected, help}}. Cheap - call it in a generate -> validate -> fix loop before rendering.",
"inputSchema": {
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "validate_diagram",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:b27ce5478f7438fe79dcc91297e29298ed0a3900e4861b39456922a0b73263d3 | sha256sum