본문으로 건너뛰기
제품 -> ERD가격문서블로그로그인EnglishERD 시작하기

MCP 연동

**Model Context Protocol(MCP)**은 AI 코딩 도구가 구조화된 tool로 외부 서비스를 호출하게 해 주는 공개 표준입니다. Ainecto는 workspace, document, ERD, flow, testcase, readme API를 단일 mcp__ainecto__ namespace의 102개 tool로 노출하므로 AI 어시스턴트가 추측 대신 실제 project data를 기준으로 작업할 수 있습니다.

하나의 MCP 연동으로 여러 AI 클라이언트에서 사용할 수 있습니다. 도구별 plugin을 따로 만들 필요가 없습니다.


MCP를 쓰는 이유

MCP가 없으면 AI 코딩 어시스턴트는 실제 스키마를 모릅니다. 매번 DDL을 붙여 넣거나, 컬럼명과 타입을 추측하게 두어야 합니다.

Ainecto와 MCP를 함께 쓰면 어시스턴트가 다음을 수행할 수 있습니다.

  • workspace 또는 project의 ERD, flow, readme, testcase document 목록 조회
  • ERD table, column, index, relationship, enum, group 읽기
  • 새 테이블, 컬럼, ref, enum, group 생성
  • 기존 구조 수정(컬럼 추가/이름 변경/삭제, FK 변경 등)
  • readme document 생성/append 및 testcase scenario, case, run 관리
  • 모든 document 변경에 대한 version history 스냅샷 생성

모든 write는 설명이 붙고 사용자 계정에 귀속되며, 사람이 편집한 것과 같은 audit log에 기록됩니다.


Endpoint

POST https://ainecto.com/mcp
  • Protocol: HTTP 위의 JSON-RPC 2.0(Streamable HTTP transport)
  • Auth: OAuth 2.0 with PKCE(MCP 클라이언트가 flow 처리)
  • Session: Mcp-Session-Id header(initialize 시 자동 발급)
  • Discovery: GET https://ainecto.com/.well-known/oauth-provider

보통 이 endpoint를 직접 호출하지는 않습니다. Claude Code, Cursor 같은 MCP 클라이언트가 대신 프로토콜을 처리합니다.


인증

Ainecto는 MCP 클라이언트를 위한 OAuth 2.0 authorization server로 동작합니다.

  1. MCP 클라이언트가 사용자를 Ainecto authorization page로 redirect합니다.
  2. 사용자는 로그인하거나 기존 세션을 사용하고 consent를 승인합니다.
  3. Ainecto가 클라이언트에 access token을 발급합니다.
  4. 클라이언트는 모든 MCP call에서 Authorization: Bearer {token} header를 사용합니다.

토큰은 사용자 계정을 대표합니다. MCP를 통한 모든 동작은 사용자 권한을 따르며, 각 project와 document 권한도 동일하게 적용됩니다.

MCP는 요금제 제한이 있습니다. Free에는 MCP 접근이 포함되지 않으며 Pro와 Enterprise에서 사용할 수 있습니다.


지원 클라이언트

Ainecto는 다음 클라이언트를 기준으로 테스트 또는 설계되었습니다.

MCP를 지원하는 다른 도구도 같은 프로토콜로 연결할 수 있습니다. 차이는 클라이언트별 설정 형식뿐입니다.


연결 후 해볼 수 있는 일

AI 클라이언트에서 다음처럼 요청해 보세요.

List all my Ainecto ERD documents.
Show me the columns of the users table in ERD document <uuid>.
Add a soft_delete_at timestamp column to all tables in ERD document <uuid>.
Use a description "Add soft delete support".
Create a new table called notifications in ERD document <uuid>:
- id (bigint, PK, auto-increment)
- user_id (bigint, FK to users.id)
- message (text, not null)
- read_at (timestamp, nullable)
- created_at (timestamp, default now)

Then create a foreign key from notifications.user_id to users.id with on_delete=cascade.

어시스턴트가 이를 mcp__ainecto__list_documents, mcp__ainecto__erd_get_table, mcp__ainecto__erd_create_tables, mcp__ainecto__erd_apply_changes 같은 tool call로 변환합니다. Ainecto가 변경을 적용하고 version snapshot을 자동 생성합니다.


다음 단계