_ registry / mcp streamable-http · checked 3h ago

sessionplan

https://sessionplan.de

Registry code: 6d573635eb96fded

api record

Use create_session_link for a new Sessionplan. Whenever the user provides an existing Sessionplan URL, URL hash, or v2 snapshot code, call decode_session_link before reading, summarizing, or changing it. To change a plan, modify the complete decoded session and call create_session_link. Snapshot links are immutable: return structuredContent.link exactly as received; never invent, reconstruct, normalize, shorten, decode, or edit the URL.

endpoint
https://sessionplan.de/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is sessionplan live?
Yes — it answered the hub's last check (checked 3h ago). It answered 98% of checks over the last 30 days.
Is sessionplan free to use?
Yes — the hub reached it with no key and no payment.
What tools does sessionplan have?
2 tools: create_session_link, decode_session_link.
Is sessionplan safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
98.4%

90 days 98.4%· all time 98.4%

latency
420ms

last good check

priced tools
0

of 2 tools

_ answered our checks, 90 days 319 checks · signed record
  • down → live
  • degraded → down· fetch failed
  • live → degraded· fetch failed
  • down → live
  • degraded → live
_ what it is for
used for
  • create a timed session plan for a workshop
  • decode a session plan link
takes → gives
data, text → web pages, data
tools
1 reads1 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run

_ what it can do 2 tools
2 never probed 0 of 2 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • create_session_link changes data unknown never probed

    Use this when the user wants a new Sessionplan for a workshop, training, meeting, event, or other timed session, or a revised link after decoding an existing Sessionplan. Pass a complete session object matching inputSchema; partial updates and patches are not accepted. The returned structuredContent.link is an opaque snapshot URL and must be presented verbatim.

    mcp-tool

    {
      "type": "object",
      "$defs": {
        "day": {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1,
              "description": "Unique day ID."
            },
            "date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date",
              "pattern": "^(?!0000)[0-9]{4}-[0-9]{2}-[0-9]{2}$(?![\\s\\S])",
              "description": "Optional calendar date of this day (YYYY-MM-DD). Omit in days[0]."
            },
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/item"
              },
              "maxItems": 500,
              "description": "Ordered top-level blocks, groups or breakouts of this day. Omit in days[0]."
            },
            "title": {
              "type": "string",
              "description": "Optional day label, e.g. 'Kick-off'. Defaults to 'Day n' when omitted."
            },
            "startTime": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$(?![\\s\\S])",
              "description": "Optional local start time of this day (HH:MM). Omit in days[0]."
            },
            "description": {
              "type": "string",
              "description": "Optional description or facilitator notes for this day. Omit in days[0]; the first day's description stays in workshop.description."
            },
            "durationLocked": {
              "type": "boolean",
              "description": "Whether this day's target duration is locked. Omit in days[0]."
            },
            "targetDuration": {
              "type": "number",
              "minimum": 0,
              "description": "Optional target duration of this day in minutes. Omit in days[0]."
            }
          },
          "additionalProperties": false
        },
        "item": {
          "type": "object",
          "allOf": [
            {
              "if": {
                "properties": {
                  "type": {
                    "const": "block"
                  }
                }
              },
              "then": {
                "not": {
                  "required": [
                    "children"
                  ]
                }
              }
            },
            {
              "if": {
                "properties": {
                  "type": {
                    "const": "group"
                  }
                }
              },
              "then": {
                "required": [
                  "children"
                ],
                "properties": {
                  "children": {
                    "items": {
                      "properties": {
                        "type": {
                          "enum": [
                            "block",
                            "breakout"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "type": {
                    "const": "breakout"
                  }
                }
              },
              "then": {
                "required": [
                  "children"
                ],
                "properties": {
                  "children": {
                    "items": {
                      "properties": {
                        "type": {
                          "const": "block"
                        }
                      }
                    }
                  }
                }
              }
            }
          ],
          "required": [
            "id",
            "type",
            "blockTypeId",
            "title",
            "duration",
            "notes",
            "material"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1,
              "description": "Non-empty stable identifier, unique across the complete item tree."
            },
            "type": {
              "enum": [
                "block",
                "group",
                "breakout"
              ],
              "type": "string",
              "description": "Item kind: block, sequential group, or parallel breakout."
            },
            "lanes": {
              "type": "integer",
              "maximum": 10,
              "minimum": 1,
              "description": "Number of breakout lanes, from 1 to 10 as supported by the editor. Defaults to 2 when omitted."
            },
            "notes": {
              "type": "string",
              "description": "Facilitator notes; supports *bold*, _italic_ and [label](URL)."
            },
            "title": {
              "type": "string",
              "description": "Agenda item title."
            },
            "children": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/item"
              },
              "description": "Groups contain blocks or breakouts; breakouts contain blocks. Blocks cannot have children."
            },
            "duration": {
              "type": "number",
              "minimum": 0,
              "description": "Explicit section duration in minutes. Groups normally use the sum of children; breakouts use the longest lane. The encoder does not recalculate durations."
            },
            "material": {
              "type": "string",
              "description": "Materials, links or resources."
            },
            "parallel": {
              "type": "boolean",
              "description": "Whether a breakout runs in parallel. Use true for breakouts."
            },
            "laneIndex": {
              "type": "integer",
              "minimum": 0,
              "description": "Zero-based lane index within the parent breakout; defaults to 0. Must be less than the parent lane count."
            },
            "personIds": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "IDs of declared persons assigned to this item."
            },
            "blockTypeId": {
              "type": [
                "string",
                "null"
              ],
              "description": "ID of a declared block type, or null."
            },
            "lanePersons": {
              "type": "object",
              "description": "Map of zero-based lane indices to arrays of declared person IDs. Keep this as a JSON object, including when empty.",
              "propertyNames": {
                "pattern": "^(0|[1-9][0-9]*)$(?![\\s\\S])"
              },
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "durationLocked": {
              "type": "boolean",
              "description": "Preserve the explicit container duration when the editor recalculates the plan."
            },
            "fixedStartTime": {
              "type": "string",
              "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$(?![\\s\\S])",
              "description": "Optional local fixed start time (HH:MM, 00:00–23:59)."
            },
            "sameInAllBreakouts": {
              "type": "boolean",
              "description": "Show lane-zero content in every lane; child laneIndex must then be zero or omitted."
            }
          },
          "additionalProperties": false
        },
        "person": {
          "type": "object",
          "required": [
            "id",
            "name",
            "color"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1,
              "description": "Non-empty identifier, unique within this collection."
            },
            "name": {
              "type": "string",
              "description": "Display name."
            },
            "color": {
              "type": "string",
              "description": "CSS color, commonly a hexadecimal color such as #2C8DFE."
            }
          },
          "additionalProperties": false
        },
        "workshop": {
          "type": "object",
          "required": [
            "title",
            "description"
          ],
          "properties": {
            "date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date",
              "pattern": "^(?!0000)[0-9]{4}-[0-9]{2}-[0-9]{2}$(?![\\s\\S])",
              "description": "Optional calendar date (YYYY-MM-DD). Use null when no date is planned."
            },
            "title": {
              "type": "string",
              "description": "Session title."
            },
            "startTime": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$(?![\\s\\S])",
              "description": "Optional local start time (HH:MM, 00:00–23:59). Use null when no start time is planned."
            },
            "description": {
              "type": "string",
              "description": "Session description or facilitator notes."
            },
            "lastModified": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?!0000)[0-9]{4}-[0-9]{2}-[0-9]{2}[Tt]([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?([Zz]|[+-]([01][0-9]|2[0-3]):[0-5][0-9])$(?![\\s\\S])",
              "description": "Optional timestamp with T separator, seconds 00–59 and a time zone (Z or ±HH:MM), e.g. 2026-09-15T09:00:00.000Z."
            },
            "durationLocked": {
              "type": "boolean",
              "description": "Whether the target duration is locked."
            },
            "targetDuration": {
              "type": "number",
              "minimum": 0,
              "description": "Optional target duration in minutes, greater than or equal to zero."
            }
          },
          "additionalProperties": false
        },
        "blockType": {
          "type": "object",
          "required": [
            "id",
            "name",
            "color"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1,
              "description": "Non-empty identifier, unique within this collection."
            },
            "name": {
              "type": "string",
              "description": "Display name."
            },
            "color": {
              "type": "string",
              "description": "CSS color, commonly a hexadecimal color such as #2C8DFE."
            }
          },
          "additionalProperties": false
        }
      },
      "required": [
        "session"
      ],
      "properties": {
        "session": {
          "type": "object",
          "title": "Sessionplan document",
          "required": [
            "version",
            "workshop",
            "blockTypes",
            "persons",
            "items"
          ],
          "properties": {
            "days": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/day"
              },
              "maxItems": 14,
              "description": "Optional, only for plans spanning several days. Omit it for single-day plans. days[0] describes the first day and contains only id and optional title; the first day's items, description, date, startTime and target stay in 'items' and 'workshop'. Every further entry is a complete day with its own items. Item IDs must be unique across all days, and all days together may contain at most 500 items."
            },
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/item"
              },
              "maxItems": 500,
              "description": "Ordered top-level blocks, groups or breakouts. The complete tree may contain at most 500 items."
            },
            "persons": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/person"
              },
              "description": "Declared facilitators or participants referenced by personIds and lanePersons."
            },
            "version": {
              "type": "string",
              "description": "Document format version, currently 1.0; distinct from the v2 link codec and MCP protocol version."
            },
            "workshop": {
              "$ref": "#/$defs/workshop",
              "description": "Workshop metadata."
            },
            "blockTypes": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/blockType"
              },
              "description": "Declared block categories referenced by blockTypeId."
            }
          },
          "description": "Canonical format for newly generated Sessionplan documents. Include all required fields and only documented properties. Use declared category/person IDs and the supported item hierarchy.",
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
    arguments 397 lines
  • decode_session_link reads unknown 13h ago

    Use this whenever the user provides a Sessionplan URL, URL hash, or v2 snapshot code and wants it read, summarized, reviewed, validated, or changed. The validated structuredContent.session is the source of truth. For changes, modify the complete decoded session and pass it to create_session_link; the existing snapshot is not modified in place.

    mcp-tool

    {
      "type": "object",
      "required": [
        "link"
      ],
      "properties": {
        "link": {
          "type": "string",
          "minLength": 1,
          "description": "Unmodified Sessionplan URL, URL hash, or v2 snapshot code supplied by the user."
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 6d573635eb96fded.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/6d573635eb96fded/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/6d573635eb96fded/badge.svg)](https://brick.blue/agent/6d573635eb96fded?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
60%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.