MCP 서버
Claude Code, Cursor, VS Code 같은 AI 에이전트가 Ikiform MCP 서버를 통해 폼, 제출, 웹훅을 관리하게 하세요.
Ikiform은 원격 Model Context Protocol 서버를 운영합니다. AI 에이전트에 연결하면 에이전트가 워크스페이스에서 폼을 만들고, 연결하고, 설정하고, 제출을 읽고 분류하고, 웹훅을 설정하고 디버깅할 수 있습니다. REST API와 같은 시크릿 키와 스코프를 사용합니다.
| URL | https://ikiform.com/mcp |
| 전송 방식 | Streamable HTTP, 무상태, POST 기반 JSON-RPC |
| 인증 | Authorization: Bearer ik_sk_... |
| 레이트 리밋 | 키당 분당 100회 요청, REST API와 공유 |
키 만들기
대시보드에서 시크릿 키를 만들고 에이전트에 필요한 스코프만 부여하세요. 모든 도구는 키를 소유한 워크스페이스에서 동작합니다. 키를 저장소에 넣지 말고, 환경 변수나 클라이언트의 시크릿 입력 창을 사용하세요.
| 스코프 | 도구 |
|---|---|
forms:read | list_forms, get_form, 그리고 form_id를 넘긴 connect_form |
forms:write | create_form, update_form, set_form_fields, delete_form |
submissions:read | list_submissions, get_submission |
submissions:write | mark_spam, mark_not_spam, delete_submission |
webhooks:read | list_webhook_endpoints, list_deliveries |
webhooks:write | create_webhook_endpoint와 update_webhook_endpoint(submissions:read 필요), roll_webhook_secret, delete_webhook_endpoint, send_test_event, replay_failed_deliveries |
forms:read와 forms:write면 충분합니다. 읽기 전용으로 분류만 하려면 submissions:read를 사용하세요. 스코프 없이 도구를 호출하면 빠진 스코프를 알려 주는 forbidden 오류가 반환됩니다.클라이언트 연결하기
claude mcp add --transport http ikiform https://ikiform.com/mcp \
--header "Authorization: Bearer ik_sk_..."Cursor에서는 환경에 IKIFORM_API_KEY를 설정하세요. VS Code는 처음에 키를 묻고 안전하게 저장합니다. 커스텀 헤더를 지원하는 원격 HTTP 서버용 클라이언트라면 모두 같은 방식으로 작동합니다.
Ikiform은 공식 MCP Registry에 io.github.preetsuthar17/ikiform으로 등록되어 있습니다. Claude Code에서는 Ikiform 플러그인이 서버와 폼 연결용 스킬을 추가합니다. claude plugin marketplace add preetsuthar17/ikiform-plugin을 실행한 다음 claude plugin install ikiform@ikiform을 실행하세요.
도구
ID는 폼이 frm_..., 제출이 sub_..., 웹훅 엔드포인트가 whk_..., 전송이 dlv_... 형식입니다. 목록은 기본 25개, 최대 100개를 반환합니다. has_more가 true이면 next_cursor를 cursor로 넘기세요.
| 도구 | 하는 일 |
|---|---|
list_forms | 최신순 폼 목록. ID, 이름, 상태, 제출 수, 엔드포인트 포함 |
get_form | 폼의 엔드포인트, 필드, 허니팟 필드, 허용 도메인, 리디렉션 URL, 코드 스니펫, 설정 안내 |
create_form | 이름으로 폼을 만듦. 허용 도메인과 리디렉션 URL은 선택 사항 |
update_form | 폼을 일시 중지하거나 다시 시작하고, 이름, 허용 도메인, 리디렉션 URL, 스팸 검사, 레이트 리밋, 이메일 알림을 변경 |
set_form_fields | POST를 검증할 필드 스키마를 게시하거나 제거 |
delete_form | 폼을 삭제. 폼의 엔드포인트는 더 이상 POST를 받지 않음 |
list_submissions | 최신순 제출 목록. 폼, 상태(received 또는 spam), 날짜로 필터링 |
get_submission | 제출 하나와 그 필드, 메타데이터, 스팸 점수 |
mark_spam, mark_not_spam | 제출을 스팸으로 옮기거나 되돌리고, 해당 웹훅을 보냄 |
delete_submission | 제출을 영구 삭제. 되돌릴 수 없음 |
list_webhook_endpoints | 엔드포인트의 URL, 상태, 이벤트, 실패 상태. 시크릿은 반환하지 않음 |
create_webhook_endpoint | 엔드포인트를 추가하고 서명 시크릿을 한 번만 반환 |
update_webhook_endpoint | 엔드포인트의 URL, 폼, 이벤트, 사용자 지정 헤더를 변경하거나 끄고 켬 |
roll_webhook_secret | 새 서명 시크릿을 반환. 이전 시크릿은 24시간 동안 계속 작동 |
delete_webhook_endpoint | 엔드포인트와 전송 기록을 삭제 |
list_deliveries | 엔드포인트의 최근 전송과 상태, 시도 횟수, 마지막 오류 |
send_test_event | 활성 엔드포인트에 서명된 endpoint.test 이벤트를 보냄 |
replay_failed_deliveries | 최근 24h, 3d, 7d 동안 실패한 전송을 다시 보냄 |
서버는 connect_form 프롬프트도 제공합니다. 프로젝트에 폼을 연결하는 단계별 안내로, form_id를 넘기면 폼의 엔드포인트와 필드가 채워집니다.
이렇게 요청해 보세요
- “이 프로젝트의 문의 폼을 Ikiform에 연결해 줘.”
- “대기자 명단 폼에서 지난주 스팸을 보여 주고, 진짜처럼 보이는 건 복원해 줘.”
- “웹훅이 왜 실패하지? 핸들러를 고치고, 테스트를 보낸 다음, 오늘 실패한 걸 다시 보내 줘.”
- “새 대기자 명단 가입을 /api/ikiform에 있는 내 API 라우트로 보내고, 시크릿은 .env에 넣어 줘.”
- “예전 문의 폼은 일시 중지하고, 새 폼에는 사람 확인을 켜 줘.”
에이전트는 폼, 제출, 엔드포인트를 삭제하거나, 전송을 재전송하거나, 필드 스키마를 게시하거나, 허용 도메인, 스팸 설정, 레이트 리밋을 바꾸기 전에 먼저 여러분에게 확인을 받아야 합니다. Claude Code 플러그인의 스킬이 그렇게 하도록 안내합니다. 서명 시크릿과 Turnstile 시크릿은 코드가 아닌 환경 변수에 두세요.
Dashboard only
API 키, 멤버, 알림 수신자, 결제는 대시보드에 남아 있으므로 유출된 키로는 키를 만들거나, 사람을 초대하거나, 새 주소로 이메일을 보내거나, 비용을 쓸 수 없습니다.