db-planner

Read and edit DB Planner database schemas (DBML/SQL), Mermaid diagrams and board layouts.

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные

Что умеет

  • Get Public Profiles: Resolve public display names for a set of emails.
  • Draw: Draw one line drawing on a project's board and return its id. kind "ink" is a freehand marker stroke: points are a sampled path, up to 1000, and a single point renders as a dot. kind "arrow" is
  • Erase Drawings: Delete drawings from a project's board. Pass the stroke ids to remove, or set all to true to clear every drawing. Card positions, collapsed flags and notes are untouched.

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

Read and edit DB Planner database schemas (DBML/SQL), Mermaid diagrams and board layouts. 38 tools. Read and write are separate OAuth scopes enforced server-side.

Список инструментов сервера (38)

Технические названия из tools/list. Нужны только разработчикам.

get_public_profilesResolve public display names for a set of emails.
drawDraw one line drawing on a project's board and return its id. kind "ink" is a freehand marker stroke: points are a sampled path, up to 1000, and a single point renders as a dot. kind "arrow" is an arrow: points are VERTICES, two for a straight arrow and more to bend it, with the head on the last segment, 2 to 50 of them. Points are board world coordinates, given either as [{"x":1,"y":2}, ...] or as a flat [1,2,3,4, ...] list, and are stored rounded to 2 decimals.
erase_drawingsDelete drawings from a project's board. Pass the stroke ids to remove, or set all to true to clear every drawing. Card positions, collapsed flags and notes are untouched.
upsert_project_memberAdd or update one project member by email. Roles: owner, editor, viewer.
use_templateCopy a published template into one of the user's organizations as a new project, with its documents and board. The copy is independent: later changes by the template's author do not reach it. Ask which organization to put it in rather than guessing; list_orgs has the ids.
list_documentsList a project's documents with their content, ordered. Each carries a kind: "dbml" for a database schema, "mermaid" for a diagram. Both render onto the same board.
delete_documentDelete a document from a project.
list_projectsList the projects in an organization that the signed-in user can see, each with its document count, members and the caller's effective role.
create_documentCreate a document in a project. A project holds database schemas (DBML or SQL) and diagrams (Mermaid) side by side, and both render onto the same board.
add_board_imagePut a picture on a project's board and return its image id. Supply EITHER data (base64-encoded PNG, JPEG, GIF or WebP) OR sourceUrl (an https URL the server downloads). The picture is stored as a blob and an image card is placed at x,y; it is sized from the image itself, capped at 640 units on its long edge. Move or resize it afterwards with update_board's images map.
update_projectUpdate a project's name and/or sort order.
rename_orgRename an organization (the personal org is frozen).
list_diagramsSummarise what a project contains by kind, without any document content: how many schemas and diagrams there are, and for each diagram its Mermaid type (classDiagram, flowchart, and so on). Call this before list_documents to decide what is worth reading.
get_board_imageRender a project's board as an image and return it: its tables, enums and relationships drawn at their saved positions, with sticky notes, drawings and pasted images. Use this to SEE the board - to check a layout you just wrote, or to find cards that overlap or sit far from what they relate to. Returns a PNG plus a one-line summary; pass format='svg' for the vector source as text. The image is a picture of the SCHEMA: diagram cards, groups and cross-links are NOT drawn, so an absent frame or connector here is not evidence the write failed - read get_board for those.
publish_listingPublish one of the user's projects to the public template marketplace, or re-publish the listing it already has. Takes a PROJECT id. Only the person who CREATED the project may publish it, so this refuses for an org admin who can otherwise edit it. Publishing makes the schema, and for a free template the live board, readable by anyone on the internet: confirm with the user before calling it. The listing is free; see the note about pricing in the server instructions.
delete_projectDelete a project along with its documents and board.
list_drawingsSummarize a project's drawings without their point lists: id, kind, color, width, point count and bounding box. Use this to find a stroke to erase; get_board carries the full geometry.
get_templateGet one published template by its slug: description, table names, the foreign-key graph and counts. A free template also carries the project id its board can be read with; a paid one never does, because the schema itself is what is being sold.
draw_shapeDraw one rectangle, diamond or ellipse on a project's board and return its id. points are exactly two OPPOSITE CORNERS of the shape's bounding box, [x1,y1,x2,y2] or two {x,y} objects, in board world coordinates. Optionally bind text inside it; the shape grows downward to fit long text. Free text without a shape, groups and links go through update_board.
browse_templatesSearch the public template marketplace. Returns published listings only, with counts, a category breakdown of the matches, and the full category vocabulary (the exact slugs the category filter and publish_listing accept). Use it to find a schema to start from before writing DBML by hand.
update_boardMerge a partial board delta. Provide only the ids you are changing. In every id-keyed family (positions, collapsed, drawings, images, groups, links) an omitted id is left unchanged and a null value deletes it. notes is stored whole when provided. For drawings prefer draw, draw_shape and erase_drawings, which mint ids and round for you.
whoamiReturn the signed-in user and their profile.
get_boardGet a project's board: card positions, collapsed flags, sticky notes, drawings (ink, arrows, rectangles, diamonds, ellipses and free text, with their full point lists), pasted images, GROUPS (labelled frames over any cards) and cross-LINKS (connectors between any two cards), plus the layout's updatedAt timestamp. This is the only way to see groups and links - the rendered image does not draw them.
update_listingEdit a published listing's text: title, summary, description, category, tags. Takes a LISTING id from list_my_listings, not a project id. The public web address is fixed at first publish and does not follow a title change, so existing links keep working. Every field is replaced by what is sent, so send the ones being kept as well as the ones being changed.
create_orgCreate a team organization and seed its first project. Returns { orgId, projectId }.
delete_orgDelete an organization (owner only). Cascades to its projects.
upsert_org_memberAdd or update one organization member by email. Roles: owner, admin, member.
list_orgsList the organizations the signed-in user belongs to (personal org first).
unpublish_listingTake one of the user's own templates off the marketplace and make its project private again. Copies somebody already made stay theirs. Re-publishing later reuses the same public address.
list_my_listingsList the templates the signed-in user has published, including drafts and anything an admin has taken down (with the reason). Carries the listing ids that update_listing and unpublish_listing take, and the project id each one was published from.
create_projectCreate a project in an organization (org staff only).
list_tablesList the tables a project's documents declare: card id, name, schema, the document each lives in, its header color and field count. The id matches the keys in get_board's positions map. Use this to find a table before recoloring it, or to see which document owns it.
remove_project_memberRemove one member from a project by email.
reorder_documentsSet the sort order of documents in one atomic transaction.
remove_org_memberRemove one member from an organization by email.
get_orgGet one organization by id, including its members, plan, and billing summary.
update_documentUpdate a document's name and/or content. Omit a field to leave it unchanged.
set_table_colorSet a table's header color, or pass no color to clear it. The color lives in the DBML (Table users [headercolor: #f6d55c]), so this edits the document that declares the table and every collaborator sees it. Use list_tables to find the table id. Pair it with get_board_image to see the result.
db-planner: подключить к Claude, ChatGPT, Cursor · Connectors.fun