db-planner
db-planner — схемы БД, диаграммы Mermaid и доски проектов из ассистента
Что умеет
- Просматривать и создавать документы и диаграммы проекта
- Рисовать и удалять элементы на доске
- Управлять участниками и организациями проекта
- Искать и применять шаблоны из каталога
- Публиковать проекты в листинг шаблонов
Какие данные видит
Доступ к проектам разделён на права чтения и записи по OAuth; ассистент видит только то, что разрешено выданными правами.
Нужен ли аккаунт
Не нужен: сервер работает без входа
db-planner даёт доступ к проектам платформы для проектирования баз данных: схемы в DBML/SQL, диаграммы Mermaid и рисунки на доске. Чтение и запись разделены на отдельные OAuth-права, которые сервер проверяет на своей стороне. Через ассистента можно смотреть и редактировать документы, шаблоны и участников проекта.
Как подключить
Как подключить db-planner к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://db-planner--dbplanner.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить db-planner к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://db-planner--dbplanner.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить db-planner к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://db-planner--dbplanner.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (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. |