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_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 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_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. |
| upsert_project_member | Add or update one project member by email. Roles: owner, editor, viewer. |
| use_template | Copy 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_documents | List 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_document | Delete a document from a project. |
| list_projects | List 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_document | Create 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_image | Put 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_project | Update a project's name and/or sort order. |
| rename_org | Rename an organization (the personal org is frozen). |
| list_diagrams | Summarise 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_image | Render 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_listing | Publish 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_project | Delete a project along with its documents and board. |
| list_drawings | Summarize 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_template | Get 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_shape | Draw 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_templates | Search 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_board | Merge 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. |
| whoami | Return the signed-in user and their profile. |
| get_board | Get 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_listing | Edit 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_org | Create a team organization and seed its first project. Returns { orgId, projectId }. |
| delete_org | Delete an organization (owner only). Cascades to its projects. |
| upsert_org_member | Add or update one organization member by email. Roles: owner, admin, member. |
| list_orgs | List the organizations the signed-in user belongs to (personal org first). |
| unpublish_listing | Take 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_listings | List 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_project | Create a project in an organization (org staff only). |
| list_tables | List 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_member | Remove one member from a project by email. |
| reorder_documents | Set the sort order of documents in one atomic transaction. |
| remove_org_member | Remove one member from an organization by email. |
| get_org | Get one organization by id, including its members, plan, and billing summary. |
| update_document | Update a document's name and/or content. Omit a field to leave it unchanged. |
| set_table_color | Set 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. |