nuzur mcp

nuzur's MCP server lets AI agents propose database schema and data changes as reviewable change requests — no direct write access.

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

Что умеет

  • AddEntity: Add a new entity (table) to a draft project version, optionally with initial fields and indexes. Reference it by identifier; the server mints all UUIDs. Returns { version, entity } — the cr
  • AddEnum: Add a new enum to a draft project version. Provide the identifier and staticValues (convention: first value is 'invalid' with no numericValue, then real values 1,2,3...). The server mints the
  • AddField: Add a field to an entity in a draft project version. Provide the entity identifier and a compact field spec (identifier, type code, optional required/key/unique/description/typeConfig); the

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

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

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

nuzur's MCP server lets AI agents propose database schema and data changes as reviewable change requests — no direct write access. Connect Claude Code, Cursor, or any MCP client to model, query, and modify MySQL/PostgreSQL databases with human-in-the-loop approval.

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

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

addEntityAdd a new entity (table) to a draft project version, optionally with initial fields and indexes. Reference it by identifier; the server mints all UUIDs. Returns { version, entity } — the created, server-normalized entity (diff it against your input to see what the server generated/coerced). type: 1=standalone (default), 2=dependent/embedded.
addEnumAdd a new enum to a draft project version. Provide the identifier and staticValues (convention: first value is 'invalid' with no numericValue, then real values 1,2,3...). The server mints the enum UUID. Returns { version, enum } — read the enum's uuid from the echo to reference it from an enum-typed field (type 22, typeConfig {"enum":{"enum_uuid":"..."}}).
addFieldAdd a field to an entity in a draft project version. Provide the entity identifier and a compact field spec (identifier, type code, optional required/key/unique/description/typeConfig); the server mints the field UUID. Returns { version, entity } — the affected, server-normalized entity. See nuzur://reference/schema-modeling for field type codes.
addIndexAdd an index to an entity. Provide the entity identifier and an index spec (identifier, type: 1=INDEX/2=PRIMARY/3=UNIQUE/4=FULLTEXT, and the fields by identifier). The server resolves field identifiers to UUIDs. Returns { version, entity } — the affected, server-normalized entity.
addRelationshipAdd a foreign-key relationship. Provide the child (fromEntity/fromField holding the FK) and parent (toEntity/toField holding the PK) by identifier; the server resolves UUIDs and sets fields_generated on the from side. cardinality: 1=one-to-one (default), 2=one-to-many. Returns { version, relationship, affected } — the persisted relationship (with resolved from/to endpoint uuids) plus a note that the child entity may have a generated FK field (getEntity to inspect).
createChangeRequestCreate a new change request (draft) for a project version, including the list of data changes. Use top-level changeType 1 for project DATA changes (2 is for schema/version). Target the PUBLISHED version (review_status 5), never a draft. Per-item changeType is 1=update / 2=create / 3=delete; each dataChanges item takes only changeType plus one of create/update/delete (no uuid/order). All field values are strings; enums are integer-strings and JSON fields are JSON strings. Place parent records before the children that reference them. See nuzur://reference/data-change-requests for payload shapes.
createProjectVersionDraftCreate a new project version draft based on an existing version or starting empty. Drafts allow project_version (schema) changes to be made and set created_by_uuid to you. Passing basedOnProjectVersionUuid copies the entire schema from that version — this is also the recovery trick for a draft that became invisible.
deleteEntityDelete an entity from a draft project version by identifier. Irreversible within the draft. Returns { version, deleted, affected } — affected lists any relationships left orphaned (still referencing the deleted entity) so you can clean them up.
deleteEnumDelete an enum from a draft project version by identifier. Returns { version, deleted, affected } — affected lists enum-typed fields that still reference the deleted enum so you can update or remove them.
deleteFieldDelete a field from an entity by identifier. Returns { version, entity } — the affected entity with the field removed.
deleteIndexDelete an index from an entity by identifier. Returns { version, entity } — the affected entity with the index removed.
deleteRelationshipDelete a relationship from a draft project version by identifier. Returns { version, deleted }.
discardProjectVersionDraftDiscard/delete a draft project version that has not been approved or published. This is irreversible.
getChangeRequestFetch the full details of a change request by UUID, including its status, data changes, and review status.
getEntityFetch a single entity (its fields, type_config/indexes) from a project version by identifier, in lean form. Lets you inspect one table without pulling the whole model.
getEnumFetch a single enum (its static values) from a project version by identifier. Returns { version, enum }.
getProjectVersionFetch the full project version (schema, entities, fields, enums) for a given project version UUID. Prefer getProjectVersionLean — the full form emits every type_config variant on every field and is much larger.
getProjectVersionLeanFetch a project version (schema, entities, fields, enums, relationships) in a compact form: each field's type_config is collapsed to the single sub-key matching its type, and audit/empty noise is stripped. Much smaller than getProjectVersion (which emits every type_config variant on every field) and fits inline. Prefer this for reading or verifying a schema. For decoding field type integer codes, read the nuzur://reference/schema-modeling resource.
getTeamFetch full details for a specific team, including its connections. Use this after listTeamsForUser to get connection UUIDs needed for queryProjectData.
listLocalAgentsList all local agents registered under the authenticated user's account. Returns agent metadata (UUID, status, machine name, OS, CLI version) and configured connections.
listProjectVersionsList all versions of a given project. Returns version metadata (UUID, identifier, review status, created_by_uuid, version) without the full schema payload. Use it to pick a version, to read the current `version` immediately before calling updateProjectVersion (optimistic concurrency), and to confirm a draft is still visible to you.
listProjectsForUserList all Nuzur projects accessible to the authenticated user, optionally filtered by team.
listTeamsForUserList all teams the authenticated user belongs to. Returns team UUID, name, and status. Use the team UUID when calling queryProjectData or other tools that require a team context.
queryProjectDataExecute a raw SQL SELECT query against a project's database via the Nuzur connection manager (SELECT only — mutating statements are rejected). Returns results as JSON. Requires a connection UUID and team UUID (remote) or local-agent UUIDs from the project's configured connections. Target the published version; use this to resolve foreign keys and de-duplicate before building a change request.
searchProjectsByNameSearch for Nuzur projects by name (case-insensitive substring match). Returns matching projects for the authenticated user.
sendProjectVersionForReviewSubmit a draft project version for review by a reviewer, creating a review-ready project version change request. Do this only once the schema is complete and verified.
submitChangeRequestForReviewSubmit a draft change request for review by setting its status to IN_REVIEW. Call this once the user is satisfied with the data changes and wants a Nuzur reviewer to approve them. Once submitted the CR is immutable — a mistake found after submission requires a brand-new CR.
updateChangeRequestUpdate the title, description, or data changes of a DRAFT change request (only DRAFT CRs are editable). Only the fields you provide are updated; omitted fields are left unchanged. Providing dataChanges REPLACES the entire existing list, not a partial merge.
updateEnumUpdate an enum: rename it and/or replace its staticValues (providing staticValues REPLACES the whole list — include the values you want to keep). Returns { version, enum } — the server-normalized enum.
updateFieldUpdate attributes of an existing field (description, required, key, unique, deprecated, type/typeConfig, or rename). Only the attributes you supply change; everything else is preserved. Returns { version, entity } — the affected, server-normalized entity.
updateProjectVersionReplace an entire draft project version. Prefer the granular tools (addEntity, addField, updateField, deleteField, addIndex, deleteIndex, addRelationship, deleteEntity/deleteRelationship) for ordinary edits — they change one piece server-side without you re-sending (or re-transcribing) the whole ~30KB payload. Use this only for a wholesale replace. It is a FULL REPLACE, not a merge — send every entity, enum, and relationship or you drop what you omit. Include the version-level created_by_uuid (= your user uuid) and the current `version` value (read it via listProjectVersions immediately before calling, since it auto-advances). A getProjectVersionLean result round-trips directly (scalar type_configs come back as "", the shape this tool expects). Returns the freshly re-fetched persisted version (not a stale snapshot). See nuzur://reference/schema-modeling for object shapes.
uploadFieldFileUpload a file (image, video, audio, or generic file) to an entity field whose type is file/image/video/audio and whose storage type is OBJECT_STORE. The product service uses the field configuration to determine the object store credentials and path. Provide the file content encoded as base64. Returns a signed URL for the uploaded object.
withdrawProjectVersionFromReviewWithdraw a project version from active review, putting it back into draft status.